`
xpenxpen
  • 浏览: 731408 次
  • 性别: 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`是一个Java库,专门设计用于将汉字转换为汉语拼音,支持多种拼音输出格式,包括带声调、不带声调以及首字母简写形式。 首先,我们来了解`jpinyin...

    Jpinyin的jar包1.0

    本文将深入探讨Jpinyin库的核心功能及其实现原理。 首先,Jpinyin库的核心功能之一是汉字转拼音。该库利用了Java的Unicode编码,将每个汉字映射到其对应的汉语拼音。它支持GB2312、GBK和UTF-8等多种编码格式,可以...

    jpinyin jdk1.7的jar

    1. **搜索引擎优化**:在构建搜索引擎时,JPinyin可以帮助将关键词转换为拼音,从而实现对拼音关键词的搜索。 2. **数据分析**:在文本挖掘和分析中,通过拼音转换可以进行词频统计、关键词提取等操作。 3. **语音...

    汉字转拼音Jpinyin实例

    `Jpinyin`是一个优秀的开源工具包,专门用于实现这种汉字到拼音的转换功能,同时也支持多音字的处理。本篇文章将深入探讨`Jpinyin`库的基本使用方法、核心功能以及如何通过提供的`JpinyinDemo`示例程序进行实际操作...

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

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

    jpinyin-1.1.8-javadoc.jar

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

    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 ...

    jpinyin-1.0.jar

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

    jpinyin-1.1.6.jar

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

    jpinyin-jdk1.6.jar

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

    jpinyin-1.1.8.jar

    javaweb常用jar包,javaee框架常用jar包,亲测可用,若需其他版本可给我留言

    JPinYin:Java拼音

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

    汉字转拼音jar包

    开发者可以进一步研究源代码,了解其实现原理,甚至根据自身需求进行定制和扩展。 总的来说,"汉字转拼音jar包"是一个强大且实用的工具,它结合了汉字转拼音和繁体字转换两大功能,为Java和Android开发者提供了便捷...

    javachinesepinyin

    “jpinyin-1.0.tgz”和“javachinesepinyin-bundle.zip”则是项目源码或打包资源,供开发者研究和使用。 总的来说,“javachinesepinyin”项目通过创新的HMM模型和Edit Distance算法,为Java环境提供了高效、灵活的...

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

    实现这样的功能,开发者需要考虑以下几个关键知识点: 1. 数据结构与存储: - **数据源**:城市列表的数据可以来源于本地数据库,如SQLite,或者从服务器通过网络请求获取。数据通常以JSON格式传输,包含城市名和...

    中文转拼音Delphi代码示例

    在描述中提到,我们只需要引用一个简单的Pas文件就能完成这个任务。这个Pas文件可能包含了对中文字符集的处理和拼音转换算法。在Delphi中,这样的库通常以组件的形式存在,例如Jedi Library中的JPinyin或者其他的第...

    汉字转拼音助手 v1.0

    这款应用软件的核心功能就是将汉字转化为拼音,其工作原理基于汉语拼音规则,结合现代计算机技术,通过内置的汉字拼音数据库进行查询。用户只需输入想要查询的汉字,软件就会即时显示出该字的标准拼音。此外,对于多...

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

    在Java编程技术中,汉字问题主要涉及到编码的处理和转换,因为Java的默认编码是UNICODE,而我们日常...通过理解汉字编码的基本原理,结合Java的API,可以有效地预防和解决乱码问题,确保程序能够正确处理和显示汉字。

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

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

Global site tag (gtag.js) - Google Analytics