pyhanlp 繁簡轉換之拼音轉換與字元正則化

adnb34g發表於2019-06-28


繁簡轉換

HanLP 幾乎實現了所有我們需要的繁簡轉換方式,並且已經封裝到了 HanLP 中,使得我們可以輕鬆的使用,而分詞器中已經預設支援多種繁簡格式或者混合。這裡我們不再做過多描述。

 

· 說明

· HanLP 能夠識別簡繁分歧詞,比如印表機 = 印表機。許多簡繁轉換工具不能區分“以後”“皇后”中的兩個“後”字, HanLP 可以。

· 演算法詳解

· 《漢字轉拼音與簡繁轉換的 Java 實現》

 

 

漢字轉拼音

 

HanLP 中的漢字轉拼音功能也十分的強大。

 

· 說明

· HanLP 不僅支援基礎的漢字轉拼音,還支援聲母、韻母、音調、音標和輸入法首字母首聲母功能。

· HanLP 能夠識別多音字,也能給繁體中文注拼音。

· 最重要的是, HanLP 採用的模式匹配升級到 AhoCorasickDoubleArrayTrie ,效能大幅提升,能夠提供毫秒級的響應速度!

· 演算法詳解

· 《漢字轉拼音與簡繁轉換的 Java 實現》

 

 

拼音轉中文

 

HanLP 中的資料結構和介面是靈活的,組合這些介面,可以自己創造新功能,我們可以使用 AhoCorasickDoubleArrayTrie 實現的最長分詞器,需要使用者呼叫 setTrie() 提供一個 AhoCorasickDoubleArrayTrie

 

 

字元正則化

 

演示正規化字元配置項的效果(繁體 -> 簡體,全形 -> 半形,大寫 -> 小寫)。

該配置項位於 hanlp.properties 中,通過 Normalization=true 來開啟(現在直接通過 HanLP.Config.Normalization 開啟即可)。

 

切換配置後必須刪除 CustomDictionary.txt.bin 快取,否則隻影響動態插入的新詞。

在我動筆前一個星期,已經有同學新增了,新增自定義詞典之後,自動刪除快取的功能。地址請點選 https://github.com/hankcs/HanLP/pull/954 ,現在只需要開啟正則化即可

 

 

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, 已經 , 新增 , , 新增 , 自定義 , 詞典 , 之後 , ,, 自動 , 刪除 , , , , 功能 , ,, 現在 , , 需要 , 開啟 , , , , 即可 ]

 

---------------------

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2649016/,如需轉載,請註明出處,否則將追究法律責任。

相關文章