Ruby gem用于文本比较

Jac*_*ley 7 ruby ruby-on-rails ruby-on-rails-3

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

Yeh*_*atz 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
Run Code Online (Sandbox Code Playgroud)

它使用最长的公共子序列算法(在wiki页面上描述了使用LCS获取差异的方法).