姚春华,张学磊,宋馨宇,张 举,蔡佳志,冯 翱
(1.中国电子科技集团第三十研究所,四川 成都 610041; 2.成都信息工程大学计算机学院,四川 成都 610225)
文本情感分析(Sentiment Analysis)是自然语言处理中的基础任务之一,又被称为观点挖掘(Opinion Mining),已被广泛应用于多个领域[1]。近年来,随着互联网的飞速发展,网络资讯和新闻因其传播速度快、受众面广的特点,成为公众获取最新信息的主要来源[2-3]。在金融领域,投资者通过财经新闻对各大企业的相关报道,获取与企业相关的关键信息,辅助他们进行投资决策。通过分析财经新闻的情感极性,掌握热点新闻事件中包含的情感倾向,了解主流媒体和公众对各类企业的评估,可帮助投资者预测投资风险。现实场景中,大多数投资者获取财经信息的来源有限,信息采集不完整,并且缺乏大规模实时处理海量信息的能力。在这种背景下,对财经新闻进行系统性的情感分析,能够大幅降低人工分析的工作量,具有较高的应用价值[4]。
财经新闻的情感分类问题与传统的文本情感分类问题类似,但无法直接套用传统的文本情感分类方法来解决,其原因在于传统情感分类模型主要是针对商品评论的短文本进行分析。包括基于情感词典的方法、基于文本特征的机器学习方法以及基于预训练词向量的深度学习方法等[5]。财经新闻是面向长文本的特殊领域,其特征稀疏,情感倾向主要基于财经新闻事件的正负面情绪,常规情感词较少,更多的是形容股票市场变化和公司财务状况的词语,如“大涨”“微跌”“盈利”“亏损”等,这些在传统情感分析词典中均不涉及。因此,财经新闻的情感分析相比传统的情感分析,存在计算复杂度高和提取特征难度大等技术难点。
图是一种非线性的数据结构,在现实问题的逻辑表达中有广泛的应用。如果使用图中的节点来表示现实问题中的实体对象,边表示相关节点间的依赖关系,这就形成了图网络这样一种实际问题的抽象表达。图神经网络[6]是一种深度的归纳嵌入模型,可以更好地利用图的内容,并在有监督的信息下进行训练。图神经网络的基本思想是迭代地聚合来自节点邻居的邻域信息,以获取整个图网络结构的连续视图。图神经网络相较于传统的深度神经网络来说存在一定的优势,标准的卷积神经网络(CNN)[7]和循环神经网络(RNN)[8]不能处理图这种无序特征。与传统的神经网络相比,图中的边表示2个节点之间的依赖关系,图神经网络中的信号在具有依赖关系的节点之间传播,通过图中相邻节点的状态来改变当前节点的状态,实现推理的过程。
受深度学习中卷积神经网络的启发,2013年开始基于图论的图卷积神经网络吸引了大量研究者的关注[9-10]。图卷积神经网络将深度学习中端到端的学习方式与图网络结构关系的归纳推理理论结合起来,解决深度学习无法处理关系推理的问题,研究者在各自的领域中也给出了不同的解决方案[11-14]。在情感分析领域中的图网络应用案例较少,这是由于在进行情感分析的过程中需要考虑文本的语序信息,而图网络的输入往往是无序的。因此,在使用图网络处理情感分析任务时,如何有效地融入语序信息是需要解决的关键问题。除此之外,不同的单词对文档或句子的重要程度存在一定的差异,现有应用案例中,大多都忽略了单词的重要性差异,将它们视为具有相同价值的特征。本文的主要贡献分为以下4点:
1)使用图卷积神经网络解决财经新闻的情感分析任务,通过引入依存句法分析的方法,有效保留文本语序信息,并分析了依存句法分析的准确率对情感分析的影响。
2)将新闻文档和句子中的词同时作为图网络的节点,使用TF-IDF值表示词语在文档中的权重,并使用词相关性(PMI)计算词语与词语之间的连接权重,在计算PMI时,引入滑动窗口的思想以提取局部相关性,并通过实验确定最佳窗口大小。
3)挖掘文档内部关系的同时,同步计算文档节点与词节点的关系,利用共现词在文档间的信息传递获取全局表征。
4)提出使用依存句法分析的情感分析方法DA-GCN,并在财经新闻数据集上对模型的性能进行了验证,实验结果表明该模型相比传统方法能够获得显著的性能提升。
传统的情感分析方法大多基于情感词典,但针对财经新闻这样的长文本,情感词典很难全面覆盖,而且由于领域的专业性,存在很多非通用的情绪表达方式。基于机器学习的方法具有广泛的适用性,应用于情感分析领域的主要包括朴素贝叶斯、SVM和决策树等分类算法[15-17]。近年来,随着文本嵌入表征方式的广泛应用,基于深度学习的情感分析方法成为情感分析中的主流模型。
基于情感词典的方法是文本情感分析中最基础的方法,构建情感词典是这类方法中的关键工作[18],情感词典的构建包括人工构建和自动构建。利用人工构建文本情感词典,并对词典中的词语进行情感极性和强度的标注,通过查阅词典对待分析文本中的情感词加权求和,可实现有效的文本情感分析。人工构建情感词典会极大地增加人工开销,并且这种方式在处理特定领域时,由于参与人员对领域的熟悉程度不同,具有很大的局限性;自动构建情感词典的方法能较大地降低人工成本,主要从特定领域的大量语料库中进行学习,实现对该领域的情感词进行提取。情感词典的方法由于情感词典的局限性,通常适用于特定领域的短文本分析,对于具有更大自由度的长文本,机器学习和深度学习方法会有更好的表现。
基于机器学习的方法将语料库中的数据分为训练数据和测试数据2个部分,将文本表示为向量后使用训练数据训练情感分类模型,再使用训练好的情感分类模型对测试数据进行测试,主要方法包括朴素贝叶斯、决策树、支持向量机等。基于机器学习的情感分析方法通常只是简单地根据文本中的特征进行分类,无法获取文本中的语序和语义信息,泛化能力较弱,并且由于互联网中文本和语言表达的多样性和不断的演变,基于机器学习的情感分析方法很难有效解决当前的各种分析任务[19-20]。但基于机器学习的方法简单易用,算力要求低,因此也常在一些情感分析任务应用中作为辅助算法。
基于深度学习的情感分析方法流程如图1所示。随着Word2Vec[21]和Glove[22]的提出,使用预训练词向量的深度学习方法很快被应用于情感分析任务中,CNN(Convolution Neutral Network)因其能全方面地捕获提取文本信息和速度快的优点,常应用于长文本的情感分类任务中,而RNN(Recurrent Neural Networks)进行情感分析时,会随着文本的长度的增大导致计算开销也增大,并且无法解决长距离依赖问题,因此大多应用于短文本情感分析任务中。长短时记忆网络(Long Short Term Memory, LSTM)是一种特殊的RNN[23],它能储存长距离信息,并捕获文本之间的依赖关系。为了有效解决长文本分类时的特征稀疏问题,Yang等[24]提出了分层注意力网络(HAN),分别对文档中的词语和句子进行编码获取注意力权重,再将2部分权重整合为文档嵌入表达后加权平均进行长文本分类。在处理情感分析任务时,注意力机制能有效捕获文本中的情感词特征,因此常用做辅助模块,与其他深度学习方法结合使用。
基于词向量的深度学习方法非常依赖词向量的质量。一方面,训练词向量需要大量的语料库和超高的算力才能训练出表征能力强的词向量;另一方面,针对特定的领域,通用的词向量往往不能有很好的表征能力。因此,基于词向量的深度学习方法在特定的领域中要取得好的结果,理想的情况就是使用该领域的大规模语料库,以训练适用于这个领域的词向量。为应对特定领域语料不足的现实情况,研究者提出使用大规模通用语料训练出一个预训练语言模型,再根据特定的领域,对这个预训练语言模型进行微调,从而适用于多个领域。BERT[25]及其相关变体是近年来流行的大规模预训练语言模型,广泛应用于短文本任务中。但随着文本长度的增加,模型参数增多,算力耗费提高,因此,很少应用于长文本任务中。
近几年图神经网络出现并迅速发展,它也很快被应用于情感分析任务中。使用图网络处理情感分析任务的优点在于能够通过构图方式将关键特征连接起来,从而通过特征共现的方式进行自然的问题定义和分类。
本章主要介绍财经新闻情感分析任务,并提出一种基于依存句法分析的图卷积神经网络DA-GCN,用于财经新闻的情感分析。
给定一条总词语数量为n的新闻,其文字表示为T=(w1,w2,…,wn),通过模型进行拟合获得新闻T的情感极性S=(Positive,Negative,Neutral),其中Positive代表正面情感,Negative代表负面情感,Neutral代表中性。
本文提出一种基于依存分析的图卷积神经网络DA-GCN用于长文本情感分析,其整体结构如图2所示,包括输入层、语义分析层、图网络结构层、图网络表示层和情感分类层。
下面对该模型中的主要部分进行说明。
为了获取文本的语序信息,本文对每篇财经新闻进行分词,并对分词后的文档进行依存句法分析[26]。依存句法分析能分析出句子中各个组成部分的依存关系,增强情感分析模型理解文本的能力。本文使用的依存句法分析方法依赖于哈工大开源项目LTP[27],其输出为依存关系树,如图3所示。在“全国100城市消费者满意度总体处于良好水平”这句话中,每个词都依存于其他的词,其中“处于”是句子的根节点,依存于(ROOT)虚根。依存关系用不同标号表示,如:“消费者”依存于“满意度”,依存关系为定中关系,在依存句法分析中用ATT表示;“满意度”依存于“处于”,为主谓关系,用SBV表示;“水平”依存于“处于”,为动宾关系,用VOB表示这种关系。用λ表示词语之间是否存在依存关系,存在依存关系时λ值为1,不存在依存关系时λ值为0。通过λ决定是否计算2个词语之间的PMI。
图3 依存句法分析示意图
本文构建了一个包含词语节点和文档节点的文本图,以便明确地对全局词共现进行建模,如图4所示。其中,以“D”开头的节点是文档节点,其他节点是词语节点,直线边表示文本图的边,曲线表示通过隐藏层对词语和文档进行(嵌入)表示,记为R(X)。
图4 DA-GCN结构示意图
使用图神经网络处理自然语言处理任务时,关键点在于构建图的方式。本文将新闻文档和文档中的词语作为节点,单词与文档的连线和单词与单词之间的连线作为边,构建图网络结构,其中对于一张特定的图
新闻文档与词语之间边的权重是基于词语在新闻文档中出现的词频信息计算出的,本文使用TF-IDF算法计算这部分权重。TF-IDF算法主要通过统计文档中出现词语的频率来进行权重计算,词语的重要性随着它在文档中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。对于新闻文档中出现的词语,二者之间会有一条边相连,边上的权重为词语在文档中的TF-IDF值。
词语与其他词语之间的边由依存句法分析来确定,为计算其权重,本文采用固定大小的窗口在文档中滑动,以统计词语之间的局部共现信息,使用词相关性(PMI)[28-29]来表示一个词语与其他词语之间的关联权重,其计算公式如下:
(1)
(2)
(3)
其中,#W(i)表示包含词语i的滑动窗口数目,#W(i,j)表示包含词语i和j的滑动窗口数目,#W表示滑动窗口总数。当PMI>0时,表示词语i和词语j语义相关性强,当PMI<0时,表示词语i和词语j语义相关性弱或者没有相关性,因此本文只考虑将PMI>0且存在依存关系的词语加入图G中。图中各条边的权重具体计算方式如下:
(4)
(5)
(6)
其中,YD是所有带标签的新闻文档的索引集,Y是文档标签的one-hot向量,F是特征向量维度,即分类的总数。
实验所用的数据集来源于各大新闻网站,包括但不限于人民网、新浪新闻、腾讯新闻和凤凰新闻网。本文采用网络爬虫的方式共采集10000篇新闻语料,经过筛选后,保留4000篇与财经内容最相关的新闻,通过人工标注的方式对这些新闻进行情感标记,其中正面新闻为1344篇,负面新闻为960篇,其余均为中性。本文将4000篇财经新闻按各类比例分为2000篇训练数据、1000篇验证数据和1000篇测试数据,使用训练数据学习模型参数,基于验证集上的各项指标优化超参,并使用验证集上表现最好的模型进行测试。
根据样本真实情感与模型预测情感可将测试数据的结果划分为正确正例(TP)、错误正例(FP)、正确负例(TN)、错误负例(FN)这4类,由于数据集各类别分布不平衡,Macro_F1值适用于衡量模型在类别不均衡数据集上的性能,因此本文采用Accuracy和Macro_F1值对模型学习结果进行评估。具体计算公式如下:
(7)
(8)
(9)
(10)
其中,Pi表示第i类的精确率,Ri表示第i类的召回率。
实验使用的深度学习框架是Pytorch[31],在单张Nvidia2080Ti GPU上进行训练,训练参数如表1所示。
表1 模型训练参数
为了全面评价本文提出模型的性能,本文在上述数据集上进行情感分类实验,并与多种基线模型进行对比。实验结果如表2所示,表明本文提出的模型在各项评价指标上均达到最优结果,对照模型包括以下6个:
表2 不同算法在财经新闻情感分析数据集上的性能
1)基于情感词典的方法。利用情感词典计算新闻中各个词语的情感得分,并最终汇总获得整篇文章的情感极性。
2)SVM。将各个新闻文档进行分词,并计算文档中词语的TF-IDF值,以此作为输入训练分类模型。
3)Text-CNN。使用基于金融新闻训练的300维Word2Vec中文词向量表示新闻文本[32],并使用多个卷积核提取文本特征,然后将它们输入到线性变换层,从而对新闻文档进行情感分类。
4)Bi-LSTM[33]。使用基于金融新闻训练的300维Word2Vec中文词向量表示新闻文本,再通过一层双向LSTM提取文本特征,使用提取的特征向量对文本进行情感分类。
5)HAN。使用基于金融新闻训练的300维Word2Vec中文词向量表示新闻文本,接着使用双向的RNN提取上下文信息,并计算句子中词语的注意力值,生成词语注意力向量。同样地,使用词语的注意力向量对新闻中每个句子进行编码,提取句子的上下局部信息,并计算句子注意力值之后,输出文档的表示向量,将文档向量线性变换后进行分类操作。
6)Text-GCN[34]。相较于本文提出的模型,该模型未加入依存句法分析。模型中的其余参数和构图方式与本文提出的模型相同。
从表2的实验结果可以看出,本文提出的基于依存分析的图卷积网络模型,在处理财经新闻的情感分类任务时相比于各个基准模型具有更好的表现。特别是对照同类的图卷积网络Text-GCN,在引入依存句法分析后模型的平均准确率提升了2.04个百分点,F1值提升了2.52个百分点。这说明在长文本的情感分类任务中,利用依存句法分析获取文档中词语的句法成分和依赖关系能够提升情感分析模型理解文本的能力,实现更好的分类效果。
为了进一步分析依存分析对情感分析的影响,本文在不同准确率的依存分析模型上进行实验,实验结果如表3所示,实验结果说明模型的性能随着依存分析的准确率的提高而提高。
表3 不同准确率的依存分析模型下分类模型的性能
图5显示了在训练过程中,不同的滑动窗口大小下准确率和F1值的变化情况。可以看到,随着窗口尺寸变大,模型在测试集的精度也随着增加,但当窗口大小大于10时,模型性能开始下降。这表明窗口太小无法生成更全面的词语共现信息,而窗口太大可能会引入过多不相关词语,从而影响模型的精度。
图5 不同滑动窗口大小下模型的准确率和F1值
传统的深度学习网络对原始文本不进行句法分析,单纯依靠卷积核、文本序列和注意力机制去提取语义信息,而一般的图卷积网络的情感分析方法由于其本质是一种词袋模型,对于语序信息在模型中通常直接忽略。大多数情感分析工作都是面向以网络评论为主的短文本,由于句子短、特征少,较为简单的深度学习模型就能取得较好效果。长文本情感分析问题的主要问题在于篇幅较长且包含复杂特征,文本中的关键性特征通常难以发现和提取。本文提出了一种基于依存句法分析的图卷积网络方法,通过依存分析获取文本的语序信息,能够更有效地克服长文本情感分析中的主要技术障碍。一方面,构造由文档和词语组成的文本图结构,使用传统的TF-IDF确定词语与文档之间的边,另一方面通过文档词之间的相关性和依存关系确定词语与词语之间的边。在解决财经新闻的情感分类任务时,该模型与传统的机器学习和深度学习方法相比有明显性能优势,分类准确率和Macro_F1值相比各类方法都有较大提升。
词语与文档之间相关性权重和词语与词语之间相关性权重的计算方式有很多种,本文使用较为简单的TF-IDF和PMI计算,取得了一定的性能提升。在后续的工作中,将尝试使用表征能力更强的计算方式,如使用互信息法(Mutual Information, MI)[35]或信息增益法(Information Gain, IG)[36]计算词语与文档的相关性;使用情感倾向SO-PMI(Semantic Orientation Point-wise Mutual Information)[37]或余弦相似度等计算词语与词语的相关性,并进一步研究滑动窗口对词语关联信息提取的影响。