Javascript文本相似度算法

时间:2011-02-18 15:03:51

标签: javascript algorithm text similarity

我正在建立一个应收集各种新闻源的网站,并希望对相似的文本进行比较。我需要的是某种新闻文本相似度算法。   我知道php具有similar_text函数,我不确定它有多好+我需要它用于javascript。   因此,如果有人能够指出我的示例或插件或任何有关如何实现这一点的指示,或者至少在哪里查看并开始调查。

2 个答案:

答案 0 :(得分:12)

Levenshtein距离度量标准javascript implementation,通常用于文本比较。如果你想比较整篇文章或标题,你可能最好不要看看构成文本的单词集(以及这些单词的频率)之间的交叉点,而不仅仅是字符串相似性度量。

答案 1 :(得分:10)

两个文本是否相似的问题是一个哲学问题,只要你没有具体说明它应该是什么意思。考虑字符串“房子”和“鼠标”。从语义层面来看,它们不是很相似,但它们的“物理外观”非常相似,因为只有一个字母不同(在这种情况下,你可以通过Levenshtein distance )。

要确定相似性,您需要适当的文本表示。例如,您可以提取并计算所有n-grams并使用相似性度量比较两个得到的频率向量,例如: cosine similarity。或者,您可以在删除所有stem之后将stopwords字词添加到其根表单中,总结它们的出现次数并使用 this 作为相似性度量的输入。

有很多关于该主题的方法和论文,例如这篇one关于短文。在任何情况下:你想要决定两个文本是否相似的抽象级别越高,它就会越难。我认为你的问题是一个非平凡的问题(因此我的答案相当抽象)......; - )