西游记
import jieba
from collections import Counter
构建同义映射字典,可根据实际需要补充更多《西游记》人物的不同说法
synonym_map = {
"孙猴子": "孙悟空",
"齐天大圣": "孙悟空",
"弼马温": "孙悟空",
"美猴王": "孙悟空"
# 可继续添加其他人物或孙悟空的不同别称映射,比如 "行者" : "孙悟空" 等
}
读取《西游记》文本内容,这里假设文本文件为 xiyouji.txt,编码为 utf-8
实际使用时请替换为正确的文件路径和编码
with open('xiyouji.txt', 'r', encoding='utf-8') as f:
text = f.read()
使用 jieba 进行分词
words = jieba.lcut(text)
合并同义表述
processed_words = []
for word in words:
# 检查是否在同义映射中,在的话替换,不在则保持原词
processed_words.append(synonym_map.get(word, word))
统计词频,取出现次数最高的 20 个
word_count = Counter(processed_words)
top_20_words = word_count.most_common(20)
输出结果
for word, count in top_20_words:
print(f"{word}: {count} 次")