2012-06-27 15 views
7

私は、2つの文字列(この場合はテキストの段落)を比較し、内容が似ている可能性を測ることができる宝石を探しています。 )。私は、ユーザーが質問を投稿するときに、SOが似たようなものを使用していると思いますRuby gem with text comparison

+0

いつでも単語数を比較できます。それ以上のものは、コンピュータの理解力であり、あなたがしようとしていることをはるかに上回る自分を得ることです。 – Linuxios

答えて

7

私はおそらくデフ:: 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を使用する方法)を使用しています。

+0

ありがとう、Yehuda、あなたがそばにいたのを知らなかった。私の理論的なCSは、Railsとより速く動くテクノロジーに自分自身を掘り起こすほど、錆びなくなってきています。実際、複雑なアルゴリズムを構築することはもうありません。 –