汉语转拼音(带音调和多音字识别)

汉语转拼音
-----带音调和多音字识别

1、  背景

几年前就在网上看到过汉字转拼音的程序,大都就是按汉字的编码转换,单字对应的算法实现的。在网上搜索“汉字转拼音”的文章可以搜索到很多,基本都是同一个算法,各种语言的移植版本都有,但是都有一个共同的缺点,不能支持多音字。比如“重庆”,“重量”这样的词语就不能正确的识别,这在很多应用中会是一个非常大的缺陷,更不用说支持音调。(来自http://sunli.cnblogs.com

2、  解决办法

后来找了很多资料,发现微软的office word2003带有这个汉字转拼音的功能,还有声调,效果比网上的按编码和单字对应的好很多(部分也有不准确,比如“水浒传”的“转”它转成“chuan”了)。但是不知道怎么去用程序调用这个工具。后来又找到调用微软拼音输入法的API调用方法,发现还是不够好。最大的缺点就是固定在了windows平台。所以决定自己实现汉字转拼音的算法。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

3、  汉字转拼音算法实现

中文分词

要实现多音字的识别就需要分词,按照词语的拼音组合,这样就可以解决多音字的问题,也可以解决音调的问题。中文分词在网上可以找到很多的源代码和算法,这里不详细叙述,

词语拼音

实现一个词语拼音的对照库。一个词语一个拼音,这样分出来的词语就可以找到对应的拼音了。到这里还有一个步骤,分词后还会有很多的单字,所以还要一个单字的拼音对照表,这个对照表跟网上常见的那个对照表不一样,他就是单字(不组合成词)的拼音,比如“的”的拼音就是“de,而不会是”di”,因为的确这个词语才是“di”。

组合拼音

把分词后的词语和对照表对应,就去得到了汉语的带音调的拼音了。可以再进过少量处理,就得到无调拼音了。

4、  总结

汉字转拼音的关键地方在分词和分词后的词语拼音对照表上。

汉字转拼音可以运用在很多场合,比如:

1.搜索的下拉框拼音提示

演示:http://www.google.cn

2.输入智能纠错。比如输入“留德华”可以提示“刘德华”
输入“liudehua”也可以提示“刘德华”

3.按拼音检索

5、  演示

 http://dev.oswind.com/pinyin/   
(adsl pc做的服务器
demo.rar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值