有許多流行的算法根據其發音將英語單詞編碼爲字符串。例如,soundex碼是由單個字母后跟三個數字組成的四字符串。如何根據自己的發音計算英文單詞之間的相似度分數?
是否有一種有效的方法來計算0和1之間的相似度分數?
有許多流行的算法根據其發音將英語單詞編碼爲字符串。例如,soundex碼是由單個字母后跟三個數字組成的四字符串。如何根據自己的發音計算英文單詞之間的相似度分數?
是否有一種有效的方法來計算0和1之間的相似度分數?
一種可能性是使用一些編輯距離,例如Levinshtein distance,但不是在實際字上,而是在soundex或phonetic representation中表示。該值可以用輸入的長度重新標準化。
Soundex只能告訴你,如果兩個單詞發音相同,但無法計算兩個單詞之間的相似度。
Metaphone3(其性能比Soundex好得多)具有Result Ranking Algorithm。源代碼售價爲40美元(在240美元/ 260美元的基礎上,您將爲自己的Metaphone的源代碼付費)。
雖然開放源碼版本的Metaphone3 may be found online,但結果排名僅在市場上有售。
我不相信你會找到更好的。
metaphone3可與260美元的結果排名算法打包在一起。該鏈接中的metaphone3免費版本是2010年以前的舊版本。商用的最新版本爲2015
請注意,soundex _codes_專門用於名稱,而不是隨機單詞。保存第一個字母意味着你失去了任何相似性分組;將長度固定爲4會使人造短和長的詞語人爲地相同。它也是基於對語言的過時理解。 – MSalters