如何检查字符串是否可以发音?

bra*_*ter 11 algorithm phonetics

我想以编程方式检查字符串是否可以发音或需要拼写出来.

例如,internationalization可以读出,但i18n不能,也不能hhdirgxzf.

我可以想到一些简单的启发式方法,例如检查字符串是否包含非字母字符,但我希望有更强大和科学的方法来实现它.是否有算法方法可以根据发音的容易程度对字符串进行评分?

相关:有没有办法对一个单词的发音难度进行排名?,但我没有列表,我无法预先计算.


根据评论更新.

  • 由于我是英语演讲者,我对英语感兴趣,但我可以想象一种基于声音和说话方式的算法,而不是特定语言的特征.
  • 通过发音我的意思是字符串可以自然地读出,它可以发音,hhdirgxzf但它不会发出一个自然语言单词,它需要被打破.
  • 我想到的一个特定用例是我发送字符串的地方,我想使用基本的文本到语音系统来大声读出它们.我想确定字符串中的哪些令牌让TTS系统尝试发音,哪些令其拼写出来,如果不自信则在拼写错误.

Hig*_*ark 2

首先将单词拆分为音节可能会取得一些成功。 这个问题关于 SO可能会有所帮助。当然,这仅适用于像英语这样使用包含字母且字母包含元音的字母表的语言。