NLPIR、Jieba中文分词工具比较

1.中文分词概念

中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。

2.现有的的中文分词工具

中科院计算所NLPIR http://ictclas.nlpir.org/nlpir/

ansj分词器 https://github.com/NLPchina/ansj_seg

哈工大的LTP https://github.com/HIT-SCIR/ltp

清华大学THULAC https://github.com/thunlp/THULAC

斯坦福分词器 https://nlp.stanford.edu/software/segmenter.shtml

Hanlp分词器 https://github.com/hankcs/HanLP

结巴分词 https://github.com/yanyiwu/cppjieba

KCWS分词器(字嵌入+Bi-LSTM+CRF) https://github.com/koth/kcws

ZPar https://github.com/frcchang/zpar/releases

IKAnalyzer https://github.com/wks/ik-analyzer

3.认识、使用中文分词包

3.1使用中科院计算所NLPIR语义分析系统

打开NLPIR大数据搜索与挖掘共享平台


NLPIR界面.png

点击“开始分析”就可以得到分析结果


分词标注.png

此外,还有实体抽取、词频统计、文本分类、情感分析等对分词结果的不同查看方式。


各种操作.png
生成词云.png

3.1.1使用总结

使用中科院计算所NLPIR语义分析系统比较简单,图形化的在线操作方式简单易上手,并且分词结果是符合我们在日常生活中的使用习惯的,分词结果能够被我们接受。在本次分析中,发现了词典中没有收录的新词:“毕业论文”、“信息管理”和“全体老师”。

3.2使用jieba中文分词包

3.2.1 安装jieba

安装相应的包:通过指令语句安装jieba分词包,代码:

pip install jieba

安装jieba.png

3.2.2 使用jieba中文分词

  • 分词cut
jieba.cut : 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型
jieba.cut_for_search : 方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细
待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8
jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用jieba.lcut 以及jieba.lcut_for_search 直接返回 list
jieba.Tokenizer(dictionary=DEFAULT_DICT) : 新建自定义分词器,可用于同时使用不同词典。jieba.dt 为默认分词器,所有全局分词相关函数都是该分词器的映射。

例子

  • 新建一个demo.py文件


    demo.png
  • 执行

python demo.py

分词结果.png

关键词提取

基于TF-IDF(term frequency-inverse document frequency)算法的关键词抽取(逆文档词频)

import jieba.analyse
jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())

  • sentence: 为待提取的文本
  • topK: 为返回几个TF/IDF权重最大的关键词,默认值为20
  • withWeight: 为是否一并返回关键词权重值,默认值为False
  • allowPOS: 仅包括指定词性的词,默认值为空,即不筛选


    关键词抽取.png
  • 运行结果


    关键词抽取结果.png

使用jieba对txt文件进行中文分词


我选用的txt文件是之前爬取到的公管学院官网上面的新闻。
此外,经过事先的查询,由于存在“停用词”,在进行分词的时候可能会扰乱结果,所以在网上下载了停用词表。
代码:

import jieba.analyse

path = '/home/IR02LJC/jieba/ggnews .txt'
file_in = open(path, 'r')
content = file_in.read()

try:
    jieba.analyse.set_stop_words('/home/IR02LJC/jieba/停用词表.txt')
    tags = jieba.analyse.extract_tags(content, topK=100, withWeight=True)
    for v, n in tags:
        #权重是小数,为了凑整,乘了一万
        print(v + '\t' + str(int(n * 10000)))

finally:
    file_in.close()

运行结果显示如下:

[IR02LJC@VM_0_10_centos jieba]$ python demo.py
Building prefix dict from the default dictionary ...
Loading model from cache /tmp/jieba.cache
Loading model cost 0.956 seconds.
Prefix dict has been built succesfully.
我院  1127
学院  961
同学  920
教授  797
2017    795
公共  721
老师  685
四川大学    671
管理  581
2016    506
专业  385
院长  335
讲座  306
姜晓萍 305
研究  262
交流  259
学生  256
社会工作    255
师生  254
副教授 246
研究生 245
发布  239
2015    235
活动  233
大学  230
管理系 224
治理  223
本次  221
学习  219
学术  219
时间  213
MPA 205
工作  199
社会  189
教育  185
哲学  185
发展  183
档案  179
行政  178
社会保障    175
参加  171
中国  169
介绍  167
建设  164
教师  163
举办  162
课程  162
实践  161
论坛  157
哲学系 156
书记  156
合作  155
社会学 154
学科  153
主题  151
十九  151
2018    144
精神  143
信息资源管理  135
会议  130
实习  122
报告  120
下午  119
代表  117
项目  116
2014    115
本科生 114
创新  114
学科建设    114
成功  114
讨论  112
博士  111
发言  111
30  108
国际  107
云贵  107
图书馆 106
研讨会 106
学会  105
教学  104
城市  104
热烈  101
招生  101
成都  100
07  100
主持  99
评估  97
理论  97
分享  96
教职工 96
高校  96
参观  96
见面会 95
本科  94
团队  92
校区  92
同志  91
全国  91
成都市 90
服务  90


  • 词云
    得到分词结果之后,还可以利用在线词云生成工具TAGUL制作词云。
    词云.png

参考链接:https://www.jianshu.com/p/17b48b651d79
https://blog.csdn.net/sinat_34022298/article/details/75943272
https://blog.csdn.net/shijiebei2009/article/details/39696571
https://blog.csdn.net/tracydragonlxy/article/details/79014770

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容