HanLP极致简繁转换详细讲解

谈起简繁转换,许多人以为是小意思,按字转换就行了。事实上,汉语历史悠久,地域复杂,发展至今在字符级别存在“一简对多繁”和“一繁对多简”,在词语级别上存在“简繁分歧词”,在港澳台等地则存在“字词习惯不同”的情况。为此,HanLP新增了“简体”“繁体”“臺灣正體”“香港繁體”间的相互转换功能,力图将简繁转换做到极致。

关于这些汉语语言上的详情,请参考郭家寶的OpenCC项目。HanLP整合了该项目的词库,用原生的AhoCorasickDoubleArrayTrie算法实现了各语言分支的转换。对于简繁转换模块来说,算法都是类似的,最宝贵的地方在于词库,在此向OpenCC表示敬意和感谢!

快速上手

一个Demo

 

输出

说明

注意在旧版HanLP中,简体“草莓”被转换为“士多啤梨”。后来有用户告诉我“士多啤梨”是香港的用法,不属于通俗意义上的“繁体”,所以在新版中去除了这一转换。而“臺灣”“程式碼”是台湾地区的用法,“台灣”“代碼”则是香港地区的用法,所以

1、System.out.println(HanLP.t2tw("hankcs在臺灣寫代碼"));

2、System.out.println(HanLP.t2hk("hankcs在臺灣寫代碼"));

分别输出了

1、hankcs在臺灣寫程式碼

2、hankcs在台灣寫代碼

这里面存在微妙的不同。

基本定义

简体

HanLP中的简体特指大陆地区的简体字。

繁体

HanLP中的繁体是通俗意义上的繁体中文,即受众最广的繁体表示。如果说OpenCC定义了自己的“OpenCC繁体标准”的话,那么这也可以算得上“HanLP繁体标准”。

香港繁體

指的是香港地区使用的繁体中文,据OpenCC的wiki介绍,属于“香港小學學習字詞表標準”。

臺灣正體

指的是台湾地区使用的繁体中文,即“臺灣正體標準”。

接口一览

HanLP支持上述四种中文任意两种之间的转换:

共计12种接口。命名规范按照X2Y的形式,X表示源语种,Y表示目标语种。

词库

由于我并没有OpenCC作者那样深厚的繁体中文语言知识,所以这些接口未必能完美地满足广大繁体中文用户的需求,希望大家多多包涵,提出宝贵意见。

所有的词库都是以文本方式维护,命名规则与接口保持一致。不过,词典的文本形式只有如下四种:

s2t.txt         t2hk.txt        t2s.txt         t2tw.txt

类似tw2hk的词典并不存在,tw2hk只存在自动推导出的bin文件,其推导规则为

1、逆转t2tw得到tw2t

2、利用t2hk得到tw2hk

推导由HanLP程序控制,用户修改推导过程中用到的四个词典后需要删除推导结果的缓存文件才能生效。其他8种接口的推导过程类似于此,不再赘述。

