最近项目中用到了简单的简繁转换,如果用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 轻量化简繁转换的更多相关文章

  1. JavaScript 使用穷举方式实现内容简繁转换

    场景: 在Web开发中,有时存在对内容进行简体和繁体互相转换的需求,这时我们可以参考以下做法. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 ...

  2. [原创]使用OPENCC库进行简繁转换(C++代码)

    最近公司有一款游戏产品,字库存在问题,希望全自动进行简繁同屏自动转换的行为,减少工作量. 所以自己使用了WINDOWS自带的一些转换函数,但发现大量字出现异常,无法转换(测试iconv也发现无法转换) ...

  3. SQL简繁转换函数

    declare @jall nvarchar(4000),@fall nvarchar(4000) select @jall=N'啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊 ...

  4. javascript 简繁转换

    js 简繁转换 function copy(ob) { var obj=findObj(ob); if (obj) { obj.select();js=obj.createTextRange();js ...

  5. Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)

    一.先摆需求: 1.中文搜索.英文搜索.中英混搜   如:"南京东路","cafe 南京东路店" 2.全拼搜索.首字母搜索.中文+全拼.中文+首字母混搜   如 ...

  6. 汉语言处理工具pyhanlp的简繁转换

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

  7. HanLP极致简繁转换详细讲解

    HanLP极致简繁转换详细讲解 作者: hankcs(大快高级研究员 hanlp项目负责人) 谈起简繁转换,许多人以为是小意思,按字转换就行了.事实上,汉语历史悠久,地域复杂,发展至今在字符级别存在“ ...

  8. js搞定网页的简繁转换

    对网页进行简繁字体转换的方法一般有两种:一是使用<简繁通>这样的专业软件,另外一种是制作两套版本的网页.显然,这两种方法都较为麻烦,而且专业软件一般不能用于免费的空间.笔者在这里给大家提供 ...

  9. Office WORD如何简繁转换

    选中要转换的文字,工具-语言,中文简繁转换.

随机推荐

  1. node项目 Error: Cannot find module 'mongoose'

    这是因为你部署的项目没有添加mongoose,使用 在自己项目的根目录下:npm install mongoose --save

  2. C. Hamburgers

    Polycarpus loves hamburgers very much. He especially adores the hamburgers he makes with his own han ...

  3. Spring AOP初步总结(一)

    学习AOP有段时间了,一直没空总结一下,导致有些知识点都遗忘了,之后会把以前学过的Spring核心相关的知识点总结一轮... 先大体介绍下Spring AOP的特点(均摘自"Spring i ...

  4. Solr6+IKAnalyzer分词环境搭建

    环境要求 Zookeeper版本:zookeeper-3.4.8 JDK版本: jdk1.8. Solr版本:solr-6.4.1 Tomcat版本:tomcat8 ZK地址:127.0.0.1:21 ...

  5. 进程间通信,把字符串指针作为参数通过SendMessage传递给另一个进程,不起作用

    参数发送进程: CString csCmd=AfxGetApp()->m_lpCmdLine; if (!csCmd.IsEmpty()) { pWndPrev->SendMessage( ...

  6. “Debug Assertion” Runtime Error on VS2008 VS2010 winhand.cpp

    I'm writing a C++ MFC program on VS2008 and I'm getting this "Debug Assertion Error" when ...

  7. Android Generate Signed APK: Errors while building APK. You can find the errors )

    开发过程中,总会遇到很多坑: Gradle build finished with 101 error(s) in 1m 35s 424ms 19:23:50 Generate Signed APK: ...

  8. azure 创建redhat镜像帮助

    为 Azure 准备基于 Red Hat 的虚拟机 从 Hyper-V 管理器准备基于 Red Hat 的虚拟机 先决条件 本部分假定你已经从 Red Hat 网站获取 ISO 文件并将 RHEL 映 ...

  9. Windows Live Writer 2012发博客配置和技巧

    一.软件准备: 最新版的是Windows Live Writer 2012,但是不提供单独的安装包,它是和微软其它软件一起的(包括MSN.Window Move Maker等),软件大小为131M,官 ...

  10. LR中常见请求的使用示例

    Action(){ //application/x-www-form-urlencoded //application/json //web_add_auto_header("Content ...