1. 程式人生 > >python使用jieba實現中文文檔分詞和去停用詞

python使用jieba實現中文文檔分詞和去停用詞

分享圖片 lac lena idt center cut inpu span code

分詞工具的選擇:

  現在對於中文分詞,分詞工具有很多種,比如說:jieba分詞、thulac、SnowNLP等。在這篇文檔中,筆者使用的jieba分詞,並且基於python3環境,選擇jieba分詞的理由是其比較簡單易學,容易上手,並且分詞效果還很不錯。

分詞前的準備:

  • 待分詞的中文文檔
  • 存放分詞之後的結果文檔
  • 中文停用詞文檔(用於去停用詞,在網上可以找到很多)

分詞之後的結果呈現:

技術分享圖片

去停用詞和分詞前的中文文檔

技術分享圖片

去停用詞和分詞之後的結果文檔

分詞和去停用詞代碼實現:

 1 import jieba
 2 
 3 # 創建停用詞列表
 4 def stopwordslist():
5 stopwords = [line.strip() for line in open(chinsesstoptxt.txt,encoding=UTF-8).readlines()] 6 return stopwords 7 8 # 對句子進行中文分詞 9 def seg_depart(sentence): 10 # 對文檔中的每一行進行中文分詞 11 print("正在分詞") 12 sentence_depart = jieba.cut(sentence.strip()) 13 # 創建一個停用詞列表 14 stopwords = stopwordslist()
15 # 輸出結果為outstr 16 outstr = ‘‘ 17 # 去停用詞 18 for word in sentence_depart: 19 if word not in stopwords: 20 if word != \t: 21 outstr += word 22 outstr += " " 23 return outstr 24 25 # 給出文檔路徑 26 filename = "Init.txt" 27 outfilename = "
out.txt" 28 inputs = open(filename, r, encoding=UTF-8) 29 outputs = open(outfilename, w, encoding=UTF-8) 30 31 # 將輸出結果寫入ou.txt中 32 for line in inputs: 33 line_seg = seg_depart(line) 34 outputs.write(line_seg + \n) 35 print("-------------------正在分詞和去停用詞-----------") 36 outputs.close() 37 inputs.close() 38 print("刪除停用詞和分詞成功!!!")

python使用jieba實現中文文檔分詞和去停用詞