摘要
【目的】利用自然语言处理技术可以为网络舆论安全提供技术支持。为解决文本情感分析中存在的循环神经网络无法获取深层加浅层的特征信息,以及动态词向量偏离核心语义的问题,本文提出了基于K-BERT和残差循环单元的K-BERT-BiRESRU-ATT的情感分析模型。【方法】首先使用K-BERT模型获取包含背景知识的语义特征向量;之后使用提出的双向残差简单循环单元(Bidirectional Residual Simple Recurrent Unit, BiRESRU),对上下文特征进行序列提取,获取深层和浅层的特征信息;然后利用注意力机制对BiRESRU的输出进行关键词权重增强;最后使用softmax进行结果分类。【结果】在ChnSentiCorp和weibo数据集上,分别达到了95.6%和98.25%的准确率;在计算速度上较使用其他循环网络每轮迭代减少了接近 5分钟,提高了计算效率。【结论】K-BERT-BiRESRU-ATT解决了动态词向量偏离核心语义的问题,获得了深层加浅层的特征信息,加速模型计算的同时也提高了分类准确率,但仍对计算能力有较大需求。
关键词: 简单循环单元; K-BERT; 情感分析; 网络舆论安全
引言
互联网时代,人人皆是信息的创造者和消费者,互联网平台为用户发声提供了阵地。对于同一事件,不同用户有不同看法,了解和分析用户观点,是及时有效处理舆情发展的方式之一,了解用户的观点态度,是改进和优化的重要途径。情感分析作为重要工具,对于维护网络舆论安全具有积极意义。
情感分析的发展经历了情感词典、传统机器学习和深度学习3个主要阶段。情感词典作为最早的情感分类方法,构建起了对情感分析的早期模板。Xu等[1]利用基本情感词、字段情感词和多疑情感词扩充了情感词典,在评论文本上提升了分类准确率;因为信息更新速度较快,使用情感词典已经难以满足实际的情感分析需求;基于传统机器学习的情感分析,主要是通过支持向量机(Support Vector Machine, SVM)、朴素贝叶斯、逻辑回归等分类器,对用户观点进行简单处理。李婷婷等[2]使用基于SVM与条件随机场相结合的方式,使用多种词性特征,提升了情感分类的正确率;Cai等[3]通过情感词典构建文本特征,使用SVM和梯度提升树的混合模型,在情感分类任务中取得了比单一模型更好的效果。然而这些基于监督学习的方法的分类结果受人工数据标注的影响较大。
深度学习的发展促进了情感分析的进步,循环神经网络(Rerrent Neural Network, RNN)是处理时序问题的关键技术,基于RNN的长短时记忆网络(Long Short-Term Memory, LSTM)和门控循环单元(Gated Recurrent Unit, GRU)克服了RNN梯度消失和梯度膨胀的缺陷,被广泛作为RNN的替代。陈帆[4]利用LSTM实现了在微博数据集上的情感分析,但并不能关联上下文语义;梁军等[5]使用基于极性转移和LSTM的情感分析方法,在极性分析中关联上下文语义,获得了不错的效果。这类方法使用静态词向量,无法解决一词多义的问题,引入了循环神经网络,增加语义获取能力,但无法解决LSTM计算速度慢的问题。
利用混合网络机制实现情感分析也成为很多学者研究的内容。Shin等 [6]将卷积神经网络(Convolutional Neural Network, CNN)用于句子分类,使用不同的卷积核来获取文本的特征,取得了很好的分类效果;赵宏等[7]使用双向长短时记忆网络和卷积神经网络CNN串行混合,得到了比双向长短时记忆网络(Bidirectional Long Short-Term Memory, BiLSTM)多的语义特征;Lai等[8]将LSTM和CNN进行结合,首先使用LSTM提取上下文信息,再通过最大池化提取特征进行分类,增加网络深度也提升了分类的效果。尽管这些方法增加了模型的分类效果,但这类方法词向量的获取仍是静态的,无法解决一词多义的问题。
注意力机制(Attention, ATT)[9]在情感分析中得到了广泛应用。孙敏等[10]将注意力机制融入到并行混合网络中,通过为模型学习到的特征给予不同程度的关注,提升了在文本情感分析中的精确率;祁瑞华等[11]使用注意力与特征融合的方式,利用注意力机制提取底层单元的跨领域情感特征权重信息,在跨领域产品评论情感分析中准确率得到进一步提升;胡艳丽等[12]针对基于词向量的循环神经网络与卷积神经网络对于文本特征的提取和保留能力不足,引入了多层自注意力机制,更好地强调了与分类相关的语义信息,实现了不错的分析效果。BERT[13]、ALBERT[14]、ERINIE[15]等使用叠加attention的Transformer[16]充分获取到了动态词向量,并解决了一词多义的问题。使用预训练模型获取动态词向量,再使用RNN作为提取序列信息,是提升情感分析效果的有效方法。沈瑞琳等[17]等结合BERT和BiGRU的特征,提升了模型的整体性能;余本功等[18]利用双重注意力,进一步强化文本的上下文相关特征和方面级相关特征。以上方法使用动态词向量,解决了静态词向量无法处理一词多义的问题,但仍存在无法理解句子的内容含义导致偏离核心语义;使用循环神经网络提升了对上下文语义特征的获取,但网络深度增加存在的特征传递丢失的问题。
本研究在上述工作的基础上,针对以上方法存在的问题,使用知识表达的K-BERT[19]模型,解决语句偏离核心语义的问题;使用减少时间步依赖的简单循环单元[20](Simple Recurrent Unit, SRU)替代LSTM,加速特征提取,并在SRU的基础上,设计了能够避免网络深度增加导致特征丢失的双向残差简单循环单元BiRESRU;最后与注意力机制相结合,提出了基于K-BERT-BiRESRU-ATT的文本情感分析模型。主要贡献和创新点如下:
(1)使用知识表达的K-BERT模型生成语料的词向量,解决多样化词向量编码空间不一致和语句偏离核心语义的问题;由于融合了知识图谱,可用于专业领域的情感分析。
(2)提出了双向残差简单循环单元BiRESRU。BiRESRU将浅层的特征与深层的特征相融合,避免了网络深度增加带来的梯度消失和特征损失,防止了网络深度增加带来的模型退化;同时该单元克服了LSTM存在的计算效率低、无法提取浅层信息的问题,有助于进一步加速运算和提升分类性能。
(3)引入注意力机制对每个时间点双向特征提取到的结果进行权重分配,增强对分类结果重要词的权重,提升模型分类性能。
1 相关技术
1.1 K-BERT模型
K-BERT模型是知识集成的语言表达模型,解决了多样化词向量编码空间不一致和语句偏离核心语义的问题,该模型可以根据不同的任务选择不同的知识图谱,融入专业知识的操作在嵌入层之前完成。模型结构如图1所示,其中I1,I2,…,In表示输入的句子,Sentence-tree代表嵌入知识的句子树,Seeing Layer代表可视化层,Embedding Layer表示嵌入知识后的嵌入词向量层, T1,T2,…,Tn表示得到的文本特征向量表示。
图1
图1 K-BERT模型结构
Fig.1 K-BERT model structure
K-BERT首先对输入的句子进行实体识别,然后将得到的实体在知识图谱中查询对应的关系和值,将查询得到的内容嵌入到句子中合适的位置,形成一个树形的结构,称为句子树(Sentence Tree)。句子树实现了对句子背景信息的补全,解决了单一句子不具备知识背景导致的词向量偏离核心语义。然而句子树不能作为序列输入,因此要将句子树变为句子序列。为了防止嵌入的关系和值影响到原来词的位置信息,在模型当中引入了软位置的概念,使用软位置将嵌入的值和关系进行编码,与实体的位置编码区分开来。K-BERT的embedding层结构如图2所示。
图2
图2 Embedding layer
Fig.2 Embedding layer
在引入软位置进行词嵌入的同时,为了避免知识噪声对句子的影响,构建了一个可视化矩阵M,用以限定每个字只能看到与自己相关的上下文以及知识,存放可视化矩阵的层称为可视化层(Seeing Layer)。
K-BERT使用堆叠的mask-transformer编码器捕获语句中深层次的双向关系。Transformer是一个seq2seq的结构,使用encode和decode的模型结构,在BERT中使用了transformer中的decode部分,该部分是一个多层的self-attention堆叠而成。在K-BERT中,使用mask-self-attention堆叠成mask-transformer,mask-self-attention在self-attention的基础上增加了一个可视化矩阵M。可视化矩阵M可以用来限制每个字的注意力范围。mask-self-attention的计算方式如公式所示:
Attention (Q,K,V)=softmax(QKT+Mdk√)V Attention (Q,K,V)=softmax(QKT+Mdk)V
(1)
其中,Q,K,V是输入向量经过线性变换得到的3个输入矩阵,dk是输入字向量维度,M是一个可视化矩阵。通过计算每个输入向量与其他向量之间关系的比重大小,得到不同的权重,再将权重与所有序列的表示加权求和,得到最终的字符表征分数。
1.2 简单循环单元
RNN是序列特征提取的重要工具,因其存在梯度消失及长距离依赖问题,广泛使用LSTM和GRU作为序列特征提取工具。然而,LSTM和GRU存在计算过程依赖,导致计算速度慢,而简单循环单元SRU可以克服时间步上的依赖,是序列特征提取的改善选择。SRU模型结构如图3所示。
图3
图3 SRU模型结构
Fig.3 SRU model struct
图3中,xt