基于CNN-BiLSTM的中文微博立场分析研究

2020-07-15 05:01张翠肖郝杰辉刘星宇孙月肖
计算机技术与发展 2020年7期
关键词:立场卷积语义

张翠肖,郝杰辉,刘星宇,孙月肖

(石家庄铁道大学 信息科学与技术学院,河北 石家庄 050043)

0 引 言

近年来,随着移动互联网技术和社交网络的迅速发展,互联网用户数量急剧增加,网络呈现出交互性、开放性、社会参与性等特征。截止2019年6月,国内网民已达到8.54亿,手机网民达8.47亿,互联网普及率达到61.2%,网络新闻用户规模达6.86亿,占网民整体的80.3%[1]。发表微博(评论)成为中国网民在互联网上的主要活动之一,用户不仅可以在社交网络平台上传图片记录自己的生活,也可以通过转发、点赞、评论等与其他用户进行互动,或者针对某一话题公开发表自己的立场或观点。近年来,立场检测课题吸引了众多学术界及工业界的关注和研究,并成为自然语言处理(NLP)中的一个新兴热门研究领域。国际语义评测比赛SemEval-2016 Task 6、自然语言处理与中文计算国际会议NLPCC2016 Task4均提出了立场检测的任务评测分析。微博用户对热点事件的立场(或态度)通常能够反映热点事件的舆情走向,因此,对微博用户评论的立场分析研究有着广泛的应用前景。

传统机器学习在对立场分析研究的工作主要集中在特征工程的构造上[2]。Anand等[3]将多种的语言学特征融入朴素贝叶斯分类器中,如n-gram、语义依存等。Sridhar等[4]利用语言学特征,运用probabilistic soft logic (PSL)对用户以及发言的立场倾向做联合建模分析。Xu等[5]使用了丰富的语义表示技术来获取原始文本中蕴含的语义信息,以达到帮助识别作者的立场目的。郑海洋等[6]利用“情感词+主题词”组合作为立场检测特征,采用SVM算法在NLPCC-2016 Task4评测中取得了不错的效果。上述方法都需要耗费大量的时间、人力在特征工程的构造上面。

近年来深度学习在自然语言处理领域取得了令人瞩目的进步,Dong等[7]利用递归神经网络中的自适应层提取文本中蕴含的情感信息,构建了针对具体对象的情感分析模型。Zarrella等[8]采用循环神经网络模型,使用迁移学习的思路将其他领域知识迁移到立场检测任务上。Chen等[9]使用训练语料训练词向量空间作为词表示,构建了基于CNN学习特征提取并进行分类的立场检测模型。Yu等[10]构建了基于LSTM的神经网络模型完成对描述主体和描述文本联合建模,取得了良好的效果。

在神经网络中,双向长短时记忆网络BiLSTM具有记忆能力,可以获取句子的长时记忆信息,而一维卷积神经网络善于获取NLP中文本的局部主要信息,将二者进行融合,则可以在获取文本的主要信息时,不丢失文本的局部信息。因此文中的主要创新如下:

(1)运用双向长短时记忆网络(BiLSTM)代替传统的RNN和LSTM,解决了梯度弥散或者梯度消失的问题,充分考虑了文本在上下文的含义,以此获取全局的语义信息。

(2)融合卷积神经网络(CNN)和BiLSTM网络,提出了CNN-BiLSTM深度模型。首先利用CNN提取局部特征,在此基础上运用BiLSTM获取全局语义特征,有效解决了局部特征与上下文语义的特征提取之间的联系,最后经过全连接层、softmax分类层输出,提高了文本立场检测分析的准确率。

1 词向量

自然语言处理是机器学习的一个重要研究领域,如何将非结构化文本数据表示成计算机能够识别处理的数据是NLP的一个非常重要的研究方向。文本表示是指将文本类型的自然语言表示成计算机能够识别处理的数据,文本向量化是指将文本转换为数值型张量的过程。向量表示克服了离散表示中维度灾难的缺点,也称为密集的词向量,是将单词与向量相关联的一种常用的有效方法,核心思想是将每个词都映射成低维空间上的一个稠密向量。其中词嵌入将每个词映射成k维向量,每篇文档假设有n个词,则这篇文档可以用n×k的矩阵表示。

获取词嵌入的方法主要有两种:

(1)在完成自然语言处理中分类或任务时学习词嵌入。在这种情况下,词向量开始是随机初始化,然后对这些词向量进行学习,其学习方式与学习神经网络的权重基本相同。

