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

  • 相关阅读:
    tomcat 服务器发布网站
    AJAX服务器返回数据 连接数据库查询数据
    MyEclipse jsp 中文乱码
    sql 数据库修复
    jquery checkbox
    Nexus介绍
    navicat for mysql快捷键
    Mysql limit offset用法举例
    tortoiseSVN如何发现和解决冲突?
    maven指定项目的构建、打包和tomcat插件的pom.xml配置
  • 原文地址:https://www.cnblogs.com/dhName/p/12611726.html
Copyright © 2011-2022 走看看