HanLP极致简繁转换详细讲解相关推荐

  1. HanLP极致简繁转换详细讲解 1

    HanLP极致简繁转换详细讲解 谈起简繁转换,许多人以为是小意思,按字转换就行了.事实上,汉语历史悠久,地域复杂,发展至今在字符级别存在"一简对多繁"和"一繁对多简&qu ...

  2. HanLP极致简繁转换

    为什么80%的码农都做不了架构师?>>>    谈起简繁转换,许多人以为是小意思,按字转换就行了.事实上,汉语历史悠久,地域复杂,发展至今在字符级别存在"一简对多繁&quo ...

  3. java utf8 简繁转换 类库_在Java中进行中文繁体简体转换,基于OpenCC(Open Chinese Convert)方案...

    一.OpenCC介绍 OpenCC (Open Chinese Convert,开放中文转换) 是一个用于中文简繁转换的开源项目,支持词汇级别的转换.异体字转换和地区习惯用词转换(中国大陆.台湾.香港 ...

  4. 汉语言处理工具pyhanlp的简繁转换

    繁简转换 HanLP几乎实现了所有我们需要的繁简转换方式,并且已经封装到了HanLP中,使得我们可以轻松的使用,而分词器中已经默认支持多种繁简格式或者混合.这里我们不再做过多描述. 说明: ·HanL ...

  5. ORACLE简繁转换函数

    oracle的convert函数也可以实现简繁转换,但是经测试存在一些问题,有些字转不了,比如'宣佈',所以自己写了一个简单的,可以实现字字对应的简繁转换.(convert函数能够实现部分的简繁转换已 ...

  6. 网站实时简繁转换解决方案

    最近由于工作需要做了一个将网站转成繁体呈现给用户的功能,后来参看了许多成功案例,发现思路大体都是相同的,我现在将我具体的实现拿出来讨论一下,因为它不可能是一个百分百覆盖的功能,所以希望大家能多提意见. ...

  7. CVCode简繁转换的扩展:GBK与Big5转换

    CVCode使用码表对照的方式实现简繁转换,在Unicode盛行的今天仍然是有其现实意义的.   较常见的应用是,企业内有台籍员工,也有大陆员工,而且简体和繁体的OS都有使用,这样在MIS系统中如何保 ...

  8. NLP之TEA:基于SnowNLP实现自然语言处理之对输入文本进行情感分析(分词→词性标注→拼音简繁转换→情感分析→测试)

    NLP之TEA:基于SnowNLP实现自然语言处理之对输入文本进行情感分析(分词→词性标注→拼音&简繁转换→情感分析→测试) 目录 NLP分词 NLP词性标注 NLP情感分析-TEA NLP常 ...

  9. SQL Server:简繁转换

    代码 --全部的简繁对照 declare @jall nvarchar(4000),@fall nvarchar(4000) select @jall=N'啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸 ...

最新文章

  1. Linux多线程的同步-----信号量和互斥锁
  2. Day 13 老师应该要让课堂有趣吗
  3. Xshell修改颜色(xshell配色)
  4. oracle 自定义函数
  5. 硬盘结构及硬盘错误的解决方法(一)
  6. scala怎么做幂运算_Scala幂(幂)函数示例
  7. leetcode 842. 将数组拆分成斐波那契序列(回溯算法)
  8. java服务端集成极光消息推送--详细开发步骤
  9. 我眼中的ASP.NET Core之微服务 (二)
  10. 计算机黑屏的原因及修复,导致笔记本电脑开机黑屏的原因以及对应的修复方法...
  11. 不到100行代码制作各种证件照
  12. 分布式文件系统(Distributed File System,DFS)
  13. 拉链表取某一天的历史快照
  14. 基于JAVA校园共享单车系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  15. Android 手机安装有微信,还是提示未安装微信
  16. Linux系统制作启动U盘并安装centos 7.6
  17. 7-3 sdut-顺序结构-1 利用海伦公式求三角形面积,了解世界科学史
  18. Android监听是否点击了home键或者锁屏键
  19. 手牵手教你使用ngComponentOutlet创建一个支持自定义插入子组件的angular公共搜索表单组件
  20. Goodwin模型参考自适应控制方案

热门文章

  1. Winform中怎样对窗体进行隐藏,再次打开时仍然保留上次的窗体
  2. 笔试训练1 知识点整理
  3. python join_详解Python中的join()函数的用法
  4. cad2016中选择全图字体怎么操作_LOL无限火力凯隐全图W技能BUG怎么卡 无限火力凯隐全图W技能BUG卡法介绍...
  5. java new url 带密码_获取密码重置URL
  6. 华硕h410csm怎么开启_主板BIOS中的launch CSM选项灰色无法更改的解决方法
  7. 神策数据周文君:杜蕾斯、滴露都在用的品牌数据营销三步法
  8. 神策数据助力海尔落地 6 大智慧厨房在线场景
  9. Hyper-V群集对群集复制
  10. 如何不编程,采集网站评论信息?(视频教程)