问题标签 [text-mining]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - Shingleprinting在实践中如何工作?
我正在尝试使用 shingleprinting 来测量文档相似性。该过程包括以下步骤:
- 创建两个文档 D1、D2的5-shingling
- 使用 64 位散列散列每个 shingle
- 选择从 0 到 2^64-1 的数字的随机排列并应用于 shingle 散列
- 对于每个文档,找到结果值中的最小值
- 如果它们匹配,则将其视为正例,如果不匹配,则将其视为负例
- 重复 3. 到 5. 几次
- 用作
positive_examples / total examples
相似性度量
第 3 步涉及生成一个非常长的序列的随机排列。使用 Knuth-shuffle 似乎是不可能的。有什么捷径吗?请注意,最后我们只需要结果排列的单个元素。
algorithm - 文本分类/分类算法
我的目标是[半]自动将文本分配给不同的类别。有一组用户定义的类别和每个类别的一组文本。理想的算法应该能够从人为定义的分类中学习,然后自动对新文本进行分类。任何人都可以建议这样的算法,也许是实现ше的.NET库?
java - Java中的向量空间模型算法获得两个人之间的相似度得分
我正在尝试在 Java 中使用/实现向量空间模型算法,以根据其关键字获得两个人之间的相似度得分。所以我有以下课程:
Person - 有一个关键字列表;
关键字 - 字符串文本;整数分数;
关键字得分是该人对关键字的提及次数。
关于如何在 Java 中实现这一点的任何建议?
问候
nlp - 使用槌进行主题建模
我正在尝试将主题建模与 Mallet 一起使用,但有一个问题。
我怎么知道什么时候需要重建模型?例如,我有这么多从网络上爬取的文档,使用 Mallet 提供的主题建模,我可能能够创建模型并用它推断文档。但随着时间的推移,随着我爬取的新数据,可能会出现新的主题。在那种情况下,我怎么知道我是否应该从头到现在重建模型?
我正在考虑为每个月抓取的文件这样做。有人可以建议吗?
那么,主题建模是否更适合主题数量固定(输入参数 k,主题数量)下的文本。如果不是,我如何真正确定要使用的数字?
matlab - 在 MATLAB 中对文本进行聚类
我想对 MATLAB 中的文本进行分层凝聚聚类。说,我有四句话,
我想把上面四个句子聚类,看看哪个更相似。我知道统计工具箱有类似pdist
测量成对距离、linkage
计算聚类相似度等命令。一个简单的代码如下:
工作正常并返回树状图。
我想知道我可以在上面提到的文本上使用这些命令。有什么想法吗 ?
更新:
感谢阿姆罗。阅读理解并计算字符串之间的距离。代码如下:
我输入了一个字符串,我保存了 4 个字符串。现在我使用levenshtein_distance
函数计算了成对距离。它返回一个矩阵X=[ 17 0 16 18 16]
。
** 我想这是我的成对距离矩阵。类似于 pdist 所做的。是吗 ?
** 现在,我正在尝试输入 X 来计算链接,例如
我得到的输出是:
在 93 大小 Y 处使用 ==> 链接时出错,与 PDIST 函数的输出不兼容。
==> Untitled2 在 20 Z=linkage(X,'single') 出现错误。
为什么这样 ?可以使用联动功能吗?帮助表示赞赏。
更新 2
错误: ???来自非元胞数组对象的元胞内容引用。==> Untitled2 在 22 D(kk,jk)= levenshtein_distance(S1{kk},S2{jk}) 出现错误;
另外,为什么我要从第一个循环内的文件中读取事件?似乎不合逻辑。有点困惑,如果我能以这种方式工作,或者唯一的解决方案是在代码中输入所有字符串。非常感谢帮助。
更新
比较两个句子的代码:
输出 D=18。
WITH 不同的字符串:
D=28。
根据距离,完全不同的句子看起来很相似。我正在尝试做的事情,如果我在 NY 存储了 Fire,我不会存储NY catches fire
。但是,对于第一种情况,我会存储为新信息。
LD 是否足以做到这一点?帮助表示赞赏。
matlab - 如何计算两个句子之间的相似度(句法和语义)
我应该每次取两个句子并计算它们是否相似。我的意思是在句法和语义上都类似。
输入1:奥巴马签署法律。奥巴马签署了一项新法律。
INPUT2: 一辆巴士停在这里。一辆车停在这里。
输入 3:纽约火灾。纽约被烧毁了。
输入 4:纽约发生火灾。50人死于纽约大火。
我不想使用本体树作为灵魂。我编写了一个代码来计算句子之间的Levenshtein 距离(LD),然后确定第二个句子是否:
- 可以忽略(INPUT1 和 2),
- 应该替换第一句(INPUT 3),或者
- 与第一句(INPUT4)一起存储。
我对代码不满意,因为 LD 只计算语法级别(还有什么其他方法?)。如何结合语义(就像公共汽车是一种车辆?)。
代码在这里:
任何帮助表示赞赏。
r - 有没有更好的方法在 R 中创建关键字频率表?
我想对我的 bibtex 文献数据库进行 csv 导出,并分析关键字和期刊之间的相关性。我从一个 csv 文件开始,其中每篇文献包含一行,每篇文献都有一个期刊名称和一个关键字列表,这是一个以斜线分隔的列表。我想得到一个由关键字和计数组成的期刊矩阵。
目前我已经编写了这段代码,但必须有更好的方法,有人有什么想法吗?
所以,这是我的数据结构,我选取了 20 行(似乎)代表了我总共得到的 3000 行。
这就是我的示例数据。在这里,我手动循环数据并构建一个狭窄的结果数据框,我可以使用融化/重塑将其变成我想要的结果。
Now I can take the highest scores and plot a 'heatmap' style graph.
Anyone else want to suggest anything ?
Other things that come to mind are;
- Are there any good ways (in R) to weed out sets of keywords that have the same meaning (ie cat, cats, feline, pussy could all be replaced with cat)
- Is there a way to build the table without looping
EDIT: I've replaced the dummy data with something that's more representative.
nlp - 如何根据上下文从文本中提取单词
我想从用户提供的文本语句中提取相关词。例如。对于“矩形有几条边?”这个问题。单词应该是“矩形”、“边”、“许多”、“如何”。
我们发现我的目标是建立一个 NLP 问答系统。但是现在我只想从问题中提取所需的关键字,问题的范围不是很大。
我遇到过各种数据挖掘工具,但不太确定它们是否真的对此有用。它们似乎有点太高级或不完全相关。
请让我知道是否有任何适合要求的工具,或者我应该继续尝试自己编码。
请提供您认为可能有帮助的任何类型的指针。
r - 使用 R 进行文本检索
我一直在使用 R 的文本挖掘包,它确实是一个很棒的工具。我没有找到检索支持,或者我缺少某些功能。如何使用 R 的文本挖掘包实现一个简单的 VSM 模型?