计算2个句子之间的相似度

时间:2014-05-30 12:49:46

标签: javascript string algorithm math levenshtein-distance

我想计算2个句子之间的相似度,我需要的百分比值表示"有多好"他们相互匹配。句子如,

1. The red fox is moving on the hill.
2. The black fox is moving in the bill.

我正在考虑Levenshtein distance,但我不确定这一点,因为它说的是找到" 2个单词"之间的相似性。那么这Levenshtein distance可以帮助我或其他方法可以帮助我吗?我将使用JavaScript。

4 个答案:

答案 0 :(得分:2)

JS string diff

试试这个solution

答案 1 :(得分:1)

使用Jaccard index。你可以找到任何语言的实现,包括JavaScript(here是一个,但没有亲自测试)。

答案 2 :(得分:0)

这就是我要做的,取决于它的重要性。如果这是中等到低优先级,这里是一个简单的算法。

  1. 扫描所有句子,查看单词出现的频率。
  2. 过滤掉最常见的单词,例如30%句子中的单词,即不计算这些单词。所以希望不会被计算在内。
  3. 然后做你的文字比较。
  4. 但是你想要这样做的背景非常重要。即你给我们的例子可能是学生学习英语等等。即如果我试图看人群来源的用户是否描述相同的段落,如果文章主题与建议的阅读部分足够相似,我会使用不同的算法。

答案 3 :(得分:0)

计算两个句子相似度的常用方法是余弦相似性。不知道是否存在JavaScript中的实现。余弦相似性看的是单词而不是单个字母。网络上充满了表达式,例如here