为了账号安全,请及时绑定邮箱和手机立即绑定

检测单词中的音节

检测单词中的音节

达令说 2019-12-06 14:06:13
我需要找到一种相当有效的方法来检测单词中的音节。例如,看不见-> in-vi-sib-le有一些音节化规则可以使用:V CV VC CVC CCV CCCV CVCC*其中V是元音,C是辅音。例如,发音(5个专业名词; CV-CVC-CV-V-CVC)我尝试了几种方法,其中包括使用正则表达式(仅在您要计算音节时才有用)或硬编码规则定义(被证明是效率很低的蛮力方法),最后使用了有限状态自动机(没有任何有用的结果)。我的应用程序的目的是创建给定语言的所有音节的字典。该词典稍后将用于拼写检查应用程序(使用贝叶斯分类器)和文本到语音合成。如果能在我以前的方法之外给我提示另一种解决此问题的方法,我将不胜感激。我使用Java,但是使用C / C ++,C#,Python,Perl的任何技巧都可以为我工作。
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

阅读有关TeX解决此问题的方法,以进行连接。特别是请参见计算机作者弗兰克·梁(Frank Liang)的论文论文 “字样”。他的算法非常准确,然后针对该算法不起作用的情况提供了一个小的例外字典。


查看完整回答
反对 回复 2019-12-07
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

这是使用NLTK的解决方案:


from nltk.corpus import cmudict

d = cmudict.dict()

def nsyl(word):

  return [len(list(y for y in x if y[-1].isdigit())) for x in d[word.lower()]] 



查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 379 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信