使用python简单实现《西游记》文本分析,通过词频对比探索西游记的主角

使用jieba模块简单统计西游记词频,并进行同义词处理(如合并 行者,大圣为悟空)及排除词处理。 

import jieba
with open('西游记.txt','r',encoding='utf-8') as f:
    content=f.read()
    words=jieba.lcut(content)

counts={}
#同义词处理
for word in words:
    if len(word)==1:   
        continue
    elif word=='行者' or word=='大圣' or word=='老孙':
        rword='悟空'
    elif word=='师父' or word=='三藏' or word=='长老':
        rword='唐僧'
    elif word=='八戒' or word=='呆子':
        rword='八戒'
    else:
        rword=word
    counts[rword]=counts.get(rword,0)+1
f.close()
#排除词处理
excludes={'一个','那里','怎么','我们','不知','两个','什么','不是'}
for word in excludes:
    del counts[word]
    
ls=list(counts.items())
ls.sort(key=lambda x:x[1],reverse=True)
for i in range(8):
    word,count=ls[i]
    print("{0:<10}{1:>5}".format(word,count))

文本分析结果如下:

悟空         5282
唐僧         4013
八戒         2044
沙僧          692
和尚          603
妖精          599
菩萨          578
国王          442

可见,在《西游记》中,孙悟空是当之无愧的主角。

 

 

你可能感兴趣的:(笔记,文本分析,python,数据挖掘)