最近项目中用到了简单的简繁转换,如果用OpenCC
太重了,于是搜到了 zhconv 这个库。
zhconv 提供基于 MediaWiki 词汇表的最大正向匹配简繁转换,Python 2, 3 通用。
支持以下地区词转换:
-
zh-tw
台灣正體 -
zh-hk
香港繁體 -
zh-sg
马新简体 -
zh-hans
简体 -
zh-hant
繁體
正好适合我不求转换质量的轻量需求,所以介绍给更多需要的人。
而且虽然该项目stars很少,但中途发现作者还参与过维护jieba分词。
调用也非常简单
|-----------------|----------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4
| hljs python >>> from zhconv import convert >>> convert('Python是一种动态的、面向对象的脚本语言', 'zh-hant') 'Python是一種動態的、面向對象的腳本語言' 复制代码
|
支持对地区化词语的转换
|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7
| hljs python >>> convert('计算机软件', 'zh-tw') '計算機軟體' >>> convert('計算機軟體', 'zh-hans') # zh-hans只是逐字转换 '计算机软体' >>> convert('計算機軟體', 'zh-cn') '计算机软件' 复制代码
|
支持 MediaWiki 人工转换语法
|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9
| hljs python >>> 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
开源库: