如何在子串级产生同音字?

2024-09-27 23:23:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用程序生成单词的同音词。意思,听起来与原词相似的词。在

我遇到过Soundex算法,但它只是用其他字符替换一些字符(比如t而不是d)。有没有什么列表或算法稍微复杂一点,至少提供同音子串?在

重要提示:我想把这个应用到字典中没有的单词上,这意味着我不能依赖完整的、真实的单词。

编辑:

输入是一个字符串,通常是一个专有名称,因此没有标准(同音)字典。一个例子可以是谷歌麦当劳(仅举两个受欢迎的命名实体,但许多实体更不受欢迎)。在

输出就是这个字符串的一个(随机)同音字。因为单词通常有不止一个同音字,所以我的目标是一个单一的(随机的)同音字。在谷歌的例子中,同音词可以是古格尔,或者麦当劳的同音字是麦当劳。在


Tags: 字符串程序实体算法列表字典字符单词
1条回答
网友
1楼 · 发布于 2024-09-27 23:23:37

如何做好这项工作是一个研究课题。请参见示例http://www.inf.ufpr.br/didonet/articles/2014_FPSS.pdf。在

但假设你想自己动手。在

第一步是弄清楚如何把给你的字母转换成它的发音。这是一个很难猜到的问题。(例如“读”会发出什么声音?取决于你是要读还是已经读了!)然而{a2}表明阿拉贝特已经为英语解决了这个问题。在

下一步,你会希望字典中的每个单词都这样做。假设你只需要一个词就能做到,那只是一个脚本。在

然后你会希望它存储在一个数据结构中,你可以很容易地找到相似的声音。这在原则上与用于拼写自动更正的算法没有区别。只有用音位而不是字母。您可以了解如何使用http://norvig.com/spell-correct.html进行操作。或者尝试实现http://fastss.csg.uzh.ch/ifi-2007.02.pdf中描述的内容。在

就这样。在

相关问题 更多 >

    热门问题