APP下载

基于注意力机制的循环神经网络评价对象抽取模型

2019-04-01杨善良

计算机应用与软件 2019年3期
关键词:向量注意力对象

杨善良 孙 启

1(山东理工大学计算机科学与技术学院 山东 淄博 255049)2(中国传媒大学传媒科学研究所 北京 100024)

0 引 言

评价对象是评论文本中的评价主体,评论文本内容集中反映了对该主体的情感态度。评价对象抽取任务就是从评论文本中抽取出评价对象,但是评价对象在评论文本中的表现形式多样,抽取过程面临诸多挑战。首先,评论文本中通常包含显式和隐式评价对象,对于显式评价对象容易从文本中直接抽取,然而隐式评价对象往往不出现在评论文本中,需要通过上下文进行推理,完成抽取任务相对困难。其次,显式评价对象通常是一个短语,由一个或多个词语组成,确定评价对象的边界非常困难。下面以“中美贸易战”话题的相关评论为例进行说明,评论示例如表1所示。评论1中并没有评价对象出现,但是在该话题语境下其评价对象是“美国发动贸易战”这件事;评论2的第二句中有显式评价对象“美国”,是一个名词,抽取该评价对象较为容易;评论3中的评价对象是“中美和平发展”,该评价对象是一个名词短语,可以看作由“中美”、“和平”和“发展”等三个词语组成。

表1 评论示例表

本文重点研究显式评价对象抽取任务,解决评价对象由多个词语组成时所面临的困难。提出一种端到端的神经网络模型,减少手动设计特征模板的工作,同时提高网络评价文本中评价对象抽取准确率。本文把显式评价对象抽取任务看做序列标注问题,将文本序列映射到评价对象序列,标注的标签为该字符是否属于评价对象。采用IOB序列标注模式,B-term代表当前字符是评价对象的开始,I-term代表当前字符包含在评价对象字符串序列中,O-term代表当前字符不属于评价对象。IOB标注模式在标注出目标字符串的同时也给出了评价对象的边界,B-Term为起始边界,最后一个I-term为终止边界。显示评价对象的标注示例如下:

评论数据:“中美和平发展才是两国人民的殷切期望。”

标注数据:“B I I I I I O O O O O O O O O O O O”

随着网络评论数据的增多,以及评论数据的可获取性增强,评价对象抽取任务已经成为情感分析中的研究热点之一。Liu等[1]将评价词语和评价对象之间的对应关系作为词语对齐的依据,使用词对齐算法从网络评论中抽取评价对象和评价词语。Zhou等[2]使用集成算法抽取中文微博评论中的评价对象。首先使用对称条件概率SCP指标切分微博话题标签字符串,提取粘性值最高的字符作为候选评价对象;然后根据规则条件和词语长度限制提取语句中的候选评价对象;最后使用基于图的标签传播算法对候选评价对象排序,选择排名最高的候选评价对象作为最终抽取结果。Min等[3]首先根据句法和语义特征抽取候选评价对象,然后基于语句间的相似度计算设计出迭代程序对候选评价对象排序并确定抽取结果。Qiu等[4]利用评价对象和情感词语之间的关联关系,使用双向传播算法抽取评价对象并扩展情感词语。

隐马尔科夫模型和条件随机场模型是解决序列标注问题的常用方法。条件随机场模型在评价对象抽取任务上已经取得了许多成果。例如,文献[5]使用条件随机场CRF抽取评价对象,然后使用线性分类器对评价对象的情感倾向性进行分类。蒋润等[6]提出一种基于协同训练机制的评价对象抽取算法,使用支持向量机、最大熵、条件随机场三种模型组成评价对象候选集分类器。郑敏洁等[7]提出层叠条件随机场算法抽取句子中的评价对象,解决复合评价对象和未登录评价对象的问题。层叠条件随机场模型首先在底层条件随机场提取候选评价对象,然后对噪声进行过滤,补充未登录评价对象,合并复合评价对象,在高层条件随机场输出最终评价对象。Zhou等[8]为解决不同语言之间标注数据不平衡问题,提出跨语言评价对象抽取模型。首先根据英文标注数据集生成汉语训练数据,然后使用条件随机场模型抽取评价对象,并通过使用大量未标注汉语评论数据联合训练,以提升条件随机场模型的抽取效果。虽然条件随机场模型在评价对象抽取上取得了不错的效果,但是需要手工设计特征模板,抽取结果受特征模板的影响。

