天天看点

【自然语言处理】opencc:中文繁体☞中文简体的转换

在看蚂蚁金服人工智能团队写的一篇关于中文的NLP的论文时,才知道有

opencc

这么个库,可以将中文繁体转为中文简体,大大简化了处理过程。

如果用的

pycharm

直接点开解释器,搜

opencc

,然后install

openCC

即可。也可以在

Terminal

通过

pip install opencc-python -i https: //pypi.doubanio.com/simple

举个栗子:

import opencc

cc = opencc.OpenCC()
print(cc.convert("「開放中文轉換」,是一個致力於中文簡繁轉換的項目,提供高質量詞庫和函數庫"))
           
「开放中文转换」,是一个致力于中文简繁转换的项目,提供高质量词库和函数库
           

可以看下转换效果非常好~

当然,

openCC

是一个类类型,其构造函数还有个参数为

config

config

可取的值有四种,官方文档如下:

t2s - Traditional Chinese to Simplified Chinese
s2t - Simplified Chinese to Traditional Chinese
mix2t - Mixed to Traditional Chinese
mix2s - Mixed to Simplified Chinese
           

默认情况为

t2s

,即繁☞简,

s2t

简☞繁,

mix2t

与繁体中文混合,

mix2s

与简体中文混合。

import opencc

cc = opencc.OpenCC('s2t')
print(cc.convert("「开放中文转换」,是一个致力于中文简繁转换的项目,提供高质量词库和函数库"))
           
「開放中文轉換」,是一個致力於中文簡繁轉換的項目,提供高質量詞庫和函數庫
           

文本转换的栗子:

原文本:

【自然语言处理】opencc:中文繁体☞中文简体的转换
import opencc

cc = opencc.OpenCC()
with open("train.txt", encoding='utf-8') as f:
    stringArr = [line.strip().split('\n') for line in f.readlines()]

with open("convert.txt", mode='w', encoding='utf-8') as f:
    for s in stringArr:
        f.write(cc.convert(s[0]+'\n'))
           

转换后的文本:

【自然语言处理】opencc:中文繁体☞中文简体的转换

继续阅读