APP下载

面向商品中文评论的方面抽取研究

2022-11-01苏明星吴厚月张顺香

宿州学院学报 2022年6期
关键词:注意力向量文本

苏明星,吴厚月,张顺香

安徽理工大学计算机科学与工程学院,安徽淮南,232001

方面抽取是文本方面级情感分析任务的核心子任务之一,能否准确且全面地抽取出评论文本中所表达的方面词,决定了后续情感分析任务是否能顺利展开。越来越多研究者开始关注如何提高抽取结果的准确度,进而促进文本方面级情感分析的研究[1]。在商品中文评论信息的方面及研究领域中,方面抽取的目标是从给定的商品评价文本中抽取出用户评价的具体方面,方面是指评论文本中观点词所指向的最小对象[2],即表达商品属性的词。一般而言,抽取方法的主要思想是:首先,对输入的文本序列进行词嵌入获得文本的向量化表示;然后,通过卷积神经网络(简称CNN)和循环神经网络(简称RNN)等网络结构对输入文本进行特征提取;最后,利用CRF求解出最优的标签结果。

传统词嵌入是通过样本数据进行训练得到一个静态向量映射矩阵,即一个词由唯一的词向量表示,对于中文的一词多义不同和语境的表征特点,造成抽取结果出现偏差。因此,在抽取商品评论信息中的方面词时,需要考虑如何让词向量能在不同语境下表示不同的含义,避免因为一词多义造成抽取准确率下降。

对于如何提高词向量表征能力的研究,已有很多的研究成果出现。其中表现最为突出的是Google团队提出的BERT预训练语言模型[3],该模型通过学习词向量与上下文的关系函数而非词向量的方式解决了无法表征一词多义问题,并在各类的英文NLP任务上取得目前最好的成绩。本研究尝试将BERT预训练语言模型引入商品中文评论的方面抽取任务中,提高抽取结果的准确度。在面向商品中文评论的方面抽取任务中,本文提出一种基于BERT的商品中文评论方面抽取模型。所提出的模型在序列标注基准网络BiGRU-CRF的基础上引入BERT预训练模型和注意力机制作为模型的辅助信息,进一步提高抽取的准确度。BERT+BiGRU相结合确保了模型能够充分学习到文本序列的上下文信息和词向量之间的长期依赖,引入注意力机制是考虑到文本序列中不同词对于抽取目标有不同程度的影响,有利于降低非目标词对抽取结果的影响。

1 相关理论

目前,面向商品中文评论信息的方面抽取研究常用的方法可以分为基于规则与统计相结合的方法、基于传统机器学习的方法以及基于深度学习的方法。

1.1 基于规则与统计相结合的方法

早期对于文本序列的方面抽取研究,是基于人工制定的规则和统计学知识,从繁杂的评论信息文本中抽取出相应的研究目标。Hu等[4]在进行属性抽取研究任务时,发现绝大多数的显示属性都是名词或者名词性的短语,因此他们将对应的关联规则引入进属性抽取任务中,提高了抽取的准确度。在此基础上,Zhuang等[5]利用评论对象和评论意见之间的依存关系,提出一种融合依存关系的抽取方法,从电影评论文本中抽取出“对象-意见”词对。Wang等[6]通过已有的语料训练出评价对象和评价意见的种子集,利用Bootstrapping算法对评论文本进行交替识别,抽取出文本中的评价对象和意见词。虽然基于规则与统计相结合的方法在一定程度上提高了抽取的准确度,但该类方法依赖大量人工制定的规则,导致方法抽取预定规则之外的属性的能力是很差的,方法不具有普适性。

1.2 基于传统机器学习的方法

基于传统机器学习的方法摒弃了人工制定规则的研究思路,将抽取任务利用传统机器学习的思维转化成序列标注问题。Jin等[7]利用隐马尔可夫模型(HMM)通过训练语料学习如何标记出评价对象。乐娟等[8]在研究京剧领域的命名实体识别的任务中,引入隐马尔可夫模型,取得较好的实验结果。Jakob等[9]首次尝试将条件随机场模型(CRF) 用于评论文本中商品属性的抽取任务,提高了抽取的准确度。彭春艳等[10]将CRF、单词间的距离依赖关系和单词的结构特征相结合,在生物命名实体识别任务中取得较高的提升。鞠九朋等[11]在地理空间命名实体识别任务中,通过将CRF模型与关联规则相结合,提高了识别的准确度和全面性。虽然基于传统的机器学习方法不要人工制定相应的规则,方法的普适性大大提高,但是由于机器学习方法的本身特性,大量繁琐的特征工程依旧需要消耗大量的人力资源。

