Que*_*det 24
歧义在自然语言处理中是一个巨大的问题,但有些任务实际上可以处理模糊性和准确性.事实证明,音节化就是其中之一,所以不要听其他答案.:)
您可以在整个英语词汇表中提出实现正确音节化的算法,但正确编程似乎很复杂.
与往常一样,当手工制作的算法没有太多帮助时,自然语言处理研究人员使用手工标记的语料库,其中包含给定单词的正确答案.然后使用学习算法并且通常提供高精度.您可以使用遵循此方法的LingPipe的音节表(参见"英语音节表").
英语只有很多单词,这就是我们提出词典的方式.这些词典通常包含正确的音节.你可以刮一下reference.com.例如,波形条目包含«un·du·late»,这足以知道有三个音节.
其他类似的词典包括Answers.com,自由词典,Merriam-Webster等.请阅读条款和条件,可能不允许自动检索.不同的词典并不总是 彼此一致.
它对新单词或专有名词没有帮助,但我认为这将是最准确的方法.
另一个相关问题得到了更多的曝光:连字符.但是不要使用它!它用于排版程序,如LaTeX,但只是为了提供一些正确的连字符,而不提供不正确的连字符(高精度,低召回).值得注意的是,只有14个例外,例如.根据词性(动词或名词)具有不同连字符的项目.
如果您认为它足以满足您的需求,请注意TeX连字算法的一些实现存在于其他语言中,例如Python,Perl或Ruby.
Arm*_*yan 14
我正在寻找一个完全准确的算法陈述来计算单词中的音节
没有一个.期.无论你发明什么算法,我都希望找到一个反例.在某些语言中(亚美尼亚语和俄语会浮现在脑海中),算法非常简单 - 计算元音的数量.在其他语言中,例如德语,它不是那么简单但仍然可行.在英语中,我担心,字母和声音之间的转换是绝对不规则的.
例如,
巧合.oi被算作两个音节.但是在煮沸时它只有一个音节.另外,不计算最终元音并不总是准确的.考虑 Penelope或 Hermione这个名字.或香蕉
另一个奇怪的情况是,在没有打印元音的情况下存在音节.例如,table是双音节词,但第二个音节是由b和l之间的不可见声音生成的.另外,不要忘记源自拉丁语的单词,拉丁语可以有很多连续的元音.例如象声词.
所以,没有准确的算法.你可以去的唯一方法是尝试找到一个在很多(我避免使用最多的单词)案例中有效的算法.但在这种情况下,您应该重新定义您的要求.