1. 程式人生 > >詞法分析-利用Jieba實現高頻詞提取(Python)

詞法分析-利用Jieba實現高頻詞提取(Python)

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) #排序

最後統計如下:

(左為全模式,右為搜尋引擎模式)