1.3 基于深度学习的方法

为了能减少繁琐的特征工程,在抽取领域中,引入深度学习的方法。苏丰龙等[12]将深度学习的词嵌入(Word Embedding)应用到领域实体属性抽取任务中。Li等[13]将双向的长短期记忆单元网络(Bi-LSTM)和注意力机制相结合,实现抽取属性过程和情感分析过程特征共享。Toh等[14]在传统的CRF模型的基础之上,引入双向循环神经网络(Bi-RNN),在官方数据集SemEval 2016中获得最优的评价效果。深度学习通过大量的训练语料学习,给能避免传统机器学习需要人工选择的过程,这类端到端的神经网络模型越来越被学者选择。

文本提出的抽取方法是建立在已有的标注序列基准模型BiGRU+CRF基础之上的,引入BERT预训练模型编码商品中文评论,解决传统词嵌入无法表征一词多义的问题。另外,为了模型能学习到更具体的文本特征将注意力机制引入进来,进一步提高模型的特征学习能力。

2 模型介绍

文本所提出的抽取模型由以下四个部分组成:编码层、文本特征提取层、注意力层和CRF层,模型具体结构如图1所示。以下是各层的功能简介:

图1 基于BERT的商品中文评论方面抽取模型

(1)编码层:通过BERT预训练模型来对输入的原始序文本进行编码,获得具有强表征能力的词向量。

(2)文本特征提取层:利用双向的GRU网络结构对序列文本进行特征提取,获取文本特征。

(3)注意力层:为提取出的每一个文本特征赋予不同的关注度,表示不同文本特征在本任务中的不同重要程度,进一步提取需要的文本特征。

(4)CRF层:将上游网络模型的输出输入到条件随机场(CRF)中,找出最优的抽取结果,完成商品评论文本中方面词的抽取。

2.1 编码层

在商品中文评论方面抽取领域,通过传统词嵌入技术只能获得静态词向量,不能根据当前上下文来动态表征字词的多义性。近些年来,随着BERT预训练语言模型的广泛使用,已经在众多的英文NLP任务上证明了该模型能够有效解决传统词向量无法表征一词多义问题,BERT预训练语言模型的具体框架结构如图2所示。BERT模型主要是基于双向的Transformer网络架构,Transformer模型是由Google提出的一种摒弃RNN只依赖Self-Attention机制的新网络架构。Self-Attention机制的存在,让输入文本序列的任意单元都可以进行交互,没有长度的限制问题,高效捕获长距离上下文语义特征,再加上采用双向的Transformer编码器结构,当前单元的左右语境信息也可以有效捕获。

图2 BERT预训练语言模型结构示意图

BERT模型在进行预训练的过程中,对训练语料进行字级别的遮蔽(Mask)处理再对这一遮蔽进行推理预测,从而完成预训练。以空格为分割的英文而言,这样的遮蔽处理是不会破坏词的本身含义,但对于中文而言,字级别的遮蔽会导致词汇产生偏差。针对BERT如何应用在中文的NLP任务上,哈工大和科大讯飞联合布全词覆盖的中文BERT模型[15],遮蔽处理不再是以字为基本单位,而是以词为基本单位,在多个中文数据集上的表现都超越了原始的BERT模型。

本文对原始中文评论数据进行预处理后,将序列文本S={S1,S2,…,Sn},n为输入文本词个数,通过one-hot编码后输入到BERT模型中,模型输出文本序列的词向量表示,即X={X1,X2,…,Xn}。

2.2 文本特征抽取层

本文采取门控循环网络GRU作为文本特征的抽取网络,GRU是循环神经网络(RNN)的一种变体,是为了解决RNN长期记忆和反向传播中的梯度问题而提出来的,其网络单元具体结构如图3。

图3 门控循环单元GRU

GRU的输入和输出结构与普通的RNN是一样的:时刻t,输入xt和上一个节点传递下来的隐藏状态ht-1,这个隐藏状态包含了序列文本的历史信息,得到当前隐藏节点的输出yt和传递给下一个节点的隐藏状态ht。GRU内部设有两个门控状态:重置门控和更新门控,通过这两个门控来解决原始RNN带来的梯度问题。

在时刻t,模型接受输入xt和隐藏状态ht-1,通过GRU内部的门控结构对传入的数据进行处理,当前节点输出yt和传递下一个时序的隐藏状态ht。内部具体门控计算公式如(1)~(5)所示:

(1)

(2)

(3)

(4)

yt=σ(Wo·ht)

(5)

