jieba分词
import jieba
from collections import Counter
自定义合并规则(根据聊斋内容,可补充更多人物别称映射)
merge_map = {
# 假设聊斋中有类似 “宁采臣” 和 “宁公子” 是同一人物,可自行扩展
"宁公子": "宁采臣",
"小倩": "聂小倩"
# 可继续添加其他人物不同说法的映射
}
读取聊斋文本内容(聊斋文本文件路径编码为 utf-8 )
with open("liao_zhai.txt", "r", encoding="utf-8") as f:
text = f.read()
使用 jieba 分词
words = jieba.lcut(text)
合并同一人物不同说法
merged_words = []
for word in words:
# 检查是否在合并映射中,若在则替换,否则保留原词
merged_words.append(merge_map.get(word, word))
统计词频,取前 20 个
word_count = Counter(merged_words)
top_20 = word_count.most_common(20)
输出结果
for word, count in top_20:
print(f"{word}: {count}")

浙公网安备 33010602011771号