11

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

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

我可以想到一些简单的启发式方法,例如检查字符串是否包含非字母字符,但我希望有一种更健壮和科学的方法来做到这一点。是否有算法方法可以根据发音的难易程度对字符串进行评分?

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


根据评论更新。

  • 由于我是说英语的人,我对英语很感兴趣,但我可以想象一种基于声音和说话方式而不是特定语言特征的算法。
  • 发音是指可以自然读出字符串,可以发音hhdirgxzf但听起来不是一个自然语言单词,它需要被分解。
  • 我想到的一个特定用例是向我发送字符串的地方,我想使用基本的文本到语音系统来大声朗读它们。我想确定让 TTS 系统尝试发音的字符串中的哪些标记,以及让它拼出的标记,如果不自信,就会在拼写方面犯错。
4

3 回答 3

2

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

于 2012-08-29T10:12:31.247 回答
0

这些字符串的来源是什么?如果您自己生成它们,那么您可以尝试生成可能发音的字符串。可能有效的想法包括:

  • 从一个单词开始,用其他元音替换元音,用相似的辅音替换辅音。

  • 生成一个随机的 Soundex 并向后工作到生成该 Soundex 的单词。

  • 连接三个或四个可发音的音节。

  • 辅音和元音交替出现。

  • Lorem Ipsum

于 2012-08-29T11:59:34.440 回答
0

也许计算字母字符,并将它们除以字符串的长度。基于字母字符密度的分数?另外,也许会降低每个数字的分数?

于 2012-08-29T10:06:49.050 回答