APP下载

基于深度学习的新体诗情感分析

2022-06-29高楚翔罗家辉

林业科技情报 2022年2期
关键词:词典向量神经网络

高楚翔 舒 杭 罗家辉

(东北林业大学 信息与计算机工程学院,哈尔滨 150036)

从公开发表的散文、随笔、诗歌甚至小说中获取作者反映的情感倾向,并从中获知热门社会事件对人类情感变化的引导,是保护社会主流思想不被西方反动势力影响的重要手段。该次研究主要针对诗歌网上最新发表的各种新体诗,因其相对传统诗歌的篇幅较长,反映的信息量相对传统诗歌也比较大,能在大量分析中提取出诗人对社会事件的情感反射。

情感分析是数据挖掘领域一个热门的研究方向。目前对情感分析的研究大部分集中在对微博各种热门博文的研究,或者是商品销售领域、电影上映后的评价分析等方面,而对现代派诗人利用现代诗来表达澎湃情感问题的分析却没有涉及过。新体诗用词复杂多样,情绪的表达也更是包罗万象,因此,对于新体诗的情感分析也更加具有研究价值。

情感分析工作,可以划分为3类方法,第1类是基于情感词典的文本情感分析。基于词典的方法中,主要采用两种词典,一种是自定义的情感词典,主要是通过对于语料 中的情感词进行发现与搜集;另一种是依赖于开源的大型语料库,英文中采用的大型语料库是WordNet,而中文中主要采用HowNet[1]。2011年,陈岳峰等人对HowNet中所提出的褒贬义概念进行聚类,将聚类中心作为基准概念,进行词语的情感识别[2];2015年,Tang D等人采用门控循环神经网络(GRU)对文档进行建模,进行文档级情感分析[3];Jin Wang等人提出一种局部卷积神经网络与循环神经网络相融合的分类模型,对于句子进行多维度的情感分析,其在中文语料中取得较好的效果[4]。

1 问题描述

新体诗包含了大量的信息,而且相对于传统诗歌,词汇的使用更加丰富,情绪的表达更加多样,而且一首诗中的情绪常常不止1种,有时甚至是3种以上情感糅合在一起,例如:“我每次回到家乡、站在桥上、就会想起我的父亲、一个善良的人、勤劳的人、热心的人、只可惜、他去世的时候、只有五十几岁、尽管没有给我们、留下什么、却给我们留下了精神”这段诗中,先表达了对父亲的赞美之情,然后转而描写对于父亲离世的悲伤,最终以希望结尾,总体上被归结于消极的情绪;“写吧,写给我的小情人、你童年的生活,一人一碗、吃空碗里的饭时,我们一起欢笑、泪水流向汤碗时,我们一起忧愁、调皮,霸道,还会说唱、生活里充满阳光,喜爱吃糖”这段诗中,作者既写了和女儿的开心的生活,也写了难过的时刻,总体上又表达了对女儿的喜爱之情,被归结为积极的情绪。通过对各种新体诗的挖掘分析,可以深入地剖析诗人对当下热点、社会生活的看法和态度,可以对社会舆论起到一定的监控作用。

正因为新体诗的情感表达相对于淘宝评论或是美团评论等内容的情感表达更加晦涩暧昧,所以也会给机器学习带来不小的难度,所以在构建数据集时要尽量避开情感糅合过多的新体诗,尽量选择例如“如果每天清晨、你有阅读报纸的习惯、那么最开心的、莫过于能在当天的报纸上、第一时间读到、自己喜欢的文章、并把认为重要的部分、摘抄到笔记本上、生活的内容丰富多彩、人生的选择多种多样”这种情感表达很直接的诗歌,来提高情感特征的准确性。

2 Word2vec网络模型

利用Word2vec神经网络语言模型进行词向量训练,通过将新体诗训练集进入Word2vec工具进行训练,能够根据上下文的语境,将诗歌中每个词语映射成为k维的实数向量,获得每个词在向量空间上的表示。CBOW和Skip-Gram模型为Word2vec技术的优化改进。它们将Word2vec词向量表示技术中计算复杂度高的隐藏层替换为投影层,它能够计算输入层词向量总和。其中,CBOW表示输入特定词w的上下文输出包含词w的概率,Skip-Gram表示输入特定词w,输出词w的上下文中包含词w的概率。[5]

现有的SA方法主要有基于词典的方法、基于机器学习(Machine Learning,ML)的方法和基于深度学习(Deep Learning,DL)的方法[6]。其中,基于词典的方法主要利用情感词典将语料库中表达情感的关键词提取出来,进而对目标语句进行情感分析[7]。基于词典的方法能体现文本的非结构化特征,在情感词典覆盖率和标注准确率较高的情况下分类效果较理想[8]。基于ML的方法可以通过语句中词语级别的情感特征准确捕获文本中有用的情感信息,这种词级特征可以将语义信息表示成向量形式,方便衡量两个词之间的相似度,因而在情感分析任务中表现良好[9]。

在word2vec之前采用深度神经网络训练词向量进而处理词与词之间的关系的传统模型是用多层的神经网络结构(一般是3层:输入层、隐藏层和输出层)。然后根据数据的输入和输出分为为CBOW (continuous bag ofwords)和Skip Gram两种模型,其中CBOW通过中心词的上下文对词向量进行预测,Skip Gram通过中心词对上下文进行预测,见图1所示。

图1 CBOW模型与Skip Gram模型Figure 1 CBOW model and Skip Gram model

