應用結巴分詞工具對某文件進行中文分詞。
具體方法如下:
# -*- coding:utf-8 -*-
import jieba
# 加載自定義字典,字典裏面的專有名詞在分詞時就不會被切割
jieba.load_userdict(r"dict.txt")
fileout = open("abstract.txt", "r")
filein = open("cut_result.txt", "w")
for line in fileout:
seglist = jieba.cut(line)
for seg in seglist:
filein.write(seg.encode("gbk") + " ")
filein.write("\n")
filein.close()
fileout.close()
擴展
jieba.cut方法接受兩個輸入參數: 1) 第一個參數爲需要分詞的字符串 2)cut_all參數用來控制是否採用全模式
jieba.cut_for_search方法接受一個參數:需要分詞的字符串,該方法適合用於搜索引擎構建倒排索引的分詞,粒度比較細
import jieba
seg_list = jieba.cut("我來到北京清華大學", cut_all=True)
print "Full Mode:", "/ ".join(seg_list) # 全模式
seg_list = jieba.cut("我來到北京清華大學", cut_all=False)
print "Default Mode:", "/ ".join(seg_list) # 精確模式
seg_list = jieba.cut("他來到了網易杭研大廈") # 默認是精確模式
print ", ".join(seg_list)
seg_list = jieba.cut_for_search("小明碩士畢業於中國科學院計算所,後在日本京都大學深造") # 搜索引擎模式
print ", ".join(seg_list)
Output:
【全模式】: 我/ 來到/ 北京/ 清華/ 清華大學/ 華大/ 大學
【精確模式】: 我/ 來到/ 北京/ 清華大學
【新詞識別】:他, 來到, 了, 網易, 杭研, 大廈 (此處,“杭研”並沒有在詞典中,但是也被Viterbi算法識別出來了)
【搜索引擎模式】: 小明, 碩士, 畢業, 於, 中國, 科學, 學院, 科學院, 中國科學院, 計算, 計算所, 後, 在, 日本, 京都, 大學, 日本京都大學, 深造