Ruby gem用于文本比较

时间:2012-06-27 00:39:07

标签: ruby-on-rails ruby ruby-on-rails-3

我正在寻找可以比较两个字符串(在这种情况下是文本段落)的宝石,并且能够衡量它们在内容上相似的可能性(可能只重新排列,更改了几个单词)。我相信当用户提交问题时,SO会使用类似的内容。

1 个答案:

答案 0 :(得分:7)

我可能会使用像Diff :: LCS这样的东西:

>> require "diff/lcs"
>> seq1 = "lorem ipsum dolor sit amet consequtor".split(" ")
>> seq2 = "lorem ipsum dolor amet sit consequtor".split(" ")
1.9.3-p194 :010 > Diff::LCS.diff(seq1, seq2).length
 => 2

它使用longest common subsequence算法(the wiki page上描述了使用LCS获取差异的方法)。