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}")

posted @ 2025-06-21 19:00  何定霓  阅读(10)  评论(0)    收藏  举报