本帖最后由 butaixianran 于 2013-9-26 12:45 编辑
用C#写了个汉字转拼音的小工具,和网上大部分工具不同,这个通过分词算法,解决了多音字的问题,并且提供声调,可开可关。
如题,用"银行 行不行 行家说了算"举例,如果转拼音却不能识别多音字,就惨了。 而这个小工具的效果如图:
实现了3种分词算法:
* 正向最大匹配
* 反向最大匹配
* 双向最大匹配
(这个双向匹配的歧义处理办法,是本人创新的"双贪吃蛇"算法。 算法介绍和代码看这里:http://my.oschina.net/u/1270374/blog/164042)
词典来自于: 搜狗拼音输入法词库备份bin文件,用"深蓝词库转换工具",转成"微软拼音词库"后,用ultraedit查找/替换掉用不上的废行,得到的xml文件。 含约17万的词库。
转成微软拼音词库格式是因为只有它提供声调。如果愿意,你可以使用自己的词库。 ----------下载------------ 软件下载:
http://pan.baidu.com/s/1mTg3T ---------源码下载------------- 百度网盘:
http://pan.baidu.com/s/1ED1Ls
腾讯微云:
http://url.cn/PnnMOU 代理的注释非常多,所以即使是新手也能很容易看懂。
源代码使用注意:
* bin/release目录下,已经包含了生成的软件。 * 显示拼音时,因为词库的中文单字非常不全,我引用了微软的ChnCharInfo.dll,来获得一些单字拼音。这个库是要下载Visual Studio International Pack安装到系统才会有的。 不过你可以直接从bin/release里面找到,自己重新引用一下就行了。
|