深度学习技术已经在图像处理、语音识别、人脸识别、自然语言处理等多个领域取得了显著成果。神经网络模型的特征表示能力和非线性拟合能力在评价对象抽取任务中同样能够发挥作用。在这方面已经取得了一些研究成果,例如,文献[9]使用卷积神经网络完成评价对象抽取任务。文献[10]使用循环神经网络设计评价对象抽取模型。Ding等[11]针对跨领域评价对象抽取问题,使用基于规则的非监督方法生成辅助标签,然后使用循环神经网络模型学习隐藏表达形式,以提高跨领域评价对象抽取效果。还有研究者把循环神经网络和条件随机场结合在一起,利用神经网络的特征自动抽取能力和条件随机场的序列预测能力提高序列标注任务的准确率。目前LSTM、CNN等神经网络和CRF结合的模型多应用在序列标注、命名实体识别等任务上。例如,文献[12]结合使用双向LSTM、CNN和CRF提出新的模型框架,解决序列标注问题。首先使用CNN对单词字符编码,形成单词向量,然后经过双向LSTM网络层处理后得到词语编码,最后应用CRF标注词语标签。本文将评价对象抽取任务作为序列标注问题解决,所以可以结合神经网络模型和条件概率模型来解决评价对象抽取问题,同时提高评价对象抽取效果。本文提出一种端到端的神经网络模型LSTM-Attention-CRF,在模型训练过程中不需要专门设计特征模板,序列预测过程中能够利用条件随机场的序列标注能力。

1 序列标注模型框架

评价对象抽取任务的目标是提取评论文本中的评价词语或短语,可以把评价对象抽取任务转化为序列标注问题,根据评论文本序列数据标注每个字符对应的IOB标签。序列标注系统的框架结构如图1所示,包含模型训练、模型评估和模型应用三个部分。第一部分是模型训练阶段,在这个阶段需要标注训练数据集,并设计序列标注模型,对模型进行训练使目标函数最小化;第二部分是模型测试评估阶段,把训练好的模型在测试数据上进行验证,评价模型效果;第三部分是模型的实际应用阶段,将评估结果最优的模型放在实际应用数据集上使用。

图1 序列标注系统框架图

序列标注模型主要包括隐马尔科夫模型HMM、最大熵马尔科夫模型MEMM、条件随机场模型CRF(Conditional Random Field)等。本文主要对序列标注模型进行研究,结合条件随机场模型和神经网络模型的优势,在减少特征模板设计工作的同时提高评价对象抽取的准确率。

2 CRF评价对象抽取模型

2.1 CRF模型

CRF模型是由John D. Lafferty等提出的一种无向图模型[13],在隐马尔科夫模型的基础上发展而来,避免了严格的独立性假设问题。CRF模型经常用于序列数据标注问题,在给定输入随机变量序列的情况下计算输出随机变量序列的概率分布,在中文命名实体识别、词性标注等任务上取得了非常好的效果。

条件随机场的参数化表达形式中定义了状态特征函数、状态转移特征函数和预测序列的条件概率公式。假设输入观测序列x,标注序列y的条件概率计算式表示为:

(1)

(2)

式中:Z(x)是归一化因子;tk为状态转移特征函数,计算当前位置和前一个位置的特征;sl是状态特征函数,计算当前位置特征,特征函数的取值为1或者0,当满足特征条件时取值为1,当不满足特征条件时取值为0;λk和ul是对应的特征函数权重。