(2)在自然语言处理任务引入词向量之前,在特定训练语料上将词向量训练好,然后再将其加载到需要训练的模型中,这种词嵌入方式叫做预训练词嵌入,这是一种常用的方式。

谷歌[11]2013年发布了Word2Vec算法,因为其维度抓住了特定的语义属性,考虑到了单词与单词之间的语义关系,实现了在词嵌入空间中有意义的几何变换,因此在研究领域和工业应用中都取得了巨大成功。Word2Vec模型中,主要有Skip-Gram和CBOW两种模型,如图1和图2所示。CBOW模型不包含隐层,使用双向上下文窗口,上下文词序无关,输入层采用低维稠密向量表示,投影层简化为求和或者平均。CBOW模型的训练输入是某一个特征词的上下文相关的词对应的词向量,而输出就是这特定的一个词的词向量。Skip-Gram模型和CBOW的思路正好相反,即输入是特定的一个词的词向量,而输出是预测特定词对应的上下文词向量。

图1 CBOW词嵌入模型

图2 Skip-Gram词嵌入模型

2 CNN-BiLSTM网络融合模型

2.1 卷积神经网络

卷积神经网络(convolutional neural networks,CNN)是深度学习中具有代表性的算法之一[12]。近年来,一维卷积神经网络大量应用于提取文本词语的上下文信息,获取特征表示[13]。CNN神经网络的结构为输入、卷积、池化、全连接、输出[14]。在NLP领域,CNN对文本处理的一般流程如下:

(1)文本处理:假设评论文本句子sentence长度经预处理为n个词,每个词经过Word2Vec词嵌入查找向量化后,映射成k维向量,句子中的词序列经拼接映射成n×k维矩阵:

c={c1,c2,…,cn-h+1}

(3)池化操作:对卷积后的特征矩阵进行池化操作,通常包括最大池化、平均池化,得到某卷积核相对应的整句话特征c',通常是所有元素的最大值或者平均值:

c'=max(c)或c'=ave(c)

(4)分类输出:对经过池化操作的文本特征向量进行分类输出。

