jieba中文分詞應用

應用結巴分詞工具對某文件進行中文分詞。

具體方法如下:

# -*- 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算法識別出來了)
【搜索引擎模式】: 小明, 碩士, 畢業, 於, 中國, 科學, 學院, 科學院, 中國科學院, 計算, 計算所, 後, 在, 日本, 京都, 大學, 日本京都大學, 深造

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章