Python 使用 OpenCC 实现中文简繁转换,Python 简繁体切换 zhconv

Python 使用 OpenCC 实现中文简繁转换

文章目录
前言
1.1 OpenCC 简介
1.2 OpenCC 安装
1.3 OpenCC 使用
1.3.1 OpenCC 使用示例
1.3.2 OpenCC 参数说明
参考
前言
  本内容主要介绍 Python 使用 OpenCC 实现中文简繁转换。

1.1 OpenCC 简介
  OpenCC(Open Chinese Convert,开放中文转换)是一个开源的中文简繁转换项目。它支持字符和词汇级别的转换、异体字转换和地区习惯用词转换(中国大陆、中国台湾、中国香港和日本新字体)。不支持普通话与粤语的转换。

  OpenCC 具有如下特点:

严格区分「一简对多繁」和「一简对多异」。
完全兼容异体字,可以实现动态替换。
严格审校一简对多繁词条,原则为「能分则不合」。
支持中国大陆、中国台湾、中国香港异体字和地区习惯用词转换,如「裏」「裡」、「鼠標」「滑鼠」。
词库和函数库完全分离,可以自由修改、导入和扩展。
提供多种语言 API:官方提供对 Node.js、JavaScript、TypeScript、Python、C/C++ 的支持,非官方提供对 Swift、Java、Android、PHP、Pure JavaScript、WebAssembly 的支持。
兼容 Windows、Linux、Mac 等多种平台。

1.2 OpenCC 安装
  OpenCC 支持提供了多种语言的 API,和支持命令行操作,并提供了 在线支持。

  本内容仅对 Python 版本进行说明。Python 版本 OpenCC 安装命令

from opencc import OpenCC

cc = OpenCC('t2s')
cc.convert("中文簡繁轉換開源項目,支持詞彙級別的轉換、異體字轉換和地區習慣用詞轉換(中國大陸、臺灣、香港、日本新字體)。不提供普通話與粵語的轉換。")

将输出以下结果:

支持中国大陆、台湾、香港异体字和地区习惯用词转换,如「里」「里」、「鼠标」「滑鼠」。
1
1.3.2 OpenCC 参数说明
  在上面的示例中,对 OpenCC 进行初始化时,会传入一个参数,其表示对应的转换模式。OpenCC 支持以下转换:

参数 说明
s2t 简体到繁体
t2s 繁体到简体
s2tw 简体到台湾繁体
tw2s 台湾繁体到简体
s2hk 简体到香港繁体
hk2s 香港繁体到简体
s2twp 简体到台湾繁体,并转换为台湾常用词汇
tw2sp 台湾繁体到简体,并转换为中国大陆常用词汇
tw2t 台湾繁体到繁体
t2tw 繁体到台湾繁体
hk2t 香港繁体到繁体
t2hk 繁体到香港繁体
t2jp 繁体到日本新字体
jp2t 日本新字体到繁体

参考
[1] OpenCC github

[2] Python – 常用库 – OpenCC(中文繁简体转换)
————————————————
版权声明:本文为CSDN博主「空杯的境界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/benzhujie1245com/article/details/117985770

Python 简繁体切换 zhconv

zhconv 提供基于 MediaWiki 词汇表的最大正向匹配简繁转换。Python 2, 3 通用。支持以下地区词转换:

zh-cn 大陆简体
zh-tw 台灣正體
zh-hk 香港繁體
zh-sg 马新简体
zh-hans 简体
zh-hant 繁體
1
2
3
4
5
6
正好适合我不求转换质量的轻量需求,所以介绍给更多需要的人。
而且虽然该项目stars很少,但中途发现作者还参与过维护jieba分词。

调用也非常简单

>>> from zhconv import convert
>>> convert('Python是一种动态的、面向对象的脚本语言', 'zh-hant')
'Python是一種動態的、面向對象的腳本語言'
1
2
3
支持对地区化词语的转换

>>> convert('计算机软件', 'zh-tw')
'計算機軟體'
>>> convert('計算機軟體', 'zh-hans') # zh-hans只是逐字转换
'计算机软体'
>>> convert('計算機軟體', 'zh-cn')
'计算机软件'
1
2
3
4
5
6
支持 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')
'張國榮曾在英國里茲大學學習。'
————————————————
版权声明:本文为CSDN博主「裸睡的雨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhao_5352269/article/details/111587308

您可能还喜欢...

发表回复