【发布时间】:2011-03-14 07:15:43
【问题描述】:
Metaphone 和 Soundex 是根据字符串的英语发音索引字符串的语音算法。
您是否使用过标准 PHP 库中的函数 metaphone() 或 soundex()?
为了什么?这些函数的实际用途是什么?
【问题讨论】:
标签: php indexing phonetics metaphone
Metaphone 和 Soundex 是根据字符串的英语发音索引字符串的语音算法。
您是否使用过标准 PHP 库中的函数 metaphone() 或 soundex()?
为了什么?这些函数的实际用途是什么?
【问题讨论】:
标签: php indexing phonetics metaphone
您可以在执行拼写检查时使用这些。然后你可以很容易地发现它,例如“phorensics”与“forensics”非常匹配。
【讨论】:
soundex的一个坏例子,因为前导字母始终是单词的第一个字母,所以phorensics是P652,forensics是F652
Phorensics 和 forensics 都使用 metaphone 返回 FRNSKS。
更一般地说,soundex 和 metaphone 可用于查找大声发音时听起来相似的字符串。
这可以在您只是试图找到“正确”拼写的情况之外使用。例如,它可能用于帮助发现错误,例如错误地使用了一个发音正确但拼写正确的单词。
另一个吸引人的用途是尝试找到正确的名称。当我告诉某人我的名字是“Nicholas”时,我看到他们至少尝试使用两个“替代”拼写:Nicolas 和 Nikolas。当他们输入它并且在数据库中找不到我时,soundex 或 metaphone 可能会用来说“没有 Nicolas Knight,但有 Nicholas Knight”。
然而,这些算法实际工作的程度是有争议的。他们偶尔会得出相当奇怪的结果。
【讨论】:
soundex() 或 metaphone()(或等效函数)来帮助搜索姓名,因为正如您所提到的,人们经常搜索基于人的只听他们名字的声音。