是否有任何逻辑来验证一组字母是否可以被认为是一个音标词?


Is there any logic to validate whether a group of letters could be considered a phonetic word?

基本上,如果给我一堆随机的字母,我需要检查一下它在语音上是否可以被认为是一个单词。

我不希望根据字典列表进行验证,因为我并不真正关心这些字母是否构成一个实际的单词。我只需要确定这些字母是否以正确的格式被认为是一个单词。

例如:

aaaaaa // Not valid, because there are no consonants
bbbbbb // Not valid, because no vowels
dogcat // Valid, even though it is not a word, because it phonetically makes what could be considered a word
dapmar // Valid, even though nothing about this is a word, it phonetically works

我意识到几乎任何给定的逻辑都会有例外,所以这不必是一门精确的科学,我只是想抓住大多数,所以最一般的逻辑对我来说是有效的。

我认为这一切都归结为一堆字母是否容易发音。

任何帮助都是感激的,谢谢!

首先防止字母重复超过3次,例如ccc将无效(或者您可以选择除元音以外的所有字母,因此aaaaa, eeeee, uuuuu将是ok的),然后仅在您想要检查某些内容时才从您的语言现有单词列表中检查所有单词,但如果您生成一个可发音的单词,我认为您不需要现有单词。

还请检查这个:发音算法,http://10000ideas.blogspot.fr/2011/07/what-makes-word-pronounceable.html和这个:测量一个单词的发音?

考虑到编写代码在逻辑上检查这一点所花费的时间和精力,您最好获得一个包含尽可能多的英语单词的文件,并将它们放入数组中。这将是你最好的逻辑检查。