用C#写了个汉字转拼音的小工具,和网上大部分工具不同,这个能通过分词算法,自动识别多音字,并且提供声调,可开可关。
比如,用"银行 行不行 行家说了算"举例,如果转拼音却不能识别多音字,就惨了。
而这个小工具的效果如图:
实现了3种分词算法:
* 正向最大匹配
* 反向最大匹配
* 双向最大匹配
(其中,双向匹配的歧义处理办法,是本人小小创新的"双贪吃蛇法"。
算法详情参见:http://my.oschina.net/u/1270374/blog/164042)
软件下载:
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里面找到,重新引用一下就行了。
* 词库来源:把 搜狗拼音词库备份bin文件,通过"深蓝词库转换工具",转成"微软拼音输入法"格式的xml,然后用ultraedit查找/替换,去掉了废节点得到的。
* 该功能,如果想正经用于自己的项目,建议整理下词库。词库中有大量错别字词条 和 无用词条,是本人长期用搜狗打字的遗留产物,懒得清理。。。
来源:oschina
链接:https://my.oschina.net/u/1270374/blog/163990