李福鹏,付东翔
(上海理工大学 光电信息与计算机工程学院,上海 200093)
近年来,随着科学的发展和技术的进步,人工智能技术被应用到各行各业。自然语言处理领域的文本情感分析也受到众多研究者的关注,但这些研究大多都集中在电影评论、商品评论和微博分析等领域。文本情感分析在金融领域也具有非常重要的研究和实际应用价值。通过网络监控金融相关的舆情信息,能够分析行业动向和市场前景以及政府机构经济政策信息。根据行为金融学,分析上市公司的财经新闻、财务报告等信息,能够影响投资机构或投资者的投资行为,进而对股市产生影响,并对企业管理者提供一定的决策帮助[1]。针对金融领域的文本情感分析问题,本文提出一种基于Transformer编码器的金融文本情感分析方法。
文本情感分析技术分为基于情感词典的方法、基于机器学习的方法和基于深度学习的方法。
基于情感词典的方法是统计文本中情感词,例如形容词、否定词或程度副词等,对不用类型的单词赋予不同的权重大小,然后计算情感值得到情感倾向性。统计情感词可以使用算法从文本中抽取或者预先建立情感词典进行查找匹配。但这种方法十分依赖情感词抽取的准确性或情感词典的准确性,无论抽取情感词还是制作情感词典都需要大量时间和精力,不适合大规模数据集。现有的情感词典基本都是通用词典,金融领域仅有会计类的Henry词典和L&M词典。由于金融领域的文本和其他领域文本特点有所不同,其存在金融专业术语和词汇搭配,所以通用词典并不适合金融文本的情感分析[2-3]。
基于机器学习方法分析文本情感倾向性,是把情感分析作为文本二分类任务进行处理,使用已经标注好的数据集来提取特征、构建分类器,并训练模型进行情感分类。常用的方法有贝叶斯、Logistic回归、支持向量机等。Alexander Park等人使用朴素贝叶斯、支持向量机和条件随机场3种方法对Twitter上的数据的做情感分类实验,实验结果表明朴素贝叶斯分类器的表现效果优于另外两种方法[4]。文献[5]使用word2vec模型训练词向量,然后统计词频进行加权计算作为文本特征,最后使用支持向量机进行情感分类。为了获得更好的文本分析效果,也有综合使用情感词典和机器学习两种方法。文献[6]使用词典并结合支持向量机的方法进行微博文本情感分类。文献[7]研究了股评篇章的结构,并利用支持向量机进行训练,提出了一种针对股评的情感分类方法。文献[8]中通过对金融新闻进行语义标注,提取特征然后分别使用朴素贝叶斯、支持向量机和K邻近算法进行分类。但是这些都是浅层网络学习方法,且存在模型泛化能力差、工作量大等缺点。实际应用中所建立的模型需要有深度分析文本的能力,可根据不同的应用场景选择不同的特征提取方法和分类方法,同时这些方法的准确率非常依赖前期数据预处理阶段提取出特征的准确度。
深度学习模型够自动提取文本特征,故基于深度学习方法则只需要已标注好的数据,对这些数据进行多次迭代训练即可,非常适合大规模数据的应用场景,且具有较高的准确率。典型的深度学习方法有卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Network,RNN)等。自Kim第一个应用卷积神经网络模型做文本分类任务后[9],出现了一系列以CNN或RNN为基础的深度学习文本情感分析模型。由于RNN本身结构的特点,其处理序列信息效果更好,很多方法都以RNN为基础进行构建。文献[10]研究了使用LSTM特征模板提取文本特征,然后使用机器学习分类模型进行短文本情感分类的问题。文献[11]提出基于LSTM的金融新闻倾向性分析方法。文献[12]中先使用深度神经网路提出词向量特征后,再利用长短时记忆网络(Long Short-Term Memory,LSTM)网络进行文本情感分析。文献[13]则是先使用CNN网络提取局部特征,然后使用双向长短时记忆网络(Bi-directional Long Short-Term Memory,Bi-LSTM)提取全文特征,再将两个特征进行融合来分析情感倾向性。
从上述研究可以看到,对文本这种序列信息,基于LSTM的模型效果较好。这是因为LSTM是为了解决RNN网络存在的长程依赖问题而衍生的RNN变体结构。但这些以LSTM为基础的方法在计算时,需要依照序列的次序进行计算。虽然通过一些步骤对信息进行积累能够捕获远距离相互依赖的特征信息,但当距离越来越远时,捕获的可能性就越小。在金融文本数据中,文章内容以金融知识为基础,存在很多专业术语,即使是上下文之间距离较远,往往也存在着非常密切的逻辑关系,因此使用LSTM处理金融文本可能会存在一些瑕疵。注意力机制是一个借鉴人类视觉的选择性注意力机制的算法。自注意力机制(Self-attention)是注意力机制的一个变体。处理序列信息时,自注意力机制可以把序列中任意的两个序列节点通过一个步骤直接联系起来,使计算不受距离大小的限制,极大地缩短了远距离依赖特征之间的距离,能更有效地利用这些特征。2017年Vaswani等人提出一种基于自注意力机制的序列转换模型Transformer,该模型包括编码器和解码器两个部分[14]。基于上述研究以及金融文本的特点,本文提出了使用基于自注意力机制的Transformer编码器构建网络模型进行金融文本情感分析的方法。
以Transformer编码器为基础,构建包括输入层、编码器网络层和全连接层的金融文本情感分析模型,模型结构如图1所示。输入层包括词向量和位置信息,编码器网络层由多个编码器自下而上堆叠组成,除最底层的第一个编码器外,每个编码器的输入都来自紧邻下面的编码器输出。编码器网络负责特征提取,然后将结果送入全连接层进行情感分类。
模型的输入层信息由词向量和位置信息两个部分组成。词向量中存在大量的语义信息,因此解决情感分析问题的方法都是以词向量作为基本信息,然后借助神经网络模型挖掘文本的情感倾向性[15]。本文以Transformer编码器构建的网络模型也遵循这个规则,但是由于Transformer编码器是一种完全基于自注意力机制的模型,自注意力机制中序列信息上任意两个节点之间的关系是都是一样的且不受距离限制,即没有利用输入序列之间的关系。因此,需要把单词之间的序列关系,即在文本中的位置信息,输入到编码网络中学习顺序特征信息。输入值是词向量和位置信息的拼接值,其中词向量使用Word2vec模型进行训练,训练时采用Skip-gram模式,窗口大小设置为5,向量维度设置为200,位置信息采用独热编码(One-Hot)方式向量化。对于由单词构成的文本text={w1,w2,…,wn},得到输入矩阵X=[x1,x2,…,xn]。
Transformer编码器有两个子层,分别是基于自注意力机制的自注意力层和前馈网络层。同时,在每个子层内加入了残差网络和归一化层,结构如图2所示。其中自注意力层中的多头注意力(Multi-Headed Attention)模型是由h个缩放点积注意力(Scaled Dot-Product Attention)单元组成。多头注意力和缩放点积注意力的结构分别如图3和图4所示。
缩放注意力是多头注意力的基本组成单元,其计算式为
(1)
单个缩放注意力单元的计算相对简单,如果对矩阵Q、K和V进项线性计算,转换成不同的矩阵,然后使用h个缩放点积单元进行计算,最后把h个缩放点积单元计算的结果组合起来,就能够获得更多的语义特征。由于每个缩放点积单元的输入K、Q和V在进行计算时的权重不同,就能够获取来自文本不同空间的语义特征。同时为了捕获句子内部单词之间的特征关系,取K=V=Q=X,计算式如下
(2)
MultiHead(Q,K,V)=Concat(head1,…,headh)WO
(3)
对于text={w1,w2,…,wn}输入序列中的填充数据部分,因为引入了位置信息会导致权重值不为0,所以需要在进行softmax函数计算之前把其mask为0来消除填充数据的影响。在本文的模型设计中使用padding-mask方式实现,即对填充的padding位置赋予一个负无穷大的数值,这样经softmax函数计算后结果就是一个趋近于0的值。
输入矩阵X按照式(2)和式(3)进行多头注意力计算后得到矩阵Z,然后利用残差网络和层归一化调整特征信息以提高系统的准确度。计算式如下
L=layernorm(X+Z)
(4)
层归一化的具体推导过程参考文献[16]。
前馈网络层由两个大小为1的卷积核组成,使用ReLu激活函数做两次线性转换
FFN(L)=max(0,LW1+b1)W2+b2
(5)
式中,W1和W2为权重值;b1和b2为偏置量。最后通过一次残差网络和层归一化调整特征值作为Transformer编码器的最终输出值
T=layernorm(L+FFN(L))
(6)
Transformer编码器网络总共使用n个编码器抽取文本的特征,最后将学习到的分布式特征使用全连接层进行特征整合映射到样本标记空间,以便进行文本情感倾向性分类。
金融文本情感分析的数据集,采用财经新闻进行构建,以金融信息咨询公司做出的市场利多或利空评价为依据,把情感倾向性划分为积极和消极两类并打上标签,以1 000条市场利多新闻和1 000条市场利空新闻为基础构建平衡语料,数据示例如表1所示。实验中把数据做标准分词去停用词预处理,模型输入的句子长度向量化为400个单词,句子中超过规定长度的部分被舍弃,不足规定长度的句子则在后面进行填充补齐,然后按照80%和20%的比例将数据随机划分成训练集和测试集。
表1 数据示例Table 1. Data sample
由于实验数据集只有两万条,故实验过程中模型的Transformer编码器网络中编码器的层数设置为1,每个编码器的多头注意力的数量设置为8,实验的其它参数设置如表2所示。采用查准率(precision)、查全率(recall)和F1值3个不同的评价指标衡量模型的好坏。查准率是预测为正例(包括真正例TP和假正例FP)结果中真正例所占的比例;查全率为真正例占该类样本中所有正例(包括真正例TP和假反例FN)的比例;F1值定义为查准率和查全率的调和平均数,计算式为
表2 参数设置Table 2. Parameters setting
(7)
(8)
(9)
文中定义二元交叉熵损失作为模型的loss值。观察模型训练过程中的状态,图5是模型在训练过程中loss值随迭代步数变化的曲线,可以看到在100步之前模型收敛速度快,loss值迅速下降;在100~400步之间收敛速度变慢,并且存在较小波动;当迭代步数达到400步后的loss值缓慢减小,模型仍在学习;500步之后曲线loss趋于平稳,loss值趋于稳定。
为了验证本文方法的有效性,使用同一个的数据集,选取几种经典的文本情感分析方法做对比实验:(1)文本卷积神经网络(textCNN)。文本通过卷积网络后,进入最大池化层,然后连接全连接层和softmax输出;(2)双向长短时记忆网络(Bi-LSTM)。使用前向LSTM和后向LSTM获取两个方向的上下文特征后拼接向量,通过全连接层输出;(3)卷积递归神经网络(CRNN)。使用Bi-LSTM作为循环结构获取文本特征,替换CNN网络中的最后两层卷积,之后使用最大池化和全连接层输出。以上几种方法的实验结果如表3所示。
表3 实验结果Table 3. Experiment results
综合考虑3个评价指标,表3的对比实验结果表明,采用Transformer编码器构建的网络模型效果最好,尤其是F1值相比textCNN、CRNN和Bi-LSTM明显提高。从式(7)和式(8)可以看到查准率和查全率是一对矛盾值,查准率能衡量模型分类的准确性,而查全率则是衡量模型能否找全该类别的样本[16]。因此只有当两个值都比较大时,模型的综合性能才是最优的。F1值作为这两个指标的调和平均数,能够综合衡量模型好坏。textCNN模型查准率较高,但是查全率比较低,在找全该类时效果较差。CRNN模型结构是在CNN模型的基础上使用Bi-LSTM替换了CNN的最后两个卷积层,改善了模型,所以综合性能比textCNN要好,故F1值略高于textCNN。Bi-LSTM模型在前后两个方向捕捉特征,并利用了LSTM结构能捕获长距离特征的优点,所以在所有模型中查准率最高,但是查全率则是最低,导致F1值也最小。本文提出的基于Transformer编码器的模型无论是查准率还是查全率都比较高,综合指标F1值也是最大的,主要有两方面的原因:从模型结构上分析,Transformer编码器在处理文本序列时,不受序列中单词之间距离的限制,任意两个单词之间的关系都可以捕获。而其它模型则在这方面存在缺陷:(1)CNN模型不能捕捉这种关系;(2)CRNN模型仅在模型最后两层加入了Bi-LSTM单元捕捉特征不够全面;(3)Bi-LSTM的LSTM单元改善了RNN的结构,在一定程度上解决了长程依赖问题,但当单词之间距离越来越远时,就很难捕捉这种特征;从数据集上分析,金融类型文本的特点就是上下文之间存在较强的金融理论关联,这进一步增强了Transformer编码器模型的优势。上述实验结果表明,本文提出基于Transformer编码器的方法在处理金融文本情感分析问题时比基于卷积神经网络或循环神经网络的模型效果更好,证明了本文方法的有效性和可行性。
本文提出的基于Transformer编码器的金融文本情感分析方法,利用自注意力机制处理序列数据不受距离限制和Transformer编码器多头注意力获取各个层面特征的优点,能够捕获更多的金融文本上下文特征。实验结果表明了本文方法处理金融文本数据的有效性,且比经典的CNN模型和LSTM等模型效果要好。但本文方法存在计算量大、训练时间长的缺点,在今后的研究工作中将探讨如何融合经典方法各自的优点,改善模型的缺点,提升模型的效果。