Python 輕量化簡繁轉換

戴德滿發表於2019-02-28

最近專案中用到了簡單的簡繁轉換,如果用OpenCC太重了,於是搜到了 zhconv 這個庫。


zhconv 提供基於 MediaWiki 詞彙表的最大正向匹配簡繁轉換,Python 2, 3 通用。

支援以下地區詞轉換:

  • zh-tw 臺灣正體
  • zh-hk 香港繁體
  • zh-sg 馬新簡體
  • zh-hans 簡體
  • zh-hant 繁體


正好適合我不求轉換質量的輕量需求,所以介紹給更多需要的人。

而且雖然該專案stars很少,但中途發現作者還參與過維護jieba分詞。


呼叫也非常簡單

>>> from zhconv import convert
>>> convert('Python是一種動態的、物件導向的指令碼語言', 'zh-hant')
'Python是一種動態的、物件導向的指令碼語言'
複製程式碼


支援對地區化詞語的轉換

>>> convert('計算機軟體', 'zh-tw')
'計算機軟體'
>>> convert('計算機軟體', 'zh-hans') # zh-hans只是逐字轉換
'計算機軟體'
>>> convert('計算機軟體', 'zh-cn')
'計算機軟體'
複製程式碼


支援 MediaWiki 人工轉換語法

>>> from zhconv import convert_for_mw
>>> s = '張國榮曾在英國-{zh:利茲;zh-hans:利茲;zh-hk:列斯;zh-tw:裡茲}-大學學習。'
>>> convert_for_mw(s, 'zh-hans')
'張國榮曾在英國利茲大學學習。'
>>> convert_for_mw(s, 'zh-hk')
'張國榮曾在英國列斯大學學習。'
>>> convert_for_mw(s, 'zh-tw')
'張國榮曾在英國裡茲大學學習。'
複製程式碼


當然對於複雜高精度的轉換需求,還是建議用專業的OpenCC 開源庫:

https://github.com/BYVoid/OpenCC


歡迎關注

Python 輕量化簡繁轉換

微信公眾號:面向人生程式設計

程式設計思維不應只存留在程式碼之中,更應伴隨於整個人生旅途,這個公眾號不只聊技術,還會聊產品/網際網路/經濟學等廣泛話題,所以也歡迎非程式設計師關注。


相關文章