使用jieba模块简单统计西游记词频,并进行同义词处理(如合并 行者,大圣为悟空)及排除词处理。
[code]import jieba
with open('西游记.txt','r',encoding='utf-8') as f:
content=()
words=(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]=(rword,0)+1
()
#排除词处理
excludes={'一个','那里','怎么','我们','不知','两个','什么','不是'}
for word in excludes:
del counts[word]
ls=list(())
(key=lambda x:x[1],reverse=True)
for i in range(8):
word,count=ls[i]
print("{0:<10}{1:>5}".format(word,count))
文本分析结果如下:
[code]悟空 5282
唐僧 4013
八戒 2044
沙僧 692
和尚 603
妖精 599
菩萨 578
国王 442
可见,在《西游记》中,孙悟空是当之无愧的主角。