【问题标题】:What's a Good package for Phonetic Representation for Various Human Languages?什么是用于各种人类语言的语音表示的好包?
【发布时间】:2012-01-25 20:43:09
【问题描述】:

我目前正在开展一个项目,我认为能够提出各种语言的单词的语音表示会非常有帮助。我知道 Aspell 做得很好,但我不认为有一个非常简单的方法来获取他们的语音表示,所以我问:有没有其他好的包来获取给定单词和语言的单词的语音表示/方言/口音/无论它来自什么?

这不需要使用任何特定的语言,但如果是 Perl,那就最好了。

我已经尝试过 Soundex、Metaphone、DoubleMetaphone 和 Text::Phonetic 中的所有其他东西,但这些东西都不是很好 - 绝对比不上 Aspell 中的东西。

【问题讨论】:

  • 产生拼音是最终目的还是达到另一个目的的手段?
  • 通向另一端的手段。最终,目标是在模糊自动完成算法的实现中使用它。
  • 天哪,这很难。并非最不重要,因为部分单词听起来可能非常不同。 “t”、“th”、“thro”、“throu”、“throw”、“通过”。我怀疑这需要对 AI 进行大量的概率训练,而不是使用语音。您可能想寻找提供该服务的服务。
  • 很难 :) 我认为我的想法是可行的,只要我有一个单词部分可以变成的所有可能音素的列表(即在输入“throug”时,我们应该如果有意义的话,已经为“ough”生成音素。基本上,有一个文本到音素转换的列表会为我做这件事。Aspell 有,但我希望有人已经为语音部分构建了一个 API,所以我会不用自己做。我再等一会,如果还是没有找到,我就自己造一个。

标签: perl translation aspell phonetics


【解决方案1】:

首先想到的是Soundex。当然,还有一个 Perl 模块 Soundex。虽然这旨在从输入生成 soundex“键”,但它可能有助于将不同的变体映射到公共键。

【讨论】:

  • 对不起,我应该提到,我已经尝试过 Text::Phonetic 中的所有内容,包括 Soundex。都不是很好。
  • 作为 Text::Metaphone 的作者,我可以说它不能很好地代表事物的发音方式。 Soundex 更糟糕。它们更适合另一种方式,从听到发音到查找可能是什么单词。
【解决方案2】:

在 CPAN 中有一个包 Text::Aspell。可能有用。

【讨论】:

  • 我之前注意到了这一点,但我想不出一种方法可以通过它直接与 Aspell 的语音表示进行交互:-\
【解决方案3】:

我正在尝试制作一个谷歌风格的建议/纠正系统,它不仅仅基于语音或人工智能,而是基于大量的用户输入。当用户进行搜索,并且没有点击任何链接而是更正输入并再次搜索时,它为谷歌提供了大量关于“正确”写作的数据,而不是语音测试或字典匹配。 主要问题在于人类语言本身,并不是人们以一种确定性的方式说话或写作,更不用说使用多种语言了。 当然,我可能是错的,但如果你需要一个库,让你这样做:

getLanguage(string);

我真的希望看到它起作用。

【讨论】:

  • 是的。拥有大量用户数据也很重要。我已经有了它,它是系统的重要组成部分。语音表示也是一个重要部分,而这是我现在没有的部分。
  • 好吧,你已经准备好了一个好的开始,反之则很痛苦。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-06
  • 1970-01-01
相关资源
最近更新 更多