詞法分析-利用Jieba實現高頻詞提取(Python)
阿新 • • 發佈:2018-12-31
Jieba是一箇中文分詞工具,可以進行關鍵詞提取、詞性標註等,並在python等中提供了介面。
任務:利用Jieba實現高頻詞的提取。
首先在中找到並安裝jieba(已安裝好)
然後直接使用即可。
Jieba有很多種模式(cut\cut_for_search\lcut\lcut_for_search),本次使用後兩種(全模式和搜尋引擎模式)。
首先利用open函式開啟某txt檔案,然後利用read把內容儲存在某變數中(檔案炒雞大的時候read可能會無法使用)
然後呼叫jieba.lcut(或lcut_for_search),會範圍一個炒雞長的列表,裡邊是對內容進行分詞的結果,然後統計詞頻(只統計兩個字以上)並放在字典中,最後使用sorted等函式進行排序即可。
Jiaba.py:(以上學期某課的《紅樓夢》為例)
import jieba file=open('redmansiondream.txt',encoding="ansi") file_context=file.read() words1=jieba.lcut(file_context)#全模式 words2=jieba.lcut_for_search(file_context)#搜尋引擎模式 #統計詞頻 data1={} for chara in words1: if len(chara)<2: continue if chara in data1: data1[chara]+=1 else: data1[chara]=1 data1=sorted(data1.items(),key = lambda x:x[1],reverse = True) #排序 data2={} for chara in words2: if len(chara)<2: continue if chara in data2: data2[chara]+=1 else: data2[chara]=1 data2=sorted(data2.items(),key = lambda x:x[1],reverse = True) #排序
最後統計如下:
(左為全模式,右為搜尋引擎模式)