为了能够充分挖掘到上下文的长依赖关系,采用双向GRU模型,分别对前文信息和后文信息同时进行处理,通过BERT预训练模型获得词向量矩阵表示X={X1,X2,…,Xn},输入到BiLSTM模型中,t时刻,前向GRU和后向GRU输出的隐藏层状态分别表示为式(6)和式(7):

(6)

(7)

将向前GRU隐藏状态(6)和向后GRU隐藏状态(7)拼接起来形成新的状态向量记为ht,作为t时刻BiGRU隐藏层的输出。

2.3 注意力计算层

在处理序列文本问题时,传统的BiGRU-CRF模型对待每一个单词的重视程度都是一样的,这一点明显与现实中的情况不符合,为了区分每个词对任务的不同程度的重要性,在传统的模型基础上引入注意力机制。将文本特征提取层输出的文本特征向量输入到注意力计算层中,计算每个词向量的重要程度。计算方法如式(8):

αi=softmax(S(K,Q))

(8)

计算得到的αi称为注意力分布(概率分布),S(K,Q)是注意力打分机制,这里采用缩放点积形式计算:

(9)

注意力分布αi可以解释为在上下文查询Q时,第i个信息受关注程度,这里采用线性加权信息选择机制对输入信息X进行编码,编码公式:

(10)

其中,Q表示Query矩阵;K表示Key矩阵;V表示Value矩阵,三个矩阵都是由文本特征向量经过线性变换得来的。D是文本向量的维度数,除以向量维度数的开方主要是为了梯度稳定。注意力机制的实质就是一个寻址的过程,给定一个和任务相关的查询Query向量q,通过计算与Key的注意力分布并附加在Value上,从而计算注意力的值。

2.4 CRF层

如果输出词之间存在较强的依赖关系(存在强依赖的标签词),GRU无法对这些约束进行建模,性能将会受到限制。因此,上述网络模型的输出后,使用经典的线性CRF模型来标注评论文本中的商品方面词。CRF模型能够建模状态之间的转移概率(标注标签之间的依赖关系),通过考虑标签之间的转移概率关系从而获取一个全局最优的标注序列。

从注意力计算层获得的结果需要接入到一个线性层,将向量映射到m(标签个数)维空间得到矩阵Z。Z矩阵为n×m,其中n为输入句子中词的个数;m为标签类别数;表示预测输入句子S中第i个单词被标注为标签j的概率值。再将矩阵Z输入到CRF模型中,通过计算得到最优的标签输出。CRF模型具体计算公式如式(11):

(11)

W(X,Y) 表示给定输入序列X,对应的标签序列Y的预测估分,其中S表示标签之间的概率转移矩阵,即Syi-1,yi为标签yi-1转移到标签yi的概率值,Zi,yi表示第i个词映射到标签yi的非归一化概率。标签序列预测概率公式如式(12):

(12)

Y′代表真实的文本标注序列,YX表示输入序列的所有可能产生的标注序列。在模型训练阶段,通过似然函数得到有效合理的标签输出序列,在模型预测阶段,通过公式(13)得到全局最优的一组标签序列。

(13)

3 实验方法和结果分析

本实验选择pytorch框架进行网络的搭建,所提出的抽取方法中CRF层是由CRF++0.58开源工具包实现训练和测试的,实验所使用到的训练集和测试集均是采用爬虫方式从淘宝和京东的在线商品评论中爬取出来,采用了合工大信息检索实验室的LTP工具进行分词等处理,编码层的BERT模型也是采用了哈工大和讯飞联合发布的中文版开源包。

3.1 实验数据

分别从淘宝和京东上爬取商品评论文本从而构建实验数据集,并对数据集进行清除无情感倾向的语句、去除含有隐式方面词的评论文本、分类处理。最终得到只包含“手机评论”“相机评论”和“男士衣服评论”三种不带中性语句的商品评论文本,其中“手机评论”文本中共有2 178条语句,“相机评论”文本中共有1 782条语句,“男士衣服评论”文本中共有2 956条语句。对预处理过的商品评论文本进行人工标注(“手机评论”“相机评论”和“男士衣服评论”的标注数目分别为2 013、1 518和2 874条),并将7/10已经标注的文本数据作为本实验的训练数据,剩余已标注的部分数据则作为测试数据。

标注数据的任务由本文作者和另一位作者一同完成,为了保证标注准确性,对同一份数据各自进行标注,标注完成后进行交叉对比,标注任务利用到网上开源的文本注释工具软件doccano,采用通用的BIO三元标注法对数据集中的中文文本进行标注。

3.2 评价标准

文本采用的评价标准分别为准确率(P)、召回率(R)和F1值。其定义如公式(14)~(16):

(14)

(15)

(16)

