繁简转换

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

 

·说明

· HanLP能够识别简繁分歧词,比如打印机=印表機。许多简繁转换工具不能区分“以后”“皇后”中的两个“后”字,HanLP可以。

·算法详解

· 《汉字转拼音与简繁转换的Java实现》

 pyhanlp 繁简转换之拼音转换与字符正则化_第1张图片

pyhanlp 繁简转换之拼音转换与字符正则化_第2张图片

 

汉字转拼音

 

HanLP中的汉字转拼音功能也十分的强大。

 

·说明

· HanLP不仅支持基础的汉字转拼音,还支持声母、韵母、音调、音标和输入法首字母首声母功能。

· HanLP能够识别多音字,也能给繁体中文注拼音。

· 最重要的是,HanLP采用的模式匹配升级到AhoCorasickDoubleArrayTrie,性能大幅提升,能够提供毫秒级的响应速度!

·算法详解

· 《汉字转拼音与简繁转换的Java实现》

 pyhanlp 繁简转换之拼音转换与字符正则化_第3张图片

pyhanlp 繁简转换之拼音转换与字符正则化_第4张图片

 

拼音转中文

 

HanLP中的数据结构和接口是灵活的,组合这些接口,可以自己创造新功能,我们可以使用AhoCorasickDoubleArrayTrie实现的最长分词器,需要用户调用setTrie()提供一个AhoCorasickDoubleArrayTrie

 pyhanlp 繁简转换之拼音转换与字符正则化_第5张图片

 

字符正则化

 

演示正规化字符配置项的效果(繁体->简体,全角->半角,大写->小写)。

该配置项位于hanlp.properties中,通过Normalization=true来开启(现在直接通过HanLP.Config.Normalization开启即可)。

 

切换配置后必须删除CustomDictionary.txt.bin缓存,否则只影响动态插入的新词。

在我动笔前一个星期,已经有同学添加了,添加自定义词典之后,自动删除缓存的功能。地址请点击https://github.com/hankcs/HanLP/pull/954,现在只需要开启正则化即可

pyhanlp 繁简转换之拼音转换与字符正则化_第6张图片

 

1| HanLP.Config.Normalization = False

2|

3| [爱听4g]

4| [爱听4G]

5| [, , , G]

6| [, , , ]

7| [, , , ]

8| [喜欢, , ]

9| [hankcs, , , 灣寫, , ]

10|

11| HanLP.Config.Normalization = True

12|

13| [爱听4g]

14| [爱听4g]

15| [爱听4g]

16| [爱听4g]

17| [爱听4g]

18| [喜欢, 4, g]

19 |[hankcs, , 台湾, , 代码]

20| 現在的HanLP已經新增了新增自定義詞典之後,自動刪除快取的功能,現在只需要開啟正則化即可

21| [现在, , hanlp, 已经, 新增, , 新增, 自定义, 词典, 之后, ,, 自动, 删除, , , , 功能, ,, 现在, , 需要, 开启, , , , 即可]