在一部小说中主人公的每一段语言、文字都或多或少带着其人物形象的烙印,《红楼梦》是中国的四大名著之一,共120回,一直以来吸引着很多学者去研究。本案例基于统计分析、文本挖掘等知识,使用Python对红楼梦120回的文本数据进行可视化和聚类分析。
目录
数据读取与章节整合整合
剧情趋势和人物词频分析
红楼梦章节聚类及可视化
总结
1.数据读取与整合
## 加载数据包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import jieba
import nltk
数据集介绍如下:
Dream_of_the_Red_Mansion.txt为红楼梦小说的txt版本,编码格式为utf-8。
Red_Mansion_Dictionary.txt为包含红楼梦中专有人物的词典,用于辅助分词。
stop_words.txt为停用词表,包含数字、特殊符号等常见的停用词。
## 设置显示偏好
import warnings
warnings.filterwarnings('ignore')
pd.set_option("display.max_rows",None)
## 读取文章、停用词和需要的词典
stop_words = pd.read_csv("./input/stop_words.txt",header=None,names = ["stop_words"])
dictionary = pd.read_csv("./input/Red_Mansion_Dictionary.txt",header=None, names=["dictionary"])
content = pd.read_csv("./input/Dream_of_the_Red_Mansion.txt",header=None,names = ["content"])
print(content.head(),'\n\n',dictionary.head(),'\n\n',stop_words.head())
content
0 第1卷
1 第一回 甄士隐梦幻识通灵 贾雨村风尘怀闺秀
2 此开卷第一回也。作者自云:因曾历过一番梦幻之后,故将真事隐去,而借“通灵”之说,撰此 |