jieba分詞庫介紹-關鍵字提取


jieba

介紹

jieba是優秀的中文分詞第三方庫中文文本需要通過分詞獲得單個的詞語 - jieba是優秀的中文分詞第三方庫,需要額外安裝jieba庫提供三種分詞模式,最簡單只需掌握一個函數

之前疫情監控系統的詞雲圖制作過程中的分詞技術就是用jieba實現的,效果圖如下:

 

 

安裝方式

直接cmd命令行進行pip安裝 pip install jieba

jieba分詞的三種模式

  1. 精確模式:把文本精確的切分開,不存在冗余單詞
  2. 全模式:把文本中所有可能的詞語都掃描出來,有冗余
  3. 搜索引擎模式:在精確模式基礎上,對長詞再次切分

jieba庫常用函數

 

 

jieba分詞實例

先看一個簡單的例子:

將下面這句話進行分詞:石家庄鐵道大學是一個非常好的大學,這里的一切都是美好的

分詞效果如下:

 

 但是可見“大學”這個詞沒有被分出來是什么原因呢?

其實這里是因為設置了一個詞語停用表,關鍵詞對比過程中如果有停用表中的詞可以刪除不顯示,分詞結果我是用關鍵詞權重前6名的詞用-連接起來輸出。

停用表可以自己設置

 

 

代碼實現

 1 import jieba
 2 import jieba.analyse
 3 
 4          #第一步:分詞,這里使用結巴分詞全模式
 5 text = '''石家庄鐵道大學是一個非常非常好的大學,這里的一切都是美好的'''
 6 fenci_text = jieba.cut(text)
 7 #print(fenci_text)
 8 
 9 #第二步:去停用詞
10 #這里是有一個文件存放要改的文章,一個文件存放停用表,然后和停用表里的詞比較,一樣的就刪掉,最后把結果存放在一個文件中
11 stopwords = {}.fromkeys([ line.rstrip() for line in open('D:\learnpath\Python\jieba_cut_text\stop.txt',encoding='UTF-8') ]) #line.rstrip是用來跳過換行符號的
12 final = ""
13 for word in fenci_text:
14     if word not in stopwords:
15         if (word != "" and word != "") :
16             final = final + " " + word
17 #print(final)
18 
19 #第三步:提取關鍵詞
20 a=jieba.analyse.extract_tags(final, topK = 5, withWeight = False, allowPOS = ())  # text是等待提取的文本,topK:返回幾個 TF/IDF 權重最大的關鍵詞,默認值為20。
21 b=jieba.analyse.extract_tags(final, topK = 6,   allowPOS = ())                   # withWeight:是否一並返回關鍵詞權重值,默認值為False。
22 
23 context = ""
24 for i in b:
25     context += i+"-"
26 context = context[0:len(context)-1]
27 print('被分詞的文本:'+text)
28 print('分詞結果:'+context)

 


免責聲明!

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



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