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进行

  • 相关阅读:
    PSR-2 编码风格规范
    Git中删除冗余的分支
    linux下ssh连接缓慢详解
    pytest框架之fixture详细使用
    如何利用jenkins插件查看allure报告-----完整篇
    CentOS上安装配置Python3.7
    [Python]requests使用代理
    Selenium
    Python性能分析工具-cProfile
    subprocessf运行window程序
  • 原文地址:https://www.cnblogs.com/dhName/p/12611726.html
Copyright © 2011-2022 走看看