category(sentence)=softmax(c')

2.2 长短时记忆网络

长短期记忆网络(LSTM)是递归神经网络(RNN)的一种,其新颖的设计结构适合处理和预测间隔和延迟比较长的时间序列任务[15]。LSTM是一种含有记忆单元区块的类神经网络,在于其独特的“门”结构设计。采用sigmoid函数来控制信息的通过量,“门”可以表示为:

g(x)=sigmoid(Wx+b)

其中,W为“门”的权重参数,b为偏执项参数,x为输入向量。由于sigmoid函数取值范围为[0,1],当取值为0时,表示“门”关闭,信息全部不通过;反之取值为1时,则表示信息全部通过;当取值介于0和1之间,则表示信息部分通过。LSTM增加了输入门i,输出门o,遗忘门f,控制单元状态中信息的更新,这些结构的设计组合极大提升了LSTM网络处理序列数据的能力。

以ht表示包含了t时刻之前的输入信息,xt表示t时刻信息,则:

ft=sigmoid(Wf•[ht-1,xt]+bf)

it=sigmoid(Wi•[ht-1,xt]+bi)

ot=sigmoid(Wo•[ht-1,xt]+bo)

ht=ot⊗tanh(ct)

2.3 提出的网络融合模型

文中提出的CNN-BiLSTM模型由卷积神经网络CNN和双向长短时记忆网络BiLSTM融合而成,其网络结构如图3所示。首先是将文本评论预处理后,经过词向量化映射成n×k矩阵,再由卷积神经网络滤波器经过卷积后提取句子部分特征,经池化层最大池化后,由BiLSTM层获取句子全局特征,经过全连接层获得最终的句子特征向量表示,最后经过softmax层进行立场分类。

图3 CNN-BiLSTM中文微博文本立场检测模型

3 实 验

3.1 数据集

实验数据集采用NLPCC-2016 Task4,该数据集包含5个话题,分别是:话题1:IphoneSE,话题2:春节放鞭炮,话题3:俄罗斯在叙利亚的反恐行动,话题4:开放二胎,话题5:深圳禁摩限电。每个子话题包括无标签数据600条,训练数据600条和测试数据200条,共7 000条微博数据,每个话题下有3类不同立场文本,其中话题5中存在14条未标注数据,文中将未标注数据重新进行标注。

3.2 数据预处理

(1)数据清洗:微博数据中经常含有URL、符号、特殊字符等噪声数据,为了不影响后续的分词,需要在数据预处理过程中将这些噪声数据清洗去除。

(2)分词:分词是数据处理前期的一项重要工作,该实验采用2019年1月北大开源的全新中文分词工具包pkuseg,采用web(微博网络文本语料)细领域预训练模型进行分词。

(3)去停用词:停用词是指在文中经常出现,而不含实际意义的词汇。文中的停用词表在哈尔滨工业大学、四川大学、百度提供的停用词表的基础上,对三个停用词表进行整合,用于后续实验。停用词表包括数字字符、特殊字符、常用无意义词汇等。

(4)训练词向量空间:对于分词后的语句,实验采用Word2Vec中的skip-gram模式对5个话题进行词向量空间训练,词向量维度参数voab_dim设置为300维。表1是话题1:IphoneSE进行词向量空间训练后,计算与“苹果”这个词最相关的词语及其相似度值大小,在一定程度上证明了词向量空间训练的有效性。

表1 与“苹果”语义相似词语

3.3 评价指标

实验评价指标采用NLPCC-2016 Task4通用评估指标,首先分别计算测试样本“FAVOR”、“AGAINST”的F值,再以F-score(FAVOR)和F-score(AGAINST)的宏平均FAVG作为最终评价标准,计算公式如下:

FFAVOR和FAGAINST的计算公式如下:

其中,P和R分别是准确率和召回率。

3.4 实验设置

文中选择Nanyu在NLPCC2016会议上发表的实验结果作为基准线,同时设置以下对比实验:

(1)BiLSTM:只运用BiLSTM网络进行实验。

(2)CNN:只运用CNN网络进行实验。

(3)Nanyu:Nanyu在NLPCC2016会议上发表的实验模型。

(4)CNN-BiLSTM:文中提出的融合CNN、BiLSTM网络模型的实验。

实验在基于TensorFlow的深度学习框架Keras中进行,其中TensorFlow版本为1.4,Kreas版本号为2.1.0,Python版本号为3.6,实验中设定的参数为统一参数对比设置,主要参数设置如表2所示。

表2 参数设置

3.5 实验结果及分析

使用三组实验方案对五个话题分别进行子实验,调整参数设置,使用不同参数的分类器得到五个话题在测试数据上的宏平均F值。三组实验结果数据分别如表3~表5所示。

表3 BiLSTM各个话题性能

续表3

表4 CNN各个话题性能

综合表3~表5的实验结果,得到各个模型实验环境下性能的实验结果数据,见表6。

由表6中数据可以得出,CNN-BiLSTM模型取得了良好的效果,在话题1、话题2、话题3均超过了Nanyu的实验结果,FAVG绝对值结果分别提高了4.42%、23.34%和26.57%,尤其是在话题2、话题5上相对于Nanyu的实验模型,提出的实验模型相对值分别提高了44.20%、61.01%,取得了非常好的实验结果,但在话题3与话题4上的实验结果FAVG略低于Nanyu的实验模型,但达到了相当的效果。总体上,CNN-BiLSTM实验模型在五个话题的实验结果FAVG提高了7.05%,优于Nanyu的实验模型。

表6 各个模型的实验结果比较

4 结束语

基于卷积神经网络(CNN)和双向长短时记忆网络(BiLSTM)各自的特点,提出将CNN和BiLSTM网络进行融合的CNN-BiLSTM深度模型应用于自然语言处理领域中的文本立场检测分析任务中。该模型充分考虑了卷积神经网络有效提取文本局部特征与BiLSTM网络提取文本全局特征的优势,以及文本在上下文语义中的信息,有效提取了文本的特征。将CNN-BiLSTM深度模型与CNN模型、BiLSTM模型以及Nanyu的实验结果进行了对比,提出的融合模型分类准确性能评价指标宏平均FAVG值均优于单个CNN模型、单个BiLSTM模型以及Nanyu的实验模型结果值,有效提升了文本立场检测准确率,验证了CNN-BiLSTM模型的有效性。但是该神经网络的层数还不是很深,下一步将重点研究深度神经网络的应用。另外将近几年兴起的注意力机制融入实验模型中,这也是下一步的实验研究方向。

猜你喜欢
立场卷积语义
基于全卷积神经网络的猪背膘厚快速准确测定
真实场景水下语义分割方法及数据集
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
武术研究的立场
扬 善
扬善
汉语依凭介词的语义范畴
立场