本篇文章給大家分享的內容是三種常用的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中文網其他相關文章!