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


分詞工具的選擇:

  現在對於中文分詞,分詞工具有很多種,比如說:jieba分詞、thulacSnowNLP等。在這篇文檔中,筆者使用的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("刪除停用詞和分詞成功!!!")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM