如何在文本中找到相似性

时间:2010-06-26 11:45:07

标签: algorithm text levenshtein-distance

我有一个用户上传文章的数据库。 我想制作一个算法,我的网络应用程序将根据用户阅读的内容建议类似的文本。

我看到了Levenshtein distance等一些例子。但是那些算法测量字符串的距离而不是整篇文章。有没有办法从文本中提取最重要的关键字?当然,我理解“最重要的”是一个含糊不清的术语。

其他网站如何管理?

非常感谢

2 个答案:

答案 0 :(得分:1)

  

有没有办法从文本中提取最重要的关键字?

是。基本上,您从文本中提取所有单词,按频率对单词进行排序,通过将它们与常用单词词典进行匹配来消除常用单词(a,an,the等),并保存前20个或更多单词,从每篇文章的频率来看。

您保存的热门词汇数量与文章的长度和所有文章的主题相关。较少的单词适用于一般兴趣文章,而特殊兴趣文章需要更多的单词,如编程问题的答案。

与超过一半的顶级单词匹配的文章可以被认为是相关的。相关程度取决于匹配的顶部单词的数量和匹配单词的频率。

您可以通过将两篇文章中每个匹配单词的频率相乘并对所有产品求和来计算相关性分数。分数越高,文章越相关。

答案 1 :(得分:0)

您可以尝试按照所有文章中出现的频率更正每个单词的“权重”。因此,相似性的最佳指标是仅出现在两个比较的词中,而不是其他任何地方。这会自动忽略@Gilbert Le Blanc提到的常用词(a,an,the等)。