2012-06-27 77 views
7

我正在尋找一種可以比較兩個字符串(在本例中爲段落文本)的寶石,並且能夠測量它們在內容上相似的可能性(可能只有幾個字被重新排列,更改)。我相信當用戶提交問題時,SO會使用類似的東西。用於文本比較的紅寶石

+0

你可以隨時比較字數。除此之外,任何事情都將是計算機理解,並讓自己遠遠超出你想要做的事情。 – Linuxios

回答

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算法(使用LCS來獲得the wiki page描述一個差異的方法)。

+0

謝謝耶胡達,不知道你掛在SO上。我的理論CS越來越生疏,我越來越深入Rails和更快速的移動技術,實際上我幾乎找不到自己從頭開始構建複雜的算法...... –