使用jieba分析小說人物出現次數


分析:

1. 讀取小說,以讀的形式打開

with open('文件名.txt','r',encoding='utf8') as f:
    str = f.read()

2. 切割小說

ret = jieba.lcut(str)

3. 統計所有詞語出現次數 --> 准備一個字典

dic = {}
for word in ret:
    if len(word) == 1:  # 去掉名字為一個字的
        continue
    dic[word] = dic.get(word, 0) + 1

  准備一個多余稱呼的列表

excluedes = ["諸葛亮","卧龍","玄德","關公","丞相",...]

  如果文中某個人物有多個稱呼時,應將多個稱呼疊加到某一個稱呼上,再將多余的刪除

dic['關羽'] = dic['關羽'] + dic['美髯公'] + dic['關公'] + dic['關雲長'] + dic['雲長']

for i in excluedes:
    del dic[i]

4. 對字典進行排序,升序

lis = list(dic.items())
lis.sort(key=lambda x:x[1],reverse=True)

5. 取出出現次數前十的數據

for i in range(10):
    print(lis[i][0])

 


免責聲明!

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



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