设存在文本文件“红楼梦.txt”中包含了《红楼梦》小说前20章的内容,又存在“消除词”文件,里面包含了不需要统计的词语,即需要排除的词语。
在本题中,有如下名字需要归一:
要求统计出厂次数不少于40次的人物名称,将人物名称及其出出场次数按照递减排序写入csv文件中。
前言
在许多小说中,存在很多人名的别称,如“孙悟空”、“孙行者”、“泼猴”、“孙大圣”,都是同一个人,那么在统计孙悟空在文本中出现的词语,则需要对这些词进行“归一化”处理,将这些名字都指定为一个名字,方便统计。
一、思路
1.本题比较繁琐的是需要首先读取文件(源文本文件与“停用词”文件),然后分词,再与“停用词”对比,剔除文本内的所有停用词。
2.循环结构进行统计各个名字,存入变量。
3.条件控制结构进行名字归一化处理,利用get函数进行统计。
4.将统计出的词频进行排序然后列出词频超过40的结果。
二、步骤
1.读取文章内容用jieba库分词
代码如下(示例):
import jieba
f = "红楼梦.txt"
sf = "停用词.txt"
#读取文章内容用jieba库分词
txt=jieba.lcut(open(f,'r',encoding='utf-8').read())