2009-08-19 25 views
3

我有2個不同長度的文本(最多4000個字符)。我需要基於(部分)解釋來獲得相似率。請注意,相同部分的文本可以在每個文本中位於不同的位置(所以Levenshtein不是解決方案)。兩個文本的相似性(關鍵字的自適應本地對齊?)

比較過程也應當:

  • 沒有增加博覽會。與文本大小
  • 是表現友好。 :)

看來,「關鍵字的自適應局部對齊」是一個可能的解決方案。

你有沒有實現的例子?首選語言是PHP,但我可以翻譯。 :)

您對該主題有任何其他解決方案/想法/經驗嗎?

感謝您的幫助。

回答

4

看看的levenshteinsimilar_text功能,這應該讓你的生活更輕鬆:

編輯:@Toto指出,那些可能不適合對於這個應用程序,請參閱下面的評論。

+0

levenshtein在這種情況下不是解決方案。採取2個序列:'ABC'和'BCA'。用(相同)單詞,(相同)短語或(相同)段落替換每個(相同)字母。即使只是訂單差異,編輯距離也很高。 Levenshtein也是一名殺手(在表現層面上)。 – Toto 2009-08-19 12:24:53

+0

similar_text似乎也是基於字符級別的編輯距離... =>不是解決方案... – Toto 2009-08-19 12:36:11

+0

感謝您的回答。 (我的問題不是很清楚,對於混淆抱歉)。 :)) – Toto 2009-08-19 12:40:45

0

Needleman-Wunsch對於我不得不匹配不同人的同一個名字的應用程序來說工作得很好。