python實現關鍵詞提取的示例講解

NO IMAGE

新人小菜鳥又來寫部落格啦!!!沒人表示不開心~~(>_<)~~

今天我來弄一個簡單的關鍵詞提取的程式碼

文章內容關鍵詞的提取分為三大步:

(1) 分詞

(2) 去停用詞

(3) 關鍵詞提取

分詞方法有很多,我這裡就選擇常用的結巴jieba分詞;去停用詞,我用了一個停用詞表。

具體程式碼如下:


import jieba
import jieba.analyse
#第一步:分詞,這裡使用結巴分詞全模式
text = '''新聞,也叫訊息,是指報紙、電臺、電視臺、網際網路經常使用的記錄社會、傳播資訊、反映時代的一種文體,具有真實性、時效性、簡潔性、可讀性、準確性的特點。新聞概念有廣義與狹義之分。就其廣義而言,除了發表於報刊、廣播、電視上的評論與專文外的常用文字都屬於新聞之列,包括訊息、通訊、特寫、速寫(有的將速寫納入特寫之列)等等。狹義的新聞則專指訊息,訊息是用概括的敘述方式,比較簡明扼要的文字,迅速及時地報道國內外新近發生的、有價值的的事實。新聞也分公眾新聞和小道新聞等。每則新聞在結構上,一般包括標題、導語、主體、背景和結語五部分。前三者是主要部分,後二者是輔助部分。寫法上主要是敘述,有時兼有議論、描寫、評論等。
'''
fenci_text = jieba.cut(text)
#print("/ ".join(fenci_text))
#第二步:去停用詞
#這裡是有一個檔案存放要改的文章,一個檔案存放停用表,然後和停用表裡的詞比較,一樣的就刪掉,最後把結果存放在一個檔案中
stopwords = {}.fromkeys([ line.rstrip() for line in open('stopwords.txt') ])
final = ""
for word in fenci_text:
if word not in stopwords:
if (word != "。" and word != ",") :
final = final   " "   word
print(final)
#第三步:提取關鍵詞
a=jieba.analyse.extract_tags(text, topK = 5, withWeight = True, allowPOS = ())
print(a)
#text 為待提取的文字
# topK:返回幾個 TF/IDF 權重最大的關鍵詞,預設值為20。
# withWeight:是否一併返回關鍵詞權重值,預設值為False。
# allowPOS:僅包括指定詞性的詞,預設值為空,即不進行篩選。

執行結果:


runfile('D:/Data/文字挖掘/xiaojieba.py', wdir='D:/Data/文字挖掘')
新聞 訊息 指 報紙 、 電臺 、 電視臺 、 網際網路 記錄 社會 、 傳播 資訊 、 時代 一種 文體 真實性 、 時效性 、 簡潔性 、 可讀性 、 準確性 新聞 概念 廣義 狹義 之分 廣義 發表 報刊 、 廣播 、 電視 評論 專文 外 常用 文字 新聞 列 包括 訊息 、 通訊 、 特寫 、 速寫 ( 速寫 納入 特寫 列 ) 狹義 新聞 專指 訊息 訊息 概括 敘述 方式 簡明扼要 文字 報道 國內外 新近 發生 、 價值 事實 新聞 分 公眾 新聞 小道 新聞 每則 新聞 在結構上 包括 標題 、 導語 、 主體 、 背景 結語 五 前 三者 二者 輔助 寫法 敘述 兼有 議論 、 描寫 、 評論 
[('新聞', 0.4804811569680808), ('速寫', 0.2121107125313131), ('訊息', 0.20363211136040404), ('特寫', 0.20023623445272729), ('狹義', 0.16168734917858588)]

好啦,是不是很簡單?

以上這篇python實現關鍵詞提取的示例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援指令碼之家。

您可能感興趣的文章:

python微信公眾號之關鍵詞自動回覆python多程序提取處理大量文字的關鍵詞方法Python 結巴分詞實現關鍵詞抽取分析淺析Python中yield關鍵詞的作用與用法教你用python3根據關鍵詞爬取百度百科的內容python結合shell查詢google關鍵詞排名的實現程式碼Python抓取淘寶下拉框關鍵詞的方法python實現搜尋指定目錄下檔案及檔案內搜尋指定關鍵詞的方法python提取內容關鍵詞的方法python通過BF演算法實現關鍵詞匹配的方法python實現textrank關鍵詞提取