任何人都可以推薦一個Perl模塊,它可以比較兩個字符串並返回它們匹配的程度嗎?我廣泛搜索CPAN,儘管有類似的模塊,如String ::大約和數據::比較,它們不是我正在尋找的。假設我有兩個字符串:我愛你和我想你。我想要比較這兩個字符串的功能,考慮到衆多參數,正確順序匹配單詞(愛作爲字符串中的第一個單詞不應該「匹配」愛作爲第二個字符串中的第四個單詞,即使兩個字符串都有該字),但字不匹配,但拼寫幾乎類似(如說愛和loge),字數等,並返回一個索引,例如從0到1的數字1,表示兩個字符串之間的相似程度。有沒有這樣的Perl模塊?用於文本比較的Perl模塊
5
A
回答
6
有很多這樣的模塊。然而,通常情況下,你必須以某種特殊的方式利用它們來解釋你自己的假設。大多數像這樣的字符串比較工具只是實現一種將一個字符串與另一個進行比較的算法。大多數人認爲如果你有特定的決策要做,你會自己編碼。
就個人而言,我不確定我會建議Text::Levenshtein,因爲bug和缺少ut8支持。不過,我也沒有更好的建議。
然而,這些搜索,就會發現許多潛在的模塊,你可以看看,並確定最適合你的目的(根據通用算法做這樣的事情的名稱):
- https://metacpan.org/search?q=levenshtein
- https://metacpan.org/search?q=wagner+fischer
- https://metacpan.org/search?q=edit+distance
如果你有興趣在口語相似之處,你也可以看看我n要註音比較:
+0
哇。大量的資源,將把它們全部放在眼裏。謝謝! – SexyBeast 2012-08-01 17:46:45
相關問題
- 1. 用於比較兩個文件的Perl腳本
- 2. perl文件比較
- 3. perl模塊安裝的make和nmake的比較
- 4. 比較Oracle Forms模塊
- 5. 基於C#的文本比較
- 6. 使用Perl比較兩個文件
- 7. OO:用於Openoffic的Doc-perl模塊
- 8. 比較兩個使用Perl
- 9. 用於生成.doc或.docx文檔文件的Perl模塊
- 10. 是否有任何Python模塊可用於[{},{} ...]比較?
- 11. VB中的類與模塊的比較
- 12. 使用Perl腳本來比較兩個文件
- 13. 文本比較{{if}} JQuery模板
- 14. 多列比較perl的
- 15. perl中%2B的比較
- 16. 安裝的模塊Perl 6的失敗 - 可用於Perl v6.c
- 17. 用於將OWL文件轉換爲OBO的Perl模塊
- 18. Perl - 文件編碼和字比較
- 19. 的UnicodeDecodeError文本比較
- 20. 比較Unix中的文本
- 21. 使用正則表達式(或另一個Python模塊)比較文本/字符?
- 22. numpy模塊陣列與列表比較
- 23. Perl字符串比較
- 24. Perl與MySQL比較日期
- 25. 比較表達式在Perl
- 26. Perl算法比較陣列
- 27. 比較PERL md5()和PHP md5()
- 28. 如何比較在Perl
- 29. 使用jQuery或PHP的文本比較
- 30. 比較文本和文本文件
會http://search.cpan.org/dist/Text-Levenshtein/Levenshtein.pm做你要找什麼對於? – 2012-08-01 16:49:21
嗯,我不確定,關於Levenshtein距離的例子和維基百科文章只是在字比較中處理,沒有字符串比較。所以我不知道它如何將字符串與一些匹配的單詞進行比較,但是在不同的位置上,這不應該成爲匹配。 – SexyBeast 2012-08-01 16:57:49
做這種類型的字符串比較是人類做平凡的事情,但這與計算機很難做到。 – 2012-08-01 17:00:24