`
xpenxpen
  • 浏览: 703324 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JPinyin实现原理简单研究

 
阅读更多
java写的拼音转换工具包,搜到3款,分别是pinyin4j, JPinyin,chineseandpinyin。
个人评估下来JPinyin比其他2款稍微好一些,功能多一些,实现的代码也少一些。

1.汉字转拼音
看了一下代码,其实思路很简单。就是搞一张字典表,存了所有汉字对应的拼音。
这里以JPinyin为例,pinyin.db文件里存了所有汉字对应的拼音。

\u3007=l\u00edng
\u4e00=y\u012b

unicode代换以后就是
〇=líng
一=yī


简单吧,这个文件把常用的20903个汉字都存了,到时候一次性读到内存中作为HashMap来查汉字对应的拼音。

2.多音字
另一个文件里存了常见多音字包括词组、成语、地名等。
mutil_pinyin.db
阿姨=ā,yí
阿谀=ē,yú

到时候还是读到内存中作为HashMap来查

3.简体繁体转换
chinese.db
與=与
萬=万

还是用一个文件存了所有简繁汉字的对照表。

4.总结
可以看到,实现思路相当简单,就是通过事先准备好一张表格,蛮力的方法来实现了拼音转换功能。如果考虑加上lucene的中文分词器的话,多音字的识别可能效果会更好。

另外一款pinyin4j的代码稍显啰嗦,还使用了HP的XML解析包,完全没必要。
另外提一点,3款工具的共同缺点是,作为开源项目,稍显的粗糙了。比如没有单元测试啦,单元测试跑不通啦,maven工程版本号不规范啦等等,显得不是很专业。这也让我们看到了国内项目尚和国外项目的差距。
0
0
分享到:
评论
1 楼 qindongliang1922 2015-07-01  

确实是规范有点欠缺,不过这种东西,一般都作为一个小功能,引入它的jar包,自己稍微包装下,实用就行

相关推荐

    用jpinyin项目实现汉字转拼音

    用jpinyin项目实现汉字转拼音

    jpinyin-jdk1.6.jar

    JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。 【JPinyin主要特性】 1、准确、完善的字库; Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,JPinyin能转换除46个异体字...

    汉字转拼音Jpinyin实例

    汉字转拼音开源工具包Jpinyin的demo程序,支持多音字的转换等。

    jpinyin-1.1.8-javadoc.jar

    JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。主要特性: 1、准确、完善的字库; Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,JPinyin能转换除46个异体字(异体字不...

    Jpinyin的jar包1.0

    JPinyin,java实现汉字转换为拼音,并自动识别常用多音字,还支持简体转换为繁体,检查是否为简体,是否为繁体,是否为中文字符等功能

    jpinyin jdk1.7的jar

    JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。

    Jpinyin 2017年2月版本 jar包

    JPinyin是一个汉字转拼音的Java开源类库,本jar资源是根据其官网2017年2月版本代码编译而成。 JPinyin支持多种拼音输出格式:带音标、不带音标、数字表示音标以及拼音首字母输出格式; 4、常见多音字识别; ...

    jpinyin.jar

    JPinyin是一个汉字转拼音的Java开源类库 在PinYin4j的功能基础上做了一些改进 github地址https: github com stuxuhai jpinyin 使用方法: String str "你好世界"; PinyinHelper convertToPinyinString ...

    一个汉字转拼音的Java开源类库-JPinyin

    jpinyin - A opensource java library for converting chinese to pinyin JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。 【JPinyin主要特性】 1、准确、完善的字库; Unicode...

    jpinyin-1.0.jar

    jpinyin-1.0.jar目前 Java 汉字转拼音类库较少,比较常用的有 pinyin4j ,但 pinyin4j 缺少对生僻字的支持,无法转换 525 个生僻字的拼音。因汉字转拼音功能在中文搜索及中文排序领域具有重要的作用,而 pinyin4j 的...

    jpinyin-1.1.6.jar

    用于拼音与汉字的解析的jar包。下载后,直接放在工程目录下的libs包下。

    JPinYin:Java拼音

    JPinYin pinyin for java 词库基于 并进行了修正和补充。 特性 支持将中文文本转换为拼音,完美支持含有多音字的词汇。 支持中文句子转换成拼音 支持转换为用于链接的拼音字符串,只转换汉字部分,去掉符号。 可指定...

    城市列表(按照字母分组排序)

    城市列表(按照字母分组排序),用于用户选择城市进行定位

    汉字转拼音助手 v1.0

    汉字转拼音助手可以快速查询你不会读的字的拼音,下面的字你会读吗?魑魅,耄耋,饕餮,沆瀣,鹰隼,睚眦,茕茕孑立 ...如果不会,请下载这个汉字转拼音助手查查吧!

    Java 编程技术中汉字问题的分析及解决

    Java 编程技术中汉字问题的分析及解决

    zici:字词:收集国学汉语字词拼音相关资源

    收集国学/汉语字词拼音相关资源,以备研究学习使用,欢迎补充。 离线采集性资源 字词频率 来自 资源 单字频率列表: | | 双字组频率列表: 拼音语音 来自资源,仅供学习使用,如有侵权请 email 告知。 汉字转拼音 ...

    pinyinUtil.java

    最近有汉字转拼音需求,发现公司使用的工具类比较老了,多音字自持不怎么号,就自己写了汉语转拼音工具类,主要是对Jpinyin进行了整合优化,支持多音字,简繁体互转,并支持自定义字典,词典,工具类可以直接使用

    cn-regions-db:县及县以上行政区划代码数据库

    县及县以上行政区划代码数据库(截止2014年10月31日)特点以行政区划代码作为主键支持名称与单位分离,如果全称可被拆分支持拼音检索(数据由jpinyin提供)说明表cn_region中的数据直接来自国家统计局,可作数据存根...

    汉字转拼音

    此jar包能够,将汉字转为拼音而且对于多音字的识别较好,同时支持多种格式转化。

Global site tag (gtag.js) - Google Analytics