2.2 特征选择

特征选择是使用条件随机场进行评价对象抽取的第一步,选择与评价对象相关的特征对CRF模型准确率起到关键作用。这里选择词语、词性、依存句法关系等作为模型特征。将这些特征组合起来作为条件随机场模型的输入信息。

词语本身是评论文本的组成部分,能够直接反映评价对象信息。词性作为词语在句子中表达的重要语法信息,对评价对象抽取有重要影响。评价对象多为名词、名词短语、动词等,评价词语多为形容词,所以词性为名词、动词、形容词的词语对抽取评价对象有参考价值。依存句法分析是分析语句的语法成分以及词语之间的依存关系,可以用树形结构进行表示。依存关系包括“主谓关系”、“动宾关系”、“定中关系”等。这里将当前节点与父节点之间的依存关系作为条件随机场模型的特征。

使用本文引言中的示例:“中美和平发展才是两国人民的殷切期望。”给出其特征表示,具体信息如表2所示。其中评价对象为“中美和平发展”,是一个名词短语,包含两个名词和一个动词。

表2 特征表示示例

2.3 模板定义

模板是对特征函数的定义,反映了上下文依赖关系和特征组合形式。模板通过设置窗口大小反映上下文依赖距离,通过定义当前位置特征反映当前位置与前后位置之间的关系。这里使用的特征模板定义如表3所示。

表3 模板形式示例

3 模型设计

3.1 词向量训练

CBOW和Skip-gram是最为经典的词嵌入模型。CBOW通过当前词语的上下文预测当前词语,Skip-gram则通过当前词语预测其上下文词语。两者都属于神经网络语言模型,通过训练模型参数得到最优的词语向量。经过词嵌入模型得到词语在语义空间上的表达。

CBOW模型根据词语的上下文来预测当前词语,模型结构包括输入层、投影层和输出层。

输入层是词语wi的上下文,取窗口宽度为c,上下文词语序列表示为context(wi)=[wi-c,wi-c+1, …,wi+c-1,wi+c],序列长度为2c。这里wi∈Rm,m代表词向量的维度。

投影层将上下文词向量累加求和,求和计算如下所示:

(3)

输出层为一颗二叉树,根据训练语料中词语构建出来的Huffman树,使用Hierarchical softmax计算最后的概率p(wi|context(wi))。

将对数似然函数作为CBOW模型的目标函数,公式如下所示:

(4)

式中:C为训练样本中包含的词语,在模型训练中利用Huffman树结构把最终目标预测转化成多个二分类概率相乘的形式。

Skip-gram模型根据当前词语预测其上下文词语,网络结构同样包括输入层、投影层和输出层。输入层为当前词语的词向量wi,投影层对wi未作任何改变,输出层与CBOW模型中相同,同样是一颗Huffman树。输出层计算上下文词语条件概率值p(context(wi)|wi),该概率值计算式表示为:

(5)

将对数似然函数作为Skip-gram模型的目标函数:

(6)

式中:C为训练样本中包含的词语。模型训练同样使用到Huffman树结构,只是对每个上下文词语进行层次二分类预测,最后将多个上下文词语的预测概率相乘。

3.2 注意力机制

神经网络中的注意力机制是受到人类视觉选择性注意力机制的启发而产生的。人类视觉在处理图像数据时根据需要将注意力集中在图像的某一部分,筛选出最有价值的信息。同样在神经网络模型中,输入数据的各个部分对模型计算结果的重要程度不同,所以采用注意力机制增加重要数据的权重,同时降低噪声数据的权重。

注意力机制最早被应用在图像处理领域,2014年Mnih等[14]基于注意力机制设计了新的循环神经网络模型结构,能够自适应地从图像中选择区域序列,只处理选中的图像区域。神经网络注意力机制在情感分析领域也得到了应用。例如Ma等[15]提出使用外部知识解决评价对象情感倾向判断问题,首先使用LSTM对输入语句进行编码,然后对评价对象使用自注意力机制,最后使用多分类器进行情感倾向性分类。

