【发布时间】:2015-08-30 20:22:10
【问题描述】:
我想在我的 android 应用程序中以语音方式比较字符串。但这里的特例是,我想比较用英语写的印度语单词。例如,我想检查“Edhu”“Adhu”“Yethu”是否在语音上相等,它们在泰米尔语中的意思都相同。但是使用英语脚本编写印度语言的人使用不同的拼写来制作这个词。在这种情况下如何比较单词?
我试用了 Levenshtein。但我不确定如何将它返回的数字转换为相等。
我试过 Soundex,当单词的第一个字母发生变化时,Soundex 代码是不一样的。但它能够找出相似的发声部分。我不明白它是如何工作的。
soundex.encode("Yethu") (soundex.encode("Edhu")) (soundex.encode("adhu"))
Y300 E300 A300
【问题讨论】:
-
您将无法获得 100% 准确的匹配。 Levenstein 值将告诉您必须对一个字符串进行多少更改,以便与另一个字符串匹配。这与语音无关。您是否有机会将字符串翻译成“基本”泰米尔语,然后在那里进行匹配?
-
@55597 下面的答案对您有帮助还是您需要更多信息?
标签: java android apache-commons soundex phonetics