问题标签 [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.

0 投票
1 回答
617 浏览

performance - Shingleprinting在实践中如何工作?

我正在尝试使用 shingleprinting 来测量文档相似性。该过程包括以下步骤:

  1. 创建两个文档 D1、D2的5-shingling
  2. 使用 64 位散列散列每个 shingle
  3. 选择从 0 到 2^64-1 的数字的随机排列并应用于 shingle 散列
  4. 对于每个文档,找到结果值中的最小值
  5. 如果它们匹配,则将其视为正例,如果不匹配,则将其视为负例
  6. 重复 3. 到 5. 几次
  7. 用作positive_examples / total examples相似性度量

第 3 步涉及生成一个非常长的序列的随机排列。使用 Knuth-shuffle 似乎是不可能的。有什么捷径吗?请注意,最后我们只需要结果排列的单个元素。

0 投票
7 回答
15435 浏览

algorithm - 文本分类/分类算法

我的目标是[半]自动将文本分配给不同的类别。有一组用户定义的类别和每个类别的一组文本。理想的算法应该能够从人为定义的分类中学习,然后自动对新文本进行分类。任何人都可以建议这样的算法,也许是实现ше的.NET库?

0 投票
2 回答
8844 浏览

java - Java中的向量空间模型算法获得两个人之间的相似度得分

我正在尝试在 Java 中使用/实现向量空间模型算法,以根据其关键字获得两个人之间的相似度得分。所以我有以下课程:

Person - 有一个关键字列表;

关键字 - 字符串文本;整数分数;

关键字得分是该人对关键字的提及次数。

关于如何在 Java 中实现这一点的任何建议?

问候

0 投票
1 回答
1564 浏览

nlp - 使用槌进行主题建模

我正在尝试将主题建模与 Mallet 一起使用,但有一个问题。

我怎么知道什么时候需要重建模型?例如,我有这么多从网络上爬取的文档,使用 Mallet 提供的主题建模,我可能能够创建模型并用它推断文档。但随着时间的推移,随着我爬取的新数据,可能会出现新的主题。在那种情况下,我怎么知道我是否应该从头到现在重建模型?

我正在考虑为每个月抓取的文件这样做。有人可以建议吗?

那么,主题建模是否更适合主题数量固定(输入参数 k,主题数量)下的文本。如果不是,我如何真正确定要使用的数字?

0 投票
1 回答
8658 浏览

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 是否足以做到这一点?帮助表示赞赏。

0 投票
1 回答
2963 浏览

matlab - 如何计算两个句子之间的相似度(句法和语义)

我应该每次取两个句子并计算它们是否相似。我的意思是在句法和语义上都类似。

输入1:奥巴马签署法律。奥巴马签署了一项新法律。

INPUT2: 一辆巴士停在这里。一辆车停在这里。

输入 3:纽约火灾。纽约被烧毁了。

输入 4:纽约发生火灾。50人死于纽约大火。

我不想使用本体树作为灵魂。我编写了一个代码来计算句子之间的Levenshtein 距离(LD),然后确定第二个句子是否:

  • 可以忽略(INPUT1 和 2),
  • 应该替换第一句(INPUT 3),或者
  • 与第一句(INPUT4)一起存储。

我对代码不满意,因为 LD 只计算语法级别(还有什么其他方法?)。如何结合语义(就像公共汽车是一种车辆?)。

代码在这里:

任何帮助表示赞赏。

0 投票
2 回答
6716 浏览

c# - N-gram 的 C# 算法

我打算使用本文中的 n-gram代码。该算法产生这些三元组结果:

对于文本the quick red

然而wikipedia认为它应该是:

(由“_”表示的空格)。

什么是正确的?还有其他 C# 实现吗?

0 投票
3 回答
1448 浏览

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.

0 投票
2 回答
1771 浏览

nlp - 如何根据上下文从文本中提取单词

我想从用户提供的文本语句中提取相关词。例如。对于“矩形有几条边?”这个问题。单词应该是“矩形”、“边”、“许多”、“如何”。

我们发现我的目标是建立一个 NLP 问答系统。但是现在我只想从问题中提取所需的关键字,问题的范围不是很大。

我遇到过各种数据挖掘工具,但不太确定它们是否真的对此有用。它们似乎有点太高级或不完全相关。

请让我知道是否有任何适合要求的工具,或者我应该继续尝试自己编码。

请提供您认为可能有帮助的任何类型的指针。

0 投票
2 回答
3758 浏览

r - 使用 R 进行文本检索

我一直在使用 R 的文本挖掘包,它确实是一个很棒的工具。我没有找到检索支持,或者我缺少某些功能。如何使用 R 的文本挖掘包实现一个简单的 VSM 模型?