Word2vec相对于传统是神经网络语言模型做出了改进。一是在输入层到隐藏层的映射中直接对所有输入词向量求和并取平均,大大降低了计算量;二是采用了负采样的方法,即每次让1个样本只更新部分权重,同时其他权重全部固定,以此来减少计算量。这样使word2vec的方法维度更少,速度加快,通用性也得到了加强。

3 实验与结果分析

该研究主要分为3个模块:文本获取模块、文本预处理模块和模型算法模块。

文本获取模块包括:爬虫功能。网页爬虫功能:通过python脚本对中国诗歌网获取其现代诗(http://www.zgshige.com/sg/xds)和关键字搜索(http://www.zgshige.com/zcms/search/result?SiteID=122&Query=)板块内的新体诗。由于中国诗歌网

的栏目有最大页数50页的限制,导致50页之后的页面丢失出现404错误而无法接着爬取数据,于是本文使用了基于关键字的数据爬取方式对原有的文本获取模块进行修改,并使用了xls表格文档对数据进行存储。

文本预处理模块包括:文字处理功能,构建词向量功能。文字处理功能:对从网站获取大量xls格式存储的诗歌进行拼接处理,格式处理,使其能投入下一步的分词和模型处理。构建词向量功能:使用word2vec模型,构建训练样例的词向量模型。

模型算法模块包括:模型训练功能。模型评估功能:调用保存的模型,对测试数据进行测试,得到每个主题词的准确率数据。

该研究的路线是利用爬虫工具对中国诗歌网上的新体诗进行爬取,选择合适的分词工具对近体诗进行分词提取,并解决诗歌中一些含有具体情感映射的事物的提取与不含特殊含义的事物加以区分。并在分析后利用深度学习算法对文本进行情感挖掘,利用新数据进行训练,从而得到正确的结论,见图2所示。

图2 技术路线Figure 2 Technical route

该文的实验数据选取自文本获取模块收集新体诗文本。选取经过文本特殊字符删除、题目等无用信息删除等预处理的10 000条新体诗数据,采用人工标注的方式实现对新体诗的情感极性标注。选择3名同学各自对10 000条新体诗数据进行了主观细致极性判断的方式,将数据分为积极与消极两种细致类别,统计3名同学各自的标注结果,将每条新体诗文本的细致情感极性最高支持票数为最终标注结果,避开了独自判断的差异性,并最终采用5 000条细致区分的数据作为训练集。

获取词向量部分的代码如下:

def build_vector(text, size, wv):

vec = np.zeros(size).reshape((1, size))

count = 0

for w in text:

try:

vec += wv[w].reshape((1, size))

count += 1

except:

continue

if count != 0:

vec /= count

return vec

将在对训练集进行训练后,通过设置积极情绪测试集(positive,简称pos)和消极情绪测试集(negative,简称neg)各500条数据,对测试集进行如上的测试分析,然后记录正确率。结果发现,无论如何设置神经网络层数和最小词频数,得到结果始终为50%,显然并不符合实验预期要求。

于是研究小组再次对于研究数据进行大量、细致地清洗,先将数据中所有的回车、空格、制表符号也全部删除,然后再把所有可能出现歧义表达的词语全部删除,然后设置重新进行训练。经过多次对比训练后发现,对比不同的神经网络层数以及最小词频数之后对比得到,当取神经网络层数为300、最小词频数为10时,得到的正确率最高,为86.1%,终于得到了符合实验预期的结果,见图3所示。

图3 不同神经网络层数以及最小词频数所得到的正确率的对比Figure 3 Comparison of the correct rate obtained by different neural network layers and the minimum word frequency

最后选择设置神经网络层数为300、最小词频数为10,对测试集进行情感分析实验,统计结果的召回率与正确率,最终得到的结果如表1所示。

表1 积极与消极的召回率与正确率统计表Table 1 Positive and negative recall rate and correct rate statistics table

结果表明,因为在诗歌的表达中,消极情绪的表达词汇相对于积极情绪会更加丰富多样,甚至有时不需要直接的表达词汇,仅仅通过意象的堆叠就可以表达出悲伤、寂寞、思念等消极情绪,例如“推开夜的清冷,幻作一缕烟火在尘世里徘徊”、“浊净不染尘,揽携无远晴空。空太阁无人,听皓皓小城,从林静白夜度,飞蛾暗影搀浮屠,远道一人缓缓来”,对于机器学习造成了一定的难度。由此可见Word2vec模型对于新体诗的情感分析是有效的,对于积极的情感类型的新体诗更有效一些。图4-图7为积极结果和消极结果的示例。

图4 积极结果1Figure 4 Positive results 1

图5 积极结果2Figure 5 Positive results 2

图6 消极结果1Figure 6 Negative result 1

图7 消极结果2Figure 7 Negative result 2

4 实验结果

5 结语

对于新体诗的情感分析是人们对于热点的看法和民生意见的重要依据,所以挖掘诗中的情感倾向可以实现对于社会舆论风向的监控作用,具有重要的研究意义。该文通过使用word2vec语言模型,在真实的诗歌数据中进行实验,表明该模型对于新体诗的情感分析是十分有效的,从而可以为社会对于舆论风向的监控提供科学依据。

由于诗歌的情感往往丰富多样,用词方式也千变万化,除此之外,诗歌的情感表达与社会热点有着直接关系,很多诗歌的写作都是基于热点事件的评价以及感慨。因此,下一阶段的工作可以围绕社会热点事件对新体诗进行情感分析。

猜你喜欢

词典向量神经网络
基于神经网络的船舶电力系统故障诊断方法
向量的分解
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
聚焦“向量与三角”创新题
米兰·昆德拉的A-Z词典(节选)
米沃什词典
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
“函数及图象”错解词典
向量垂直在解析几何中的应用