我有一个用户上传文章的数据库。我想制作一种算法,让我的网络应用程序根据用户阅读的内容建议类似的文本。
我看到了一些例子,比如Levenshtein distance。但是这些算法测量的是字符串的距离,而不是整篇文章的距离。有没有办法从文本中提取最重要的关键字?当然,我理解“最重要”是一个模棱两可的术语。
其他网站如何管理这个?
多谢
我有一个用户上传文章的数据库。我想制作一种算法,让我的网络应用程序根据用户阅读的内容建议类似的文本。
我看到了一些例子,比如Levenshtein distance。但是这些算法测量的是字符串的距离,而不是整篇文章的距离。有没有办法从文本中提取最重要的关键字?当然,我理解“最重要”是一个模棱两可的术语。
其他网站如何管理这个?
多谢
有没有办法从文本中提取最重要的关键字?
是的。基本上,您从文本中提取所有单词,按频率对单词进行排序,通过将常用词(a、an、the 等)与常用词典匹配来消除它们,然后保存前 20 个或更多的词他们的频率,从每篇文章。
您保存的热门词的数量与文章的长度和所有文章的主题有关。一般感兴趣的文章需要更少的词,而特殊兴趣的文章需要更多的词,比如编程问题的答案。
匹配超过一半的热门词的文章可以被认为是相关的。相关程度将取决于匹配热门词的数量和匹配词的频率。
您可以通过将两篇文章中每个匹配词的频率相乘并将所有乘积相加来计算相关性分数。分数越高,相关文章越多。
您可能会尝试通过每个单词在所有文章中出现的频率来纠正它的“权重”。因此,最好的相似性指标将是仅出现在两个比较的词中而不出现在其他任何地方的词。这将自动忽略@Gilbert Le Blanc 提到的常用词(a、an、the 等)。