Press "Enter" to skip to content

用Python对哈利波特系列小说进行情感分析

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

Python&Stata数据采集与数据分析实证前沿寒假工作坊    现在开始招生了,有兴趣的同学和老师可以戳进来了解

 

准备数据

 

现有的数据是一部小说放在一个txt里,我们想按照章节(列表中第一个就是章节1的内容,列表中第二个是章节2的内容)进行分析,这就需要用到正则表达式整理数据。

 

比如我们先看看 01-Harry Potter and the Sorcerer’s Stone.txt” 里的章节情况,我们打开txt

 

 

经过检索发现,所有章节存在规律性表达

 

我们先熟悉下正则,使用这个设计一个模板pattern提取章节信息

 

熟悉上面的正则表达式操作,我们想更精准一些。我准备了一个test文本,与实际小说中章节目录表达相似,只不过文本更短,更利于理解。按照我们的预期,我们数据中只有5个章节,那幺列表的长度应该是5。这样操作后的列表中第一个内容就是章节1的内容,列表中第二个内容是章节2的内容。

 

能得到哈利波特的章节内容列表

 

也就意味着我们可以做真正的文本分析了

 

数据分析

 

章节数对比

 

 

从上面可以看出哈利波特系列小说的后四部章节数据较多(这分析没啥大用处,主要是练习)

 

用词丰富程度

 

如果说一句100个词的句子,同时词语不带重样的,那幺用词的丰富程度为100。

 

而如果说同样长度的句子,只用到20个词语,那幺用词的丰富程度为100/20=5。

 

 

情感分析

 

哈利波特系列小说情绪发展趋势,这里使用VADER,有现成的库vaderSentiment,这里使用其中的polarity_scores函数,可以得到

 

neg:负面 得分

 

neu:中性 得分

 

pos:积极得分

 

compound: 综合情感得分

 

 

曲线不够平滑,为了熨平曲线波动,自定义了一个函数

 

 

近期文章

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注