其中,TP代表抽取方法抽取到正确商品方面的数量,FP代表抽取方法抽取错误商品方面的数量,FN代表抽取方法没有抽取目标商品方面的数量。

3.3 实验参数和方法

3.3.1 实验环境

实验环境部署在华为云服务器,进行模型训练和模型测试的具体实验环境配置如表1所示。

表1 模型训练的环境配置

3.3.2 实验参数

模型的编码层采用了哈工大和科大讯飞联合发布的中文BERT预训练语言模型,Transformer共有12层,中间的隐藏层维度数为768,注意力头12个,合计共有110 M参数。模型训练过程中,batchsize设置成64,dropout设置成0.5,学习率采用普遍使用的1×10-5,文本特征提取层中的BiGRU向前和向后隐藏状态的维度都设置成128,优化器选择Adam对模型训练损失最小化。

3.3.3 实验方法

为了验证文本提出的方法相比基于传统词嵌入的抽取方法提高了抽取准确率,选择了两种传统的抽取方法作为实验对比;另外为了验证模型引入注意力机制对准确率的提高作用,分别又做了另外三组的消融实验,即去除注意力机制、去除BiGRU模块以及单独的BERT模型。六组实验数据相同,使用的抽取方法具体如下:

(1)实验A利用传统词嵌入Word2Vec训练本文的数据集,将获得的词向量输入文本序列标注的基准模型BiGRU-CRF里,抽取出评论文本中出现的商品方面词;

(2)实验B利用传统词嵌入Glove训练本文的数据集,将获得的词向量输入基准模型BiGRU-CRF种,进行任务抽取;

(3)实验C将本文的数据集利用BERT预训练语言模型得到动态词向量,输入BiGRU-CRF中完成抽取方面词;

(4)实验D只使用BERT模型,数据输入BERT模型后直接进入分类器,输出最终结果;

(5)实验E在实验D基础上加入了CRF模块;

(6)实验F使用本文所提出的抽取模型。

3.4 实验结果与分析

根据3.3设置的实验方法,在文本的数据集上分别进行实验,表2给出六组实验的实验结果。

从表2可以看出,实验A和实验B在文本的数据集上的实验结果准确率P、召回率R和F1值相差很小;实验C的F1值相比前两个传统抽取模型分别增加了7.11%和7.73%;单独BERT模型做抽取任务的实验D相比较实验A和实验B,实验结果都有明显提升;在实验C基础之上引入注意力机制的实验F相比于实验C在F1值上增长了1.09%。因此,文本提出的基于BERT的商品中文评论方面词抽取模型(实验F)在准确度、召回率和F1值上均优于传统词嵌入的抽取方法(实验A、B),能够更好学习到商品评论文本的上下文语义信息。

表2 6组实验结果对比

实验F与实验C、D和E的对比可以看出,在BERT模型的基础之上引入BiGRU和CRF模块可以有效提升最终的抽取结果,这可能是因为BERT模型对于处理标签之间依赖的能力较弱,其后增加的CRF模块能较好地弥补BERT的这一缺陷。

实验C和实验F的对比实验结果证明,引入注意力机制有利于提高抽取任务的准确度。可以理解为引入注意力机制,可以降低无关词对于CRF层的影响,让模型更加关注对应任务目标,减少非目标词对抽取结果的影响。

另外,通过多次实验发现规定的句子长度(sequence length模型超参)不同,对实验的准确率、召回率和F1值影响也不同,对此猜测可能是因为BERT层和BiGRU层的输入规模所导致。BERT层和BiGRU层内部结构都考虑到上下文信息,不同的句子长度所带来的上下文信息量也是不同的,导致最后实验结果的不同。通过实验可以确定sequence length设置成512时能够取得较好的结果。

4 总 结

在商品中文评论方面抽取研究领域中,针对传统抽取方法的词嵌入无法表征中文汉词在具体语境下产生一词多义的问题,本文提出一种基于BERT的商品评论方面抽取模型。将BERT预训练语言模型应用到商品中文评论方面抽取领域,并证明其提高了抽取的准确度,为之后的商品中文方面情感分析任务提供研究基础。

本研究的方法是基于方面词在商品评论文本中显示表达的基础上,对于隐式的商品方面本文在数据处理阶段过滤掉了。因此,如何提取商品中文评论文本中的隐式方面,需要开启新的研究方向。

猜你喜欢

注意力向量文本
向量的分解
让注意力“飞”回来
聚焦“向量与三角”创新题
在808DA上文本显示的改善
基于doc2vec和TF-IDF的相似文本识别
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用
文本之中·文本之外·文本之上——童话故事《坐井观天》的教学隐喻
向量五种“变身” 玩转圆锥曲线