前言
利用Python简单品读/分析一下小说~
不想看过程的请直接下拉到最后看结果~
开发工具
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
Python品天龙八部
只看过电视剧~~~
主要人物(Top10):
可能有些地方是乔峰,有些地方是萧峰的原因吧,毕竟我觉得乔峰才是主角呀!
人物关系图:
以及随手得出的结论:
啊毁三观啊~~~
小说整体的情感基调(消极or积极?):
文章到这里就结束了,感谢你的观看,关注我每天分享Python案例系列,下篇文章分享遗传算法拟合图像。
为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。
干货主要有:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
All done~完整源代码+干货加Python新手学习交流群:594356095