pinyin-plus

汉字转拼音的库,有如下特点

基于拼音词库的数据初始化分词引擎进行分词,准确度高,解决多音字的问题

支持繁体字

支持自定义词库,词库格式同cc-cedict字典格式

api 简单,分为普通模式、索引模式

使用场景

汉字转拼音,常用于索引引擎场景创建拼音的索引,这个场景的问题一般由两种实现路径,一种是直接使用带拼音的的分词 插件,会自动帮你创建出拼音的索引,还有一种就是自己将汉字转换为拼音字符串,采用空格分隔分词来达到定制化索引的目的。 不论哪种实现路径,都离不开分词和拼音转换。pinyin-plus的特点是,索引分词的词库和拼音的词库是基于同一套词库, 所以多音词的准确度特别高,而且词库的格式保留了开源词典的格式,词库可以轻松的定时更新。同时也预留了自定义词库的扩展 接口,保留定制化需求的高优先级

性能

测试服务参见:src/test/java/com/taptap/pinyin/PinYinWebApiTest.java

#pinyin-plus 的压测数据,测试词语:率土之滨

kl@kldeMacBook-Pro-6 arthas % wrk -t16 -c100 -d15s --latency http://localhost:8080/%E7%8E%87%E5%9C%9F%E4%B9%8B%E6%BB%A8

Running 15s test @ http://localhost:8080/%E7%8E%87%E5%9C%9F%E4%B9%8B%E6%BB%A8

16 threads and 100 connections

Thread Stats Avg Stdev Max +/- Stdev

Latency 733.97us 138.45us 16.40ms 96.12%

Req/Sec 8.19k 293.50 8.90k 87.83%

Latency Distribution

50% 718.00us

75% 739.00us

90% 785.00us

99% 1.02ms

1970023 requests in 15.10s, 266.78MB read

Requests/sec: 130469.56

Transfer/sec: 17.67MB

添加依赖

grlade

compile "com.taptap:pinyin-plus:1.0"

maven

com.taptap

pinyin-plus

1.0

使用

//普通模式示例,汉字转换拼音后,单子采用空格隔开输出

@Test

void testToPinYin() {

String pinyin = PinyinPlus.to("率土之滨");

System.err.println(pinyin);

Assertions.assertEquals("shuai tu zhi bin", pinyin);

}

//索引模式示例,汉字转换拼音后,词组采用空格隔开输出

@Test

void testToPinYin2() {

String pinyin = PinyinPlus.toIndex("写的射雕英雄传");

System.err.println(pinyin);

Assertions.assertEquals("xie de shediaoyingxiongzhuan", pinyin);

}

自定义词库

在项目resources目录下,新增custom_cedict_ts.u8文本文件,输入如下格式数据,#开头的为注释,如:

#自定义词库

血花 血花 [xue4 hua1] //

格式保留和开源词库cc-cedict一样的风格,遇到相同的词组,自定义的优先级最高,会覆盖系统默认的词组

鸣谢

本文同步分享在 博客“kailing”(other)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

汉字转拼音函数 linux,汉字转拼音项目pinyin-plus开源相关推荐

  1. 汉字转拼音函数 linux,汉字转拼音占内存更少转换速度更快的程序

    借鉴使用Redis字符操作库SDS,简化程序编写,提高安全性和可移植性. 本汉字转拼音程序仅支持输入字符串是utf-8编码的情况,其它编码,程序会不做处理 原文输出. 将常见20902个汉字的拼音按照 ...

  2. mysql拼音函数_Mysql生成姓名拼音的函数

    一.创建拼音对照表 复制代码 代码如下: -- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS t_base_pinyin ( pin_yin_ varchar(255) ...

  3. 汉字转拼音函数 linux,oracle 汉字转拼音

    1.要有创建过程.函数的权限 -- grant create procedure to user; 2.在命令窗口中,执行以下语句,创建包 CREATE OR REPLACE package GetH ...

  4. python汉字转拼音函数_Hanlp汉字转拼音使用python调用详解

    1.hanlp简介 HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用.HanLP具备功能完善.性能高效.架构清晰.语料时新.可自定义的 ...

  5. mysql 汉字拼音_Mysql中文汉字转拼音的实现(每个汉字转换全拼)

    一.创建拼音对照表 -- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS `t_base_pinyin` ( `pin_yin_` varchar(255) CHARAC ...

  6. mysql汉字转拼音函数

    -- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS `t_base_pinyin` (`pin_yin_` varchar(255) CHARACTER SET gbk ...

  7. SQL 汉字转拼音函数(转)+将表中汉字转拼音

    [叶子函数分享五十四]汉字转拼音函数 分类: SQL函数分享系列2011-03-30 22:10 290人阅读 评论(0) 收藏 举报 /* ----------------------------- ...

  8. (UTF-8)ASP汉字转拼音函数(附Access数据库)

    很久以来没有一个很好的,能够在UTF-8编码的ASP中汉字生成拼音的函数.当使用ASCW得到一个汉字的ASCII码值的时候也是没有任何规律来获得一个汉字的拼音.测试了很久也没有找到一个很好的办法,后来 ...

  9. 讴 mysql 首字母_汉字转全拼音函数优化方案(SQLServer),值得你看看

    去年1月份时写了一篇关于优化汉字转拼音函数的解决方案,当时重点在于优化所举案例只能解决汉字转为拼音的首字母. 前不久收到这样一条短消息 随之我从(CSDN,CNBLOG,51CTO等)搜了几个解决方案 ...

最新文章

  1. poj2002 poj3432 正方形个数 (hash,二分)
  2. Python_基础_5
  3. php时区问题,PHP中遇到的时区问题解决方法
  4. HDOJ 1004:统计气球数
  5. 2017年——秋招面试总结(网宿、美图)
  6. C语言中typedef用法
  7. 基于TI8168平台的16路D1分辨率的DVR方案
  8. 大数据技术原理与应用----大数据概述
  9. 英特尔边缘软件中心介绍
  10. 基于MATLAB产生式系统(植物识别系统)
  11. Idea2017破解下载地址
  12. 常用的JScript代码整理
  13. 00005在java结果输出_浅谈Java反序列化漏洞原理(案例未完善后续补充)
  14. 用MATLAB编写限幅滤波程序,双二阶滤波器之MATLAB设计及C语言实现
  15. Linux的Locale
  16. 机器指令和微指令的关系
  17. 文献 | 肥胖这种病,心理因素是源头?
  18. 矩阵和图结构(图论) 最短路径问题 学习笔记
  19. echarts柱状图数据显示
  20. 锅炉给水泵flash_锅炉给水泵工作原理

热门文章

  1. 中心管理服务器 价格,霍尼韦尔中心管理服务器HUS-XPRO-MAS
  2. Redis持久化配置与操作
  3. ABT 节点 1.1.16 版更新日志 | ArcBlock 动态
  4. Socket配置参数
  5. 贝尔商道赚钱思维36道第14道:天将降奶头乐于斯人也
  6. openstack学习笔记之一:基础知识
  7. 类的数据,成员函数,声明
  8. 移动端小于12px 字体解决方案
  9. sdut oj 3474 汤圆の拯救计划
  10. 深度解析微信移动支付跨平台软件架构