PW06常见PYTHON中文分词工具

中文分词

中文分词 (Word Segmentation, WS) 指的是将汉字序列切分成词序列。 因为在汉语中,词是承载语义的最基本的单元。分词是信息检索、文本分类、情感分析等多项中文自然语言处理任务的基础。

常见的python中文分词工具

哈工大LTP、jieba和NLPIR

哈工大LTP

LTP为用户提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。 LTP制定了基于XML的语言处理结果表示,并在此基础上提供了一整套自底向上的丰富、高效、高精度的中文自然语言处理模块 (包括词法、句法、语义等5项中文处理核心技术),应用程序接口,可视化工具,以及能够以网络服务使用的语言技术云。 

应用举例:

通过哈工大LTP在线演示网,测试四川大学公共管理学院,我们可以发现:


LTP测试

想了解更多关于哈工大LTP分词工具的可以访问语言云技术平台。

jieba

jieba是基于Python的中文分词工具,它目前支持以下三种分词模式:

1.精确模式:试图将句子最精确地切开,适合文本分析;

2.全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;

3.搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

NLPIR

NLPIR能够全方位多角度对文本进行处理,包括:网络抓取、正文提取、中英文分词、词性标注、实体抽取、词频统计、关键词提取、语义信息抽取、文本分类、情感分析、语义深度扩展、繁简编码转换、自动注音、文本聚类等。

利用NLPIR在线测试工具分析徐志摩的《雪花的快乐》,可以发现:


NLPIR结果

词频统计如图:

词频统计

关键词提取如下图:

关键词提取

接下来主要讲解一下jieba的使用:

jieba的使用

首先,在终端输入命令:

pip3 install jieba

这时就会自动开始下载jieba,我的电脑上下载的是0.39的版本。

启动python,输入:import jieba, 发现没有错误,则证明安装成功。


jieba

紧接着,我们可以开始使用,假设要对他是四川大学公共管理学院的老师做分词,我们可以这样输入: 

测试

输出的结果为:

输出结果

由于是全模式分词,可以发现,其划分的很详细,把几乎可能的词组都分了出来。

自定义词典

观察上面的分词结果,发现川大没有被划分出来,这时我们就要考虑到使用jieba的自定义词典添加,在电脑上添加一个名为a.txt的文本,并在文本中添加川大。

词典格式:一个词占一行;每一行分三部分,一部分为词语,另一部分为词频,最后为词性(可省略),用空格隔开。

通过添加词典后,可以发现,最后的输出结果为:

结果

川大被成功分出!!

提取关键词

这里我们分析徐志摩的《雪花的快乐》,在分析之前只保留文本,将所有标点符号与空行删除,利用jieba.analyse.extract_tags来提取关键词,我们这里输出三个高频关键词,其代码如下:


测试代码

运行结果为:

结果

保存到TXT

为了将分词结果保存到txt,我写了如下代码:


保存代码

其中,c.txt是徐志摩的《雪花的快乐》原文,在b.txt中的生成结果为:

假若/我/是/一朵/雪花/翩翩/的/在/半空/里/潇洒/我/一定/认清/我/的/方向/飞扬/飞扬/飞扬/这/地面/上/有/我/的/方向/不去/那/冷寞/的/幽谷/不去/那/凄清/的/山麓/也/不/上/荒街/去/惆怅/飞扬/飞扬/飞扬/你/看/我/有/我/的/方向/在/半空/里娟娟/的/飞舞/认明/了/那/清幽/的/住处/等/着/她/来/花园里/探望/飞扬/飞扬/飞扬/啊/她/身上/有/朱砂/梅/的/清香/那时/我/凭藉/我/的/身轻/盈盈/的/沾/住/了/她/的/衣襟/贴近/她/柔波/似的/心胸/消溶/消溶/消溶/溶入/了/她/柔波/似的/心胸

运行过程耗时0.976秒

统计词频

jieba统计词频的方式很多,这里我们选用collections.Counter函数进行统计,实现代码如下:


测试代码

点击运行,部分结果如下:


测试结果

最后,利用WORDART做词频图:


词频图

本次实验到此结束。

参考文档: jieba的使用

                    Python中的jieba分词使用手册

                    使用Jieba工具中文分词及文本聚类概念

你可能感兴趣的:(PW06常见PYTHON中文分词工具)