百分比相似性分析(Java)

Mr *_*ooL 4 java similarity

我有以下情况:

字符串a ="网络爬虫是一种自动浏览万维网互联网的计算机程序"; 字符串b ="Web Crawler计算机程序浏览万维网";

是否有任何想法或标准算法来计算相似性的百分比?

例如,在上述情况下,通过手动查看估计的相似度应为90%++.

我的想法是对两个字符串进行标记,并比较匹配的标记数量.类似的东西(7个令牌/ 1个令牌)*100.但是,当然,这种方法根本没有效果.比较匹配的字符数也似乎无效....

任何人都可以给一些指导???

以上是我的项目Plagiarism Analyzer的一部分.

因此,匹配的单词将完全相同而没有任何同义词.

在这种情况下唯一的问题是如何计算相当准确的相似性百分比.

非常感谢任何帮助.

Tom*_*vic 5

康拉德指出,你的问题很大程度上取决于你所说的"相似".一般来说,我会说以下准则应该是有用的:

  • 通过将单词缩小为基本形式并将其小写来标准化输入
  • 使用单词频率列表(可在网上轻松获得)并使单词的"相似性相关性"与其在频率列表上的位置成反比
  • 计算总句子相似度,作为两个句子中出现的词语的总体相似度除以句子的总相似性相关性

你可以改进技术,包括单词形式,句子单词顺​​序,synonim列表等之间的差异.虽然你永远不会得到完美的结果,你有很多调整的可能性,我相信一般来说你可能会得到非常有价值的相似性度量.