Javascript文本相似性算法

Javascript文本相似性算法,javascript,algorithm,text,similarity,Javascript,Algorithm,Text,Similarity,我正在建立一个网站,应该收集各种新闻源,并希望文本进行相似性比较。我需要的是某种新闻文本相似性算法。 我知道php有类似的_text函数,但不确定它有多好,我需要它来编写javascript。 因此,如果有人能给我指出一个例子、一个插件或任何关于如何实现这一点的说明,或者至少从哪里开始调查。有一个Levenshtein距离度量的例子,它通常用于文本比较。如果你想比较整篇文章或标题,最好看看组成文本的词集之间的交叉点(以及这些词的频率)而不仅仅是字符串相似性度量。两个文本是否相似的问题是一个哲学问

我正在建立一个网站,应该收集各种新闻源,并希望文本进行相似性比较。我需要的是某种新闻文本相似性算法。 我知道php有类似的_text函数,但不确定它有多好,我需要它来编写javascript。
因此,如果有人能给我指出一个例子、一个插件或任何关于如何实现这一点的说明,或者至少从哪里开始调查。

有一个Levenshtein距离度量的例子,它通常用于文本比较。如果你想比较整篇文章或标题,最好看看组成文本的词集之间的交叉点(以及这些词的频率)而不仅仅是字符串相似性度量。

两个文本是否相似的问题是一个哲学问题,只要你不明确说明它应该是什么意思。考虑字符串“房子”和“鼠标”。从语义层面看,它们并不十分相似,但它们在“外观”方面非常相似,因为只有一个字母不同(在本例中,您可以选择)

要确定相似性,您需要适当的文本表示。例如,您可以提取和计算所有频率向量,并使用相似性度量对两个结果频率向量进行比较,例如。或者,您也可以在删除所有单词后,将其转换为词根形式,汇总它们的出现次数,并将其用作相似性度量的输入


关于这个主题有很多方法和论文,例如,这篇关于短文的文章。在任何情况下:您想要确定两个文本是否相似的抽象级别越高,就越难确定。我认为你的问题很重要(因此我的回答相当抽象);-)

为什么在JS中特别需要它?当用户访问该站点时,您会意识到这是必须的,您不必在服务器上运行cron作业并将其保存在服务器上(不像服务器端语言那么容易)@Loktar-还有服务器端javascript:)当然,也可以在(客户端)Javascript中通过检索提要并在客户端上合并它们来完成。它将为您节省一台支持服务器端脚本的服务器。是的,但类似的操作传统上是在服务器上完成的,而且速度会快得多。。此外,您还可以只做一次,缓存结果并为新用户提供服务。我怀疑OP指的是类似NodeJS:p的东西。重点是有一个管理员小组,管理员将类似的新闻分组在一起。我有相当多的选择,使他们更容易,但我需要使用时,他们选择一个标题,它比较它的文本与所有其他新闻文本和坚持的最有可能是类似的。