带你哟给你Python品读小说人物关系,
欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。
前言
利用Python简单品读/分析一下小说~~~
T_T纯属娱乐~~~
如有雷同,不甚荣幸~~~
开发工具
Python版本:3.6.4
相关模块:
- gensim模块;
- jieba模块;
- scipy模块;
- snownlp模块;
- matplotlib模块;
- numpy模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
额外说明:
pip下载速度过慢:
临时/永久换源~~~(百度上就有很多教程T_T)
pip安装失败:
到类似https://www.lfd.uci.edu/~gohlke/pythonlibs/这样的网站下载whl文件安装。
主要思路
(1)小说主要人物分析
统计每个角色在小说中出现的次数,并假设出现的次数越多,人物在小说中的地位越高。
(2)小说人物关系分析
利用gensim生成一个词向量模型来分析人物关系。
T_T这个模型是Google在2013年开源出来的,具体实现细节还没来得及看,算不上深度学习,只是浅层的神经网络~~~
(3)小说情感分析
主要利用了snownlp库。
分析小说之前需要先到相关网站下载小说的文本文件并新建一个含有小说中所有人物名的文本文件。
修改源代码(analysis.py)中的:
if __name__ == '__main__':(98行)
下面的小说文件路径后在cmd窗口中运行即可。
Python品红楼
T_T首先让我们看看这本我看了20年也只看了前3页的中国古典四大名著之首!!!
主要人物(Top10):
前面几个名字还是挺耳熟的???
人物关系图:
也不晓得靠谱不,聚类得到的图~~~
T_T随手还得出了这样的结论(逃):
小说整体的情感基调(消极or积极?):
以0.5为界,左边代表消极,右边代表积极~~~
这么极端的嘛T_T