使用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])

猜你喜欢

转载自www.cnblogs.com/zry-yt/p/11761633.html