Python简单品读小说

猿友 2018-07-27 17:52:26 浏览数 (5964)
反馈

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

下载W3Cschool手机App,0基础随时随地学编程>>戳此了解

导语

利用Python简单品读/分析一下小说~~~

T_T纯属娱乐~~~

如有雷同,不甚荣幸~~~

Let's Go~~~

不想看过程的请直接下拉到最后看结果~~~


相关文件

网盘下载链接: https://pan.baidu.com/s/1D5dITcY27S0ji8nyJUP2fA

密码: c3kd


开发工具

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品天龙八部

T_T只看过电视剧~~~

主要人物(Top10):

可能有些地方是乔峰,有些地方是萧峰的原因吧,毕竟我觉得乔峰才是主角呀!

人物关系图:

以及随手得出的结论:

T_T毁三观啊~~~

小说整体的情感基调(消极or积极?):

Excuse me???


更多

不玩了T_T

以上内容纯属不专业不科学纯娱乐的分析~~~

有兴趣的可以去分析一下其他小说T_T

说不定可以得到令人震惊的结论~~~

1 人点赞