在神经网络模型中加入注意力机制的关键步骤就是设计合理的权重计算公式。注意力机制的原理可以解释为计算源数据与目标数据之间的关联程度,关联程度越强的源数据权重值越大,反之源数据的权重值越小。这里将源数据记作ms,将目标数据记作mt,权重计算式表示为:

(7)

式中:分母是归一化因子,所有源数据与目标数据函数值的总和。将式(7)以softmax函数对源数据和目标数据之间的关联函数值归一化,求得源数据在对应目标数据上的概率分布。函数f(mt,ms)的计算方法有多种,包括点乘、矩阵相乘、连接和感知器等。以下为源数据和目标数据之间关联函数的几个示例:

(8)

自注意力机制(Self Attention Mechanism)是注意力机制的一种特殊情况,其源数据和目标数据相同,计算同一个样本数据中每个元素的重要程度。在评价对象抽取任务中,则是计算语句中每个词语与其他所有词语之间的依赖关系。假设有序列数据mt(mt1,mt2,…,mtn),那么自注意力机制计算式表示为:

(9)

通过softmax公式得到权重值,该权重值反映了数据元素的重要程度,把序列数据mt与对应的权重相乘得到自注意力机制处理结果。

3.3 LSTM-CRF-Attention模型

LSTM循环神经网络适用于处理序列数据,把对序列标注重要的信息存储在记忆单元中,但是在标注过程中无法使用上下文依赖信息,会出现大量非法标注问题。例如正确标签是“OBIIO”的情况下,会给出“OIIIO”的非法标注结果,三个元素都是中间元素,明显不符合标注规则。条件随机场模型计算概率最大的标注序列,能够根据特征函数给出合理的标注结果,包含非法标注的标注序列的特征转移函数tk(yi-1,yi,x,i)的函数值为0,从而降低了标注序列的条件概率p(y|x),能够在标注结果中尽可能避免非法标注的出现。但是条件随机场需要大量特征,以及手动设置特征模板,特征和特征模板对标注结果有较大影响。为了避免非法标注问题和减少手动设置特征模板的工作,将循环神经网络和条件随机场模型进行融合,提出LSTM-CRF-Attention评价对象抽取模型,利用循环神经网络的特征表示能力和条件随机场的序列标注能力,有效提高模型效果。

LSTM-CRF-Attention的模型结构如图2所示。模型包括输入层、循环网络层、隐藏层、注意力层和标注层。输入层是词向量,每个词语映射到一个词向量,词向量初始化方法可以采用随机方式或者词嵌入训练方式;循环网络层为LSTM循环神经网络;隐藏层是LSTM网络中每个处理单元的输出结果;注意力层采用自注意力机制,自动学习序列元素在评价对象抽取中的权重;标注层采用条件随机场序列标注模型,输出每个词语位置对应的标签。

图2 LSTM-CRF-Attention模型结构图

循环神经网络的计算方法如下:

ht=ot·tanh(ct)

(10)

ot=σ(Wo·[ht-1;wt]+bo)

(11)

ct=it·gt+ft·ct-1

(12)

it=σ(Wi·[ht-1;wt]+bi)

(13)

ft=σ(Wf·[ht-1;wt]+bf)

(14)

gt=tanh(Wg·[ht-1;wt]+bg)

(15)

式中:it、ot、ft、ct分别是LSTM网络的输入门、输出门、遗忘门和记忆存储单元;ht是LSTM神经网络单元的输出向量。

注意力层计算评论文本中每个元素的权值,通过增加重要元素的权重来提高评价对象信息的表示能力。这里使用自注意力机制计算注意力层,由隐藏层h计算权重a,然后得到注意力层输出值m,计算方法如下:

(16)

mi=aihi

(17)

