本篇文章给大家分享的内容是三种常用的python中文分词工具,有着一定的参考价值,有需要的朋友可以参考一下
这三种分词工具,在这里分享下~
1.jieba 分词:
# -*- coding: UTF-8 -*-import osimport codecsimport jiebaseg_list = jieba.cut('邓超,1979年出生于江西南昌,中国内地男演员、电影导演、投资出品人、互联网投资人。')f1 = codecs.open("d2w_ltp.txt","w")print "/".join(seg_list)for i in seg_list: f1.write(i.encode("utf-8")) f1.write(str(" "))
登录后复制
效果:
邓超/,/1979/年出/生于/江西/南昌/,/中国/内地/男演员/、/电影/导演/、/投资/出品人/、/互联网/投资人/。
登录后复制
这里面包括了结巴的分词和写入文件的形式
值得注意的是结巴分词出来的字符编码是 ‘Unicode’ 编码,我们需要把 unicode -> utf-8
2.张华平老师的 NLPIR
(https://github.com/NLPIR-team/NLPIR)
这里给出张华平老师的github 地址 ,需要用的朋友可以去到老师的git上面 拿到 licence
立即学习“Python免费学习笔记(深入)”;
有两种: 十天的 一个月的
当然,详细的代码和安装包我也上传到了CSDN上面,有兴趣的朋友可以看下(还是需要去更新licence)
值得一提,国内多数论文都是用这个分词工具,比较权威
r = open('text_no_seg.txt','r')list_senten = []sentence = '邓超,1979年出生于江西南昌,中国内地男演员、电影导演、投资出品人、互联网投资人。'for i in seg(sentence): list_senten.append(i[0])print "/".join(list_senten)f1 = codecs.open("d2w_ltp.txt","w")for i in seg(sentence): f1.write(i[0]) f1.write(str(" "))
登录后复制
效果:
邓超/,/1979年/出生/于/江西/南昌/,/中国/内地/男/演员/、/电影/导演/、/投资/出品/人/、/互联网/投资人/。
登录后复制
当然NLPIR在在命名实体识别上面也是有着很好的效果:
邓超 nr, wd1979年 t出生 vi于 p江西 ns南昌 ns, wd中国 ns内地 s男 b演员 n、 wn电影 n导演 n、 wn投资 n出品 vi人 n、 wn互联网 n投资人 n。 wj
登录后复制
3.哈工大LTP
# -*- coding: UTF-8 -*-import osimport codecsfrom pyltp import Segmentor#分词def segmentor(sentence): segmentor = Segmentor() # 初始化实例 segmentor.load('ltp_data/cws.model') # 加载模型 words = segmentor.segment(sentence) # 分词 words_list = list(words) segmentor.release() # 释放模型 return words_listf1 = codecs.open("d2w_ltp.txt","w")sentence = '邓超,1979年出生于江西南昌,中国内地男演员、电影导演、投资出品人、互联网投资人。'print "/".join(segmentor(sentence))for i in segmentor(sentence): f1.write(i) f1.write(str(" "))
登录后复制
效果:
邓/超/,/1979年/出生/于/江西/南昌/,/中国/内地/男/演员/、/电影/导演/、/投资/出品人/、/互联网/投资人/。
登录后复制
以上就是三种常用的python中文分词工具的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2264144.html