zoukankan      html  css  js  c++  java
  • java 汉字转拼音

    本次调研3种工具pinyin4jjpinyinhanlp经过从 运行时间;词典维护代价;源代码社区活跃程度及更新速度 几方面考虑,推荐使用hanlp进行汉语转拼音

    1. Pinyin4j

    虽然此jar包描述信息包括可以对多音字进行识别,但是其处理逻辑是对多音字取第一个拼音。例如”长”的拼音数组为 result=[“zhang”,”长”].其返回形式永远是result[0]

    因此,此jar包支持通过添加词典的方式,对汉字进行转拼音。词典格式如下:

     

    可以额外增加词典,使用时在程序前加入如下代码即可。字符串为词典的存储路径。

    MultiPinyinConfig.multiPinyinPath="";

    但是此jar包对此词典的存储方式为trie树,虽然效率也较高,相较以下两个效率较低。

    jar最近版本为16版本,较长时间没人维护。

    2.  Jpinyin

    jar也支持通过添加词典的方式对汉字进行转拼音。词典的格式如下:

     

    若需要添加词典,需要下载源码,将原词典的基础上进行添加。

    jar包对词典的存储采用的数据结构为doubleArrayTrie。相较于trie,效率明显提高。

    3. Hanlp

    此包支持原生的mavenjar包的使用,如用这种方式,无法进行词典的扩展。

    因此推荐使用源代码+data的模式进行汉字转拼音。此词典的格式如下:

     

    下载下源代码和data文件后,需在classpath下添加 hanlp.properties文件,通过root=的方式指明data文件夹的位置。

    相对于前两个,此词典的维护方式类似于pinyin4j,十分方便。但是需要源代码的编译(此点又类似于Jpinyin)。但是这个在内存中存储字典采用了DoubleArrayTrie的数据结构+ac自动机的高效检索方式,效率远高于前两者。同时Hanlp也支持其余的nlp操作,为以后添加新功能做了一个小铺垫。同时hanlp.同时社区活跃人数多,更新快。

    因此推荐hanlp进行

  • 相关阅读:
    windows下的tfjs-node安装异常总结
    微信小游戏广告位iphonex底部适配问题
    JS做深度学习3——数据结构
    JS做深度学习2——导入训练模型
    ASP.NET MVC4网站搭建与发布【最新】
    JS做深度学习1——偶然发现与入门
    聊聊H5与JS近几年的黑科技
    Mysql中让两个字段不同时相同的方法
    JUnit4在Eclipse中的使用
    编写DAO,通过JdbcTemplate操作数据库的实践
  • 原文地址:https://www.cnblogs.com/dhName/p/12611726.html
Copyright © 2011-2022 走看看