标注层根据注意力层输出的特征向量进行序列标注。首先根据注意力层计算标签分值矩阵P(pij),pij表示第i个词语标记为第j个标签的分值,分值矩阵计算公式如下:

pij=softmax(mi·wj+bj)

(18)

式中:mi为注意力层输出向量;wj为权重值;bj为偏置向量。

然后计算标注序列的分值,输出分值最大的标注序列。假设标注序列为y(y1,y2, …,yn),那么该标注序列的分值为score(y),计算方法如下:

(19)

式中:A为状态转移矩阵,其元素值Aij表示从第i个标签转移到第j个标签的概率;pi,yi是第i个词语标记为标签yi的分值。此处的状态转移矩阵由训练数据学习得到,由状态O转移到状态I的概率越小越能够避免出现非法标注序列“OI”,所以可以手动设置AO,I的值为0。

计算每个可能标注序列的概率值p(y),计算方法如下:

(20)

式中:Y表示所有可能标注序列的集合。

训练LSTM-Attention-CRF模型时使用最大化对数似然函数,即模型的目标函数为:

(21)

使用所提出模型预测标注序列时,选择概率最大的标注序列为:

(22)

4 实验和结果分析

4.1 实验数据集

本文中使用NLPCC2012和NLPCC2013两个数据集。NLPCC2012数据集是计算机学会举办的第一届自然语言处理和中文计算会议中的技术评测数据集,数据来自于腾讯微博,包含20个话题,共有2 023条微博数据,使用XML格式文件存储。NLPCC2013数据集是第二届自然语言处理和中文计算会议评测数据集,同样是腾讯微博数据,存储格式相同,只是数据内容不同,包含10个话题,共有899条微博。

数据集的统计分析结果如表4所示。NLPCC2012数据集中包含3 416个句子,2 353个评价对象,句子平均字数为24.39;NLPCC2013数据集中包含1 873个句子,1 677个评价对象,句子平均字数为32.24。

表4 实验数据统计表

4.2 评价方法

在评价对象抽取实验中使用准确率(precision)、召回率(recall)、F值(F-measure)等作为评价指标。准确率反映了抽取信息的准确性,召回率反映了抽取信息的完整性,F值是衡量信息抽取模型的综合性指标。由于信息抽取任务是对字符串的处理,抽取信息结果在不完全覆盖正确结果的情况下也具有一定价值。所以这里引用NLPCC评测大纲中的评价方法,将评价指标计算方法分为严格评价和宽松评价两种。

4.2.1 严格评价

严格评价方法是当抽取出的字符串与正确的字符串完全相同时,信息抽取结果才算正确。在严格评价方法下,各指标的计算公式表示为:

(23)

(24)

(25)

式中:system_correct是系统抽取结果中正确的数量;system_proposed是系统抽取结果的总数量;gold_tabel是测试数据中标注出的信息数量。

4.2.2 宽松评价

宽松评价按照抽取信息的覆盖率计算各项指标。抽取信息结果覆盖率是指系统给出的结果与测试数据中的字符串重合程度,使用如下公式计算:

(26)

式中:s是标准数据中的信息字符串,s′是系统抽取结果中对应的字符串。计算操作符|*|表示字符串长度,交集运算表示两个字符串重合的部分。

设定标准数据集合为R,系统输出结果集合为R′,则测试覆盖率可以定义为:

(27)

在宽松评价方法下,各项评价指标的计算式表示为:

(28)

(29)

(30)

式中:|R|和|R′|分别表示标准数据和系统输出结果集合中的评价对象数量。

4.3 实验结果

4.3.1 词向量训练对实验结果的影响

经过预训练得到的词向量,不仅能够加快神经网络模型的收敛速度,而且能够提高模型预测性能。这里使用CBOW、Skip-gram等词向量训练模型,得到语义空间词向量。然后在NLPCC2012和NLPCC2013数据集上进行实验,以分析词向量对神经网络模型训练结果的影响,以及不同词向量预训练模型的作用。实验中均使用词语特征作为模型输入数据,首先对语料进行分词,然后根据分词结果预训练词向量,最后使用训练好的词向量训练模型参数并进行模型测试。

LSTM-CRF-Attention模型的词向量预训练实验结果如表5所示。在NLPCC2012数据集的实验结果中,Skip-gram词向量严格评价F值为55.05%,比随机词向量测试结果提高3.72%;CBOW词向量严格评价F值为53.59%,比随机词向量测试结果提高2.26%,但是低于Skip-gram词向量测试结果。在NLPCC2013数据的实验结果中,Skip-gram词向量严格评价F值为57.05%,比随机词向量测试结果提高4.22%;CBOW词向量严格评价F值为54.26%,比随机词向量测试结果提高1.24%,但是低于Skip-gram词向量测试结果。从上述分析可以看出,对于LSTM-CRF-Attention模型,在两个数据集上,Skip-gram和CBOW词向量都能提高评价对象抽取效果,但是Skip-gram词向量训练模型起到更大的作用,优于CBOW词向量模型。

表5 LSTM-CRF-Attention预训练词向量实验结果表

4.3.2 模型对比实验

使用CRF模型为基准模型,对比分析LSTM-CRF模型、LSTM-CRF-Attention模型的效果,LSTM-CRF模型是去掉注意力机制部分的神经网络标注模型。LSTM-CRF和LSTM-CRF-Attention模型的结果是采用词向量预训练后的实验结果。CRF实验结果为“词语+词性+依存关系”特征组合的实验结果。实验结果评价指标如表6和表7所示。

表6 评价对象抽取NLPCC2012数据集对比实验结果表

表7 评价对象抽取NLPCC2013数据集对比实验结果表

可以看出,LSTM-CRF-Attention神经网络模型在评价对象抽取任务中取得最好结果。在NLPCC2012数据集上,LSTM-CRF-Attention模型的严格评价F值达到55.05%,比CRF特征组合模型提高8.15%;宽松评价F值达到57.1%,比CRF特征组合模型提高8.11%。LSTM-CRF模型的评价指标也比CRF特征组合模型有明显提高,略低于LSTM-CRF-Attention模型。在NLPCC2013数据集上,LSTM-CRF-Attention模型的严格评价F值达到57.24%,比CRF特征组合模型提高11.03%;宽松评价指标F值达到61.08%,比CRF特征组合模型提高10.9%。LSTM-CRF模型的评价指标比CRF特征组合模型有明显提高,略低于LSTM-CRF-Attention模型。

从对比实验数据来看,条件随机场与神经网络模型相融合能够大幅提高评价对象抽取模型的效果。LSTM-CRF模型的评价指标均高于CRF特征组合模型,同时在神经网络模型中加入注意力机制后,LSTM-CRF-Attention模型效果得到进一步提高。

5 结 语

本文基于注意力机制提出LSTM-CRF-Attention神经网络评价对象抽取模型,该模型在评价对象抽取效果上取得了较大提升。使用CBOW和Skip-gram词向量嵌入模型对语料进行预训练,有效提高了模型的准确率。注意力机制在神经网络模型中发挥出了重要作用,增加自注意力权重计算能够让模型更准确地提取评价对象信息。在未来的研究中,可以将词性、依赖关系等语义信息融入到神经网络模型中,能够进一步提升模型的信息抽取能力。实验数据为NLPCC测评数据集,数据规模仍然有限,需要在大规模数据集上进一步验证模型的适用性,充分发挥神经网络模型在大数据处理中的优势。

猜你喜欢

向量注意力对象
向量的分解
让注意力“飞”回来
晒晒全国优秀县委书记拟推荐对象
聚焦“向量与三角”创新题
如何培养一年级学生的注意力
攻略对象的心思好难猜
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用
区间对象族的可镇定性分析
向量五种“变身” 玩转圆锥曲线