本篇文章给大家分享的内容是三种常用的python中文分词工具,有着一定的参考价值,有需要的朋友可以参考一下
这三种分词工具,在这里分享下~
# -*- coding: UTF-8 -*- import os import codecs import jieba seg_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
这里给出张华平老师的github 地址 ,需要用的朋友可以去到老师的git上面 拿到 licence
有两种: 十天的\ 一个月的
当然,详细的代码和安装包我也上传到了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 , wd 1979年 t 出生 vi 于 p 江西 ns 南昌 ns , wd 中国 ns 内地 s 男 b 演员 n 、 wn 电影 n 导演 n 、 wn 投资 n 出品 vi 人 n 、 wn 互联网 n 投资人 n 。 wj
# -*- coding: UTF-8 -*- import os import codecs from 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_list f1 = 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中文分词工具的详细内容。更多信息请关注PHP中文网其他相关文章!