«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (11): 96-103  DOI: 10.19678/j.issn.1000-3428.0062992
0

引用本文  

崔伟琪, 严馨, 滕磊, 等. 一种通过评价类别分类提升评价对象抽取性能的方法[J]. 计算机工程, 2022, 48(11), 96-103. DOI: 10.19678/j.issn.1000-3428.0062992.
CUI Weiqi, YAN Xin, TENG Lei, et al. A Method for Improving Performance of Opinion Targets Extraction by Evaluating Category Classification[J]. Computer Engineering, 2022, 48(11), 96-103. DOI: 10.19678/j.issn.1000-3428.0062992.

基金项目

国家自然科学基金(61562049,61462055)

作者简介

崔伟琪(1996—),男,硕士研究生,主研方向为自然语言处理;
严馨,副教授、硕士;
滕磊,硕士;
陈玮,讲师、博士研究生;
徐广义,高级工程师、硕士

文章历史

收稿日期:2021-10-19
修回日期:2021-12-24
一种通过评价类别分类提升评价对象抽取性能的方法
崔伟琪1,2 , 严馨1,2 , 滕磊3 , 陈玮1,2 , 徐广义4     
1. 昆明理工大学 信息工程与自动化学院, 昆明 650504;
2. 昆明理工大学 云南省人工智能重点实验室, 昆明 650504;
3. 湖南快乐阳光互动娱乐传媒有限公司, 长沙 410000;
4. 云南南天电子信息产业股份有限公司, 昆明 650040
摘要:评价对象抽取主要用于文本的意见挖掘,旨在发掘评论文本中的评价对象实体。基于无监督的自编码器方法可以识别评论语料库中潜藏的主题信息,且无需人工标注语料,但自编码器抽取的评价对象缺乏多样性。提出一种基于监督学习的句子级分类任务和无监督学习自编码器混合模型。该模型通过训练一个分类器生成评价对象类别,对自编码器共享分类任务中的LSTM-Attention结构进行编码得到句向量表征,以增加语义关联度,根据得到的评价对象类别将句向量表征转化为中间层语义向量,从而捕捉到评价对象类别与评价对象之间的相关性,提高编码器的编码能力,最终通过对句向量的重构进行解码得到评价对象矩阵,并依据计算评价对象矩阵与句中单词的余弦相似度完成评价对象的抽取。在多领域评论语料库上的实验结果表明,与k-means、LocLDA等方法相比,该方法评价指标在餐厅领域中提升了3.7%,在酒店领域中提升了2.1%,可有效解决训练过程缺少评价类别多样性的问题,具有较好的评价对象抽取能力。
关键词自编码器    注意力机制    句子分类    长短期记忆模型    评价对象抽取    
A Method for Improving Performance of Opinion Targets Extraction by Evaluating Category Classification
CUI Weiqi1,2 , YAN Xin1,2 , TENG Lei3 , CHEN Wei1,2 , XU Guangyi4     
1. School of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650504, China;
2. Yunnan Key Laboratory of Artificial Intelligence, Kunming University of Science and Technology, Kunming 650504, China;
3. Hunantv.com Interactive Entertainment Media Co., Ltd., Changsha 410000, China;
4. Yunnan Nantian Electronics Information Co., Ltd., Kunming 650040, China
Abstract: Opinion targets extraction is mainly used for text opinion mining to discover evaluation object entities in review texts.The algorithm based on an unsupervised autoencoder can identify hidden topic information in the review corpus without manual annotation, but the evaluation objects extracted by the autoencoder lack diversity.This paper proposes a hybrid model of sentence-level classification tasks using supervised learning and autoencoder based on unsupervised learning.The model trains a classifier to generate aspect categories.The Long Short-Term Memory(LSTM)-Attention structure in the shared classification task of the encoder is encoded to obtain the sentence vector representation to increase the semantic relevance.The obtained aspect category then transforms the sentence vector representation into the middle layer semantic vector to capture the correlation between the aspect category and aspect extraction and to improve the coding ability of the encoder.The model decodes the reconstruction of the sentence vector and trains it to obtain the aspect matrix.Finally, the aspect is extracted by calculating the cosine similarity between the aspect matrix and the words in the sentence.The experimental results for the multidomain review corpus show that compared with k-means and Localized Linear Discriminant Analysis(LocLDA), the evaluation index of this method improves by 3.7% in the restaurant field and 2.1% in the hotel field.This approach somewhat solves the problem of lack of evaluation category diversity in the training process and exhibits improved extraction ability of evaluation objects.
Key words: autoencoder    attention mechanism    sentence classification    Long Short-Term Memory(LSTM) model    opinion targets extraction    

开放科学(资源服务)标志码(OSID):

0 概述

评价对象抽取任务作为方面级情感分析任务的一个关键子任务,旨在抽取用户评论语句中评价对象的实体[1]。评价对象抽取包括以下子任务:抽取评论语料库中所有的评价对象;对语义相似的评价对象实例进行聚类,保证每个类别中包含相似的多个评价对象实例,即保证评价对象的一致性。

传统评价对象抽取任务的方法大概分为三类:基于规则的方法,有监督的方法和无监督的方法。从用户评论中抽取评价对象的工作最早由文献[2]提出,主要介绍了显性评价对象和隐性评价对象的区别,运用一套基于统计观察的规则处理显性的评价对象。文献[3]通过计算名词短语和产品类之间的逐点互信息来检测名词或名词短语是否为产品特征,提升了评价对象抽取任务的效果。文献[4]介绍了基于常见信息和依赖信息挖掘的特征,使用WordNet查找意见种子词的同义词和反义词来提取意见词,从而对产品评价对象进行抽取。这些方法都严重依赖预先制定的规则,并且只要当评价对象在很小的一组名词范围内时模型才表现得很好。在基于规则的方法中,大多需要构建句法依存树等预处理工作并需要人为构建隐式评价对象字典、情感词典和名词规则[5-6]。该类方法的缺点在于:并不会将抽取的评价对象进行聚类,抽取的评价对象缺少高度的一致性。

在有监督学习方法中,文献[7]提出基于条件随机场的可以自动学习特征的神经网络模型进行评价对象抽取。另外,卷积神经网络作为该任务最有效可行的方法之一用于各个模型的构建。例如,文献[8]使用七层卷积神经网络对评价对象进行抽取。文献[9]使用双嵌入加卷积神经网络的结构得到当时最好的结果。文献[10]介绍一种卷积神经网络和主题模型相结合的监督学习模型,该模型通过动态滤波器来对评价对象进行抽取,并考虑到评论具有潜在话题结构,引入一个神经主题模型,将潜在主题集成到基于卷积神经网络的模块中,以帮助识别评价对象特征,该模型能够有效地识别评价对象的各个方面,并产生可解释的主题。此外,文献[11]提出了领域自适应策略,将知识从一个足够标记的源域转移到未标记的目标域,并提出了多层次的词交互转移模型(MSWIT),MSWIT构造了细粒度组件和粗粒度组件两个交互式组件,细粒度组件为单词级特征表示,粗粒度组件为句子级向量表示。模型不需要显式地将评价对象与相应的类别对齐,而是通过注意机制以及源域中的评价对象类别和评价对象实例的监督标签来学习对齐,显著提高了领域自适应方法的性能。但监督学习方法的缺点在于:一方面需要大量标注文本,标注文本的来源需要耗费大量的人力和财力;另一方面该方法会遇到领域适配问题,即在一个领域内训练的模型,使用其他领域的数据进行预测时表现的结果并不理想。基于以上两点原因,大部分学者通常选择无监督方法进行评价对象抽取任务。

在无监督模型中,LDA主题模型[12]的应用最为广泛。该类模型的使用大多基于以下3个假设:评论具有潜在的话题结构;话题可以从单词评论共现中推断出来;单词与话题相关,话题也与评论相关。模型可以识别大规模语料库中潜藏的主题信息,其原因在于摆脱了对标签的依赖,模型通常将评价对象看做主题,使用模型去预测主题的分布并进行抽取。因此,基于LDA的模型可以发现更多的评价对象,但是通过评价对象实例推断标准评价对象的效果却差强人意,原因在于该方法抽取出的评价对象实例通常是松散且无关联的。文献[13]首先使用LDA模型去学习多个领域的主题也就是评价对象实例,取交集作为共享的评价对象特征知识库,然后基于LDA提出了AKL模型处理先验知识库中的错误信息,最终给出自动从网络中获取先验,并对评论文本进行评价对象抽取的系统。文献[14]提出嵌入式主题模型(ETM),ETM是一种生成式文档模型,将传统的主题模型与单词嵌入相结合,并使用一个分类分布来表示每个单词,其自然参数等于一个单词嵌入和它被分配到主题的嵌入的内积,即使使用大量包含不常见词和停止词的词汇,ETM也能找到可解释的主题。在主题质量和预测性能方面,ETM优于以前的文档模型。文献[15]提出一个新的生成模型,认为全局潜在主题是跨文本共享的,隐藏语义和全局潜在主题用于构建上下文单词。主题和单词嵌入一起训练,训练后的模型将单词映射到主题相关嵌入,解决了单词多义的问题。根据实验数据,该模型在词汇相似度评估和词义消歧方面都优于词级嵌入方法。此外,文献[7]将词向量引入到评价对象抽取任务中,将词嵌入与依存路径联合训练,最后通过CRF序列标注来提取出评价对象,但该方法中依存路径是多样化的,人为设置相同的依存路径会在模型聚类时受到其他词汇干扰,导致模型性能下降。文献[16]提出的模型将主题嵌入与词嵌入联合训练来丰富词汇的潜在语义信息,从而得到词汇的向量表示,最后将向量作为输入送入注意力机制模块中,在注意力模块中训练出k维嵌入矩阵,并通过注意力机制提高评价对象的权重,从而提高模型提取性能。文献[17]运用基于注意力机制的无监督的自编码模型对评价对象进行抽取,该模型摒弃了传统主题模型,使用统一的词嵌入空间训练评价对象嵌入矩阵。一方面该方法无需人工标注语料,节省了大量人力成本,另一方面,相比于主题模型,自编码模型使得抽取的评价对象实例具有更高的一致性。

评价对象的多样性遭遇到瓶颈,而分类任务正好弥补了这些不足。首先,分类语料的获取自动包含了评价对象类别信息;其次,评价类别不仅对模型中基于评价对象的重建提供了更好的基准,而且对评价对象的领域特征具有很好的指示作用。例如:“2.88的价格非常实惠,但是口味有点差强人意”。这句话中评价类别“价格”和“味道”对该句来源于餐厅评论具有良好的指示作用,而且有助于模型抽取更细粒度的评价对象“价格”和“口味”。再如:“交通方便,房间舒适卫生,感觉不错”。该句可以从评价类别“环境”和“感受”中轻而易举地判断评论来源于酒店,两类别更有助于模型探索细粒度的评价对象“交通”、“房间”和“感觉”。因此,上述评价类别信息均包含特定领域的评价对象特征,即相同评价类别的评价对象特征具有相关性,验证了通过分类任务可以对评价对象抽取任务进行提升的可能性。

本文提出一种通过文本分类改进基于注意力的自编码器(AATC)模型。基于注意力机制的长短期记忆(Long Short-Term Memory,LSTM)模型训练一个句子分类器,在分类任务下生成与评价对象类别相关的特征信息用于编码阶段,以提升模型在没有标注数据情况下自编码阶段的编码能力,增强自编码器的合理性和解释性。通过共享上述模型对文本输入进行编码,给句向量增强上下文语义信息的表达能力,同时在自编码器中对模型进行微调。最后本文AATC模型可在没有任何手动特征抽取的情况下识别和抽取用户评价对象,并对多领域语料库中的抽取结果进行对比验证。

1 AATC模型 1.1 问题描述

已知数据集D,其中任一评论句$ s=({w}_{1}, {w}_{2}, \cdots , {w}_{n}) $$ n $个单词组成,模型将句子$ s $以单个词向量的形式输入到已训练好的基于注意力机制的LSTM模型中得到句向量表示。本文使用文献[18]提出的分布式词嵌入表示词向量,词向量模型的嵌入矩阵表示为$ \mathit{\boldsymbol{{E}}}\in {\mathbb{R}}^{V\times d} $,其中,$ d $表示词向量维度,V表示词表大小。模型的最终目标是学习标准评价对象的嵌入矩阵$ \mathit{\boldsymbol{{T}}}\in {\mathbb{R}}^{K\times d} $,其中,K表示预先设置的标准评价对象的个数,标准评价对象矩阵在嵌入空间中没有具体含义,其表征由最终获取的评价对象实例推理得出。由于词向量和评价对象矩阵在同一嵌入空间中,每个标准评价对象和单词可以通过计算余弦相似度的方式在词向量嵌入空间中寻找与标准评价对象最相似的单词作为评价对象。文献[19]提出的ABAE(Attention-Based Aspect Extraction)模型包括两个步骤:首先通过注意力机制给每个输入的词嵌入分配得分,使用加权平均来表示输入句子的句向量;然后通过一个自编码器来处理句向量,编码阶段使用简单的线性变换和softmax函数进行降维,解码阶段使用评价对象矩阵对句向量进行重建。本文在该模型基础上,探索评论句中不同类别的评价对象对评价对象矩阵训练的关系,使含有语义信息的句向量通过包含不同评价类别特征的矩阵编码为中间层语义向量,本文利用句子分类结果进行评价类别的转移。

1.2 模型框架

本文AATC模型如图 1所示。将评论句中的单词向量作为输入,首先在词嵌入空间中将所有单词使用计算余弦相似度距离的方法进行k-means聚类,聚类得到的中心簇向量来初始化标准评价对象嵌入矩阵$ \mathit{\boldsymbol{{T}}}\in {\mathbb{R}}^{K\times d} $,然后通过捕捉输入句中单词与评价对象矩阵的相关性来训练评价对象矩阵。AATC模型分为两个部分:自编码器部分和句子分类器部分。首先,分类器是一个监督模型,它使用基于注意力机制的LSTM网络通过softmax分类器对句子进行评价类别分类,同时生成不同类别的特征信息。具体地,餐厅领域数据分为7类,分别为食物、环境、服务、价格、味道、地点和其他;酒店领域数据分为6类,分别为环境、服务、价格、地点、感觉和其他。在分类器训练数据时,所使用的数据集的每个句子均只包含一类评价对象,包含的评价对象类别即为句子类别。然后,自编码器模型的输入部分使用了和句子分类部分一样的模型参数初始化并进行无监督训练,使用该模型的优势在于:在输入时融合了输入句上下文的语义信息。在自编码器的编码阶段,模型使用了句子分类任务中包含类别信息的特征,将句向量表征以包含类别特征的转移矩阵的形式转化为中间层语义向量,转移矩阵形式上包含了不同评价类别的语义信息从而编码成更有意义的中间层向量。解码阶段使用评价对象矩阵与语义向量乘积的形式,旨在捕捉评价对象和语义向量之间的相关性。在自编码器训练数据中,评论语句可包含多个评价类别的评价对象实例,因为最终的转移矩阵是不同评价类别转移矩阵的加权平均。最后,将训练好的评价对象嵌入矩阵放回词向量嵌入矩阵中,通过相似度计算的方式获取更细粒度的评价对象实例。下文将详细介绍模型的各个部分。

Download:
图 1 AATC模型框架 Fig. 1 AATC model framework
1.2.1 句子分类

本文使用的基于注意力机制的LSTM通过softmax分类器对输入句子包含的评价类别进行分类。因为在分类器训练数据中,使用的数据集中每个句子均只包含一类评价对象,所以句子中的评价对象的类别即为句子标签。已知含有$ n $个单词的句子$ s $中所有词嵌入表示为$ \mathit{\boldsymbol{{E}}}=\{{e}_{{w}_{1}}, {e}_{{w}_{2}}, \cdots , {e}_{{w}_{n}}\} $,其中,$ \mathit{\boldsymbol{{E}}}\in {\mathbb{R}}^{|n\times d|} $$ d $表示词向量维度。通过LSTM中的3个门控机制保留或丢弃信息来训练数据,其中可训练参数为$ {\theta }_{\mathrm{l}\mathrm{s}\mathrm{t}\mathrm{m}} $,并且LSTM的输出隐藏层序列表示为$ h=\{{h}_{1}, {h}_{2}, \cdots , {h}_{n}\} $,其中,$ {h}_{i} $表示序列中第$ i $个单词的隐藏层。接下来使用注意力机制得到句子表征$ {\mathit{\boldsymbol{{z}}}}_{s} $表示如下:

$ {\mathit{\boldsymbol{{z}}}}_{s}=\sum\limits_{i=1}^{n}{p}_{i}{h}_{i} $ (1)

其中:$ {p}_{i} $为给第$ i $个隐层向量分配的权重。

$ {p}_{i} $计算如式(2)所示:

$ {p}_{i}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\mathrm{ }\left({d}_{i}\right)}{\sum\limits_{j=1}^{n}{d}_{j}} $ (2)

其中:

$ {d}_{i}={f}_{\mathrm{s}\mathrm{c}\mathrm{o}\mathrm{r}\mathrm{e}}\left({h}_{i}, {t}_{s}\right)=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\mathrm{ }\left({\mathit{\boldsymbol{{h}}}}_{i}^{\mathrm{T}}\mathit{\boldsymbol{{W}}}{t}_{s}\right) $ (3)
$ {t}_{s}=\frac{1}{n}\sum\limits_{i=1}^{n}{\mathit{\boldsymbol{{h}}}}_{i} $ (4)

其中:$ {\mathit{\boldsymbol{{h}}}}_{i}\in {\mathbb{R}}^{d} $;参数$ \mathit{\boldsymbol{{W}}}\in {\mathbb{R}}^{d\times d} $为过渡矩阵。

然后将句向量$ {\mathit{\boldsymbol{{z}}}}_{s} $通过softmax分类器得到不同评价类别分布,具体如式(5)所示:

$ {v}_{s}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({\mathit{\boldsymbol{{W}}}}_{\alpha }{\mathit{\boldsymbol{{z}}}}_{s}\right) $ (5)

其中:$ {v}_{s}\in {\mathbb{R}}^{\left|c\right|} $表示对句子$ s $预测的评价类别概率分布;$ \left|c\right| $表示类别个数。

对于句子分类任务,本文使用交叉熵作为损失函数,故分类器部分的损失函数表示如式(6)所示:

$ J\left(\theta \right)=-\sum\limits_{i\in D}{p}_{i}\mathrm{l}\mathrm{o}{\mathrm{g}}_{\mathrm{a}}{q}_{i} $ (6)

其中:$ i $表示在数据集$ D $中的第$ i $条评论句;$ {p}_{i} $表示句子的真实标签;$ {q}_{i} $表示预测标签。

1.2.2 自编码器

本文使用k-means聚类得到的中心簇向量初始化了评价对象的嵌入矩阵$ \mathit{\boldsymbol{{T}}}\in {\mathbb{R}}^{K\times d} $,其中,K表示评价对象的个数,该K个标准评价对象向量分别表达了在词嵌入空间中与其相似的评价对象的平均嵌入。在无监督学习任务中,评论语句可包含多个评价类别的评价对象实例,该阶段通过自编码器训练评价对象矩阵,增强了上下文语义信息的表达能力。模型使用句子分类训练好的基于注意力机制的LSTM模型对自编码的输入进行初始化可得到输入句向量表征$ {\mathit{\boldsymbol{{z}}}}_{s} $。对句向量$ {\mathit{\boldsymbol{{z}}}}_{s} $进行降维编码,得到中间层的语义向量$ {\mathit{\boldsymbol{{p}}}}_{t} $,如式(7)所示:

$ {\mathit{\boldsymbol{{p}}}}_{t}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}({\mathit{\boldsymbol{{W}}}}_{\gamma }{\mathit{\boldsymbol{{z}}}}_{s}+\mathit{\boldsymbol{{b}}}) $ (7)

其中:转移矩阵$ {\mathit{\boldsymbol{{W}}}}_{\gamma } $可以捕捉句向量表示与评价对象之间的相关性,将句向量$ {\mathit{\boldsymbol{{z}}}}_{s} $压缩转化为中间层语义向量$ {\mathit{\boldsymbol{{p}}}}_{t} $b为偏置向量。另外,希望编码器捕捉到评论句评价对象的类别信息与评价对象之间的相关性。受文献[19]的启发,本文在句子分类任务阶段引入$ \left|c\right| $个子矩阵$ ({\mathit{\boldsymbol{{W}}}}_{\gamma }^{1}, {\mathit{\boldsymbol{{W}}}}_{\gamma }^{2}, \cdots , {\mathit{\boldsymbol{{W}}}}_{\gamma }^{\left|c\right|}) $,每个子矩阵分别对应不同评价类别,子矩阵由训练得来。由于每个句子有多种评价对象类别,因此会有多个子矩阵。基于从式(5)中得到的预测类别,这些子矩阵加权和后得到最终的转移矩阵,如式(8)所示:

$ {\mathit{\boldsymbol{{W}}}}_{\gamma }=\sum\limits_{i=1}^{\left|c\right|}{\mathit{\boldsymbol{{v}}}}_{s}^{i}{\mathit{\boldsymbol{{W}}}}_{\gamma }^{i} $ (8)

其中:转移矩阵$ {\mathit{\boldsymbol{{W}}}}_{\gamma } $通过对每个类别的转移矩阵$ {\mathit{\boldsymbol{{W}}}}_{\gamma }^{i} $进行加权平均得到。然后,使用评价对象矩阵$ \mathit{\boldsymbol{{T}}} $进行解码,也就是对句向量进行重建,目的在于使用评价对象矩阵还原评论句类别信息和语义向量的相关性,具体如式(9)所示:

$ {\mathit{\boldsymbol{{r}}}}_{s}={\mathit{\boldsymbol{{T}}}}^{\mathrm{T}}\cdot {\mathit{\boldsymbol{{p}}}}_{t} $ (9)

重建的目的在于捕捉评价对象矩阵和中间层语义向量之间的关系,使重建后的句向量$ {\mathit{\boldsymbol{{r}}}}_{s} $和重建前的句向量$ {\mathit{\boldsymbol{{z}}}}_{s} $无限接近。训练好的评价对象矩阵$ \mathit{\boldsymbol{{T}}}\in {\mathbb{R}}^{K\times d} $可以表示为$ \mathit{\boldsymbol{{T}}}=({\mathit{\boldsymbol{{\alpha }}}}_{1}^{\mathrm{T}}, {\mathit{\boldsymbol{{\alpha }}}}_{2}^{\mathrm{T}}, \cdots , {\mathit{\boldsymbol{{\alpha }}}}_{K}^{\mathrm{T}}) $,其中任一评价对象类别对应的评价对象向量可表示为$ {\mathit{\boldsymbol{{\alpha }}}}_{k} $$ k\in \{\mathrm{1, 2}, \cdots , K\} $。每输入一句评论句$ s=({x}_{1}, {x}_{2}, \cdots , {x}_{n}) $,AATC模型会根据训练权重计算$ {\mathit{\boldsymbol{{p}}}}_{t} $$ {\mathit{\boldsymbol{{p}}}}_{t} $作为评价类别的概率分布,取最大值确定评价向量类别$ i $$ i\in \{\mathrm{1, 2}, \cdots , K\} $,其中$ \mathit{\boldsymbol{{T}}} $对应的评价对象向量为$ {\mathit{\boldsymbol{{\alpha }}}}_{i} $。同时,本文创建了推理出的评价类别与标准评价类别之间的映射关系,供验证阶段获取评价对象的标签。最后,通过计算$ {\mathit{\boldsymbol{{\alpha }}}}_{i} $与输入句子中每个单词$ {x}_{j} $的余弦相似度,获取相似度最高的单词作为该句中的评价对象,其中$ j\in \{\mathrm{1, 2}, \cdots , n\} $

1.2.3 损失函数

对于自编码器部分,本文会根据类别个数分配多个转移矩阵,加权后放入自编码器训练评价对象。自编码器部分的损失函数本文沿用了最大边际对比损失[20-22],具体的损失函数如式(10)所示:

$ C\left(\theta \right)=\sum\limits_{s\in D}\sum\limits_{i=1}^{m}\mathrm{m}\mathrm{a}\mathrm{x}\mathrm{ }(\mathrm{0, 1}-{\mathit{\boldsymbol{{r}}}}_{s}{\mathit{\boldsymbol{{z}}}}_{s}+{\mathit{\boldsymbol{{r}}}}_{s}{\mathit{\boldsymbol{{n}}}}_{i}) $ (10)

本文随机从训练集中抽取m个句子作为负样本,将负样本的平均值作为负样本的代表嵌入表示为$ {\mathit{\boldsymbol{{n}}}}_{i} $。构建损失函数的目标是使得重建后的向量$ {\mathit{\boldsymbol{{r}}}}_{s} $与句向量的表征向量$ {\mathit{\boldsymbol{{z}}}}_{s} $相似,与负样本的代表嵌入不同。因此,使用合页损失的形式最大化$ {\mathit{\boldsymbol{{r}}}}_{s} $$ {\mathit{\boldsymbol{{z}}}}_{s} $向量的点积,同时最小化$ {\mathit{\boldsymbol{{r}}}}_{s} $$ {\mathit{\boldsymbol{{n}}}}_{i} $向量的点积。

1.2.4 正则项

本文模型可以学习到训练数据中最具代表性的向量,然而评价对象矩阵在训练过程中会产生冗余。为了确保评价对象嵌入的多样性,最终在损失函数中添加正则项,以保证每个评价对象嵌入的唯一性:

$ U\left(\theta \right)=‖{\mathit{\boldsymbol{{T}}}}_{n}\cdot {\mathit{\boldsymbol{{T}}}}_{n}^{T}-\mathit{\boldsymbol{{I}}}‖ $ (11)

其中:$ \mathit{\boldsymbol{{I}}} $为单位矩阵;$ {\mathit{\boldsymbol{{T}}}}_{n} $$ \mathit{\boldsymbol{{T}}} $矩阵每行规范化为1后的矩阵,$ {\mathit{\boldsymbol{{T}}}}_{n}\cdot {\mathit{\boldsymbol{{T}}}}_{n}^{\mathrm{T}} $中任何非对角元素都对应两个不同的评价对象嵌入点乘。当任意两个不同评价对象嵌入点积为零时,U达到其最小值。因此,正则化项鼓励嵌入矩阵T的行之间的正交性,而惩罚不同嵌入向量之间的冗余。损失函数中加入正则化项后最终如式(12)所示:

$ L\left(\theta \right)=C\left(\theta \right)+\lambda U\left(\theta \right) $ (12)

其中:$ \lambda $为控制正则项的超参数。

2 实验 2.1 数据集

本文在两个真实的数据集上进行模型评估,两个数据集详细信息如表 1所示。

下载CSV 表 1 数据集信息 Table 1 Dataset information

针对自编码器所进行的无监督任务,本文分别从大众点评和携程网爬取两万余条评论,并由专家标注餐厅领域5 000条评论对应4 293个句子,酒店领域4 500条评论对应3 632个句子用于评价对象的评估。针对有监督学习的评价类别分类任务,本文同样采用上述网站的爬取数据,并过滤单句中仅包含单个评价对象的评论句进行标注。餐厅领域数据集人工定义的评价对象类别标签为食物、环境、服务、价格、味道、地点和其他,总共7个评价类别;酒店领域数据集人工定义的评价对象标签为环境、服务、价格、地点、感受和其他,总共6个评价类别。数据集如表 2所示。

下载CSV 表 2 句子分类任务训练样本数量 Table 2 Number of training samples for sentence classification task
2.2 基线方法

为了验证AATC模型的表现,本文使用以下5个基线与其进行比较:

1)k-means模型。本文首先在词嵌入空间中使用k-means聚类,将每个簇的中心向量代表标准评价对象向量。然后使用与句子的平均词向量最接近的标准评价对象向量作为该句子的推理评价对象向量。最后同样以计算标准评价对象与输入句子中单词的余弦相似度的方式确定句子的评价对象。本文同样使用该方法初始化评价对象矩阵$ \mathit{\boldsymbol{{T}}} $,为了展示本文模型的表现,本文选择直接将k-means算法的结果进行对比。

2)LocLDA模型[23]。该模型使用了标准的主题模型实现。为避免模型对全局主题进行推理,LocLDA模型将句子看做是分离的文档,将评价对象看为主题,使用模型去预测主题的分布并对评价对象进行抽取。

3)BTM模型[24]。该模型是一个专门为短文本设计的主题模型。与LDA模型方法相同,BTM模型同样将评价对象视为主题,预测主题的分布并对评价对象进行抽取。BTM模型的主要优点是可以直接对无序词对共现进行生成建模,缓解了短文档中数据稀疏的问题。

4)ABAE模型[17]。ABAE模型是完全基于无监督学习的,该模型基于自编码器,创建评价对象嵌入矩阵,通过先降维再重塑的方式训练评价对象嵌入矩阵。

5)SUAEx模型[25]。该模型是无监督的,完全依赖于单词嵌入的相似性,其依赖向量相似性来模拟注意力机制,使模型能够专注于相关信息的抽取。

2.3 参数设置

在模型训练过程中,数据经过预处理(去除标点符号,去停用词,去除出现频率小于10次的单词)后,使用Glove[26]生成300维的词向量作为输入。使用k-means算法初始化评价对象嵌入矩阵,其他参数均随机初始化。本文使用网格搜索验证了评价对象矩阵中评价对象个数K的取值,最终在餐厅领域中设置为14,而在酒店领域中将K设置为13~18中的数字,但是结果相差无几,所以最终将其统一设置为14。评价类别个数$ c $根据训练语料领域分别设置为7和6。在训练过程中,本文固定词嵌入矩阵,使用Adam算法进行优化。学习率设置为0.005,优化方法为Adam。Batch Size设置为64,训练28个Epoch。通过网格搜索最终将惩罚项系数λ设置为1。最终计算结果为运行10次后取平均。

2.4 实验结果与分析

本文从两个评价标准对模型训练结果进行评估。一方面看模型是否能够找到语义一致的评价对象,即评价对象质量评估;另一方面看模型是否能够改善评论数据集的评价对象识别性能,即评价对象的识别率。

2.4.1 评价对象质量评估

以餐厅领域数据为例,表 3所示为AATC模型在该领域所推理出的14个标准评价对象,与右边展示的评价对象类别相比粒度更细。例如本文可以从食物中分出主食、饮品、配菜等。

下载CSV 表 3 餐厅领域评价对象抽取结果实例 Table 3 Example of the result of restaurant field opinion targets extraction

表 3可以看出,模型可以有效地对不同领域的评价对象进行抽取。针对不同评价类别,模型可以在此基础上抽取更细粒度的评价对象实例。抽取结果表明,模型具备了较好的评价对象抽取能力。虽然在个别评价对象中模型将形容词也视为评价对象进行了抽取,但是这种情况较为罕见。

2.4.2 评价对象实例识别率

本文使用精确率(P)、召回率(R)和$ \mathrm{F}1 $值这3个度量指标来衡量预测结果与真实标签的准确程度。在当前任务中,给出一个评论句,首先指定一个推断的评价对象实例标签,该标签对应式(6)中$ {p}_{i} $最高权重实例,然后根据推断的评价对象和标准标签之间的映射,将标准标签赋给句子。精确率表示抽取正确的评价对象实例占所有抽取评价对象实例的比例,召回率表示抽取正确的评价对象实例结果占文本中正确的评价对象实例的比例,$ \mathrm{F}1 $值是调和精确率和召回率的一种综合评价指标。具体评价指标计算公式如式(13)~式(15)所示:

$ P=\frac{\mathrm{正}\mathrm{确}\mathrm{的}\mathrm{评}\mathrm{价}\mathrm{对}\mathrm{象}\mathrm{个}\mathrm{数}}{\mathrm{抽}\mathrm{取}\mathrm{的}\mathrm{评}\mathrm{价}\mathrm{对}\mathrm{象}\mathrm{总}\mathrm{数}} $ (13)
$ R=\frac{\mathrm{正}\mathrm{确}\mathrm{的}\mathrm{评}\mathrm{价}\mathrm{对}\mathrm{象}\mathrm{个}\mathrm{数}}{\mathrm{数}\mathrm{据}\mathrm{集}\mathrm{中}\mathrm{所}\mathrm{有}\mathrm{评}\mathrm{价}\mathrm{对}\mathrm{象}\mathrm{个}\mathrm{数}} $ (14)
$ \mathrm{F}1=\frac{2PR}{P+R} $ (15)

餐厅领域和酒店领域评价结果分别如表 4表 5所示,其中加粗字体为最优结果。

下载CSV 表 4 餐厅领域评价对象抽取结果 Table 4 The results of restaurant field opinion targets extraction
下载CSV 表 5 酒店领域评价对象抽取结果 Table 5 Results of hotel field opinion targets extraction

在酒店数据中,本文选取了6个评价类别。模型在其他类中表现较差,原因在于:其他类中抽取的评价对象的词汇没有明确的模式,这使得这些评价对象实例很难进行分类。根据以上结果可以看出,k-means模型作为AATC的初始化项已经有了较好的精确度,AATC模型在k-means模型的基础上,从某种程度上来说,提高了评价对象抽取的一致性。LocLDA和BTM同时作为主体模型,而BTM专门为短文本设计,根据训练文本的属性,BTM模型的效果好于LocLDA模型。同时,SUAEx模型作为一个很强的基线,在评价对象抽取能力方面和AATC相当。SUAEx模型依靠词语嵌入的相似性和参照词来模拟注意神经网络的注意机制。但是,SUAEx模型仅限于处理表示为单个单词的评价对象,对于复合单词上的表现不如本文算法,如“酒单”“电池寿命”等,同时SUAEx模型需要大量的先验知识,影响了模型的运行效率。此外,AATC能够适应不同的领域。在许多情况下,AATC在运行时间成本非常低的情况下取得了优于SUAEx模型的最新技术成果。相比于ABAE模型,AATC依据句子分类任务分配了不同的转移矩阵,另外通过循环神经网络增强了编码器输入阶段上下文语义的关联度,这时模型不仅可以准确抽取单句中评价对象,而且通过观察可以发现,AATC抽取的评价对象实例一致性更高。

3 结束语

本文提出一种通过评价类别分类提升评价对象抽取性能的方法。通过基于注意力的LSTM模块,本文构建的AATC模型能够克服数据稀疏的问题,捕捉到文本中的词共现模式,并运用分类器对评价类别进行分类,解决训练过程缺少评价类别多样性的问题。实验结果表明,与k-means、LocLDA等主流模型相比,AATC模型在餐厅领域和酒店领域的语料库中提升效果明显。但是由于评论数据属于非正式评论题材,可能会出现当前的流行词汇或该领域的特有词汇,另外在餐厅和酒店领域的评论数据中还可能出现拼写错误,而AATC模型在该方面的识别能力有所欠缺,后续将考虑输入文本提炼核心词来进行抽取研究。

参考文献
[1]
BING L. Sentiment analysis and opinion mining[J]. Synthesis Lectures on Human Language Technologies, 2012, 5(1): 1-16. DOI:10.1007/978-3-031-02145-9
[2]
HU M Q, LIU B. Mining and summarizing customer reviews[C]//Proceedings of the 10th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2004: 168-177.
[3]
POPESCU A M, ETZIONI O. Extracting product features and opinions from reviews[C]//Proceedings of International Conference on Natural Language Processing and Text Mining. Berlin, Germany: Springer, 2007: 9-28.
[4]
ZHUANG L, JING F, ZHU X Y. Movie review mining and summarization[C]//Proceedings of the 15th ACM International Conference on Information and Knowledge Management. New York, USA: ACM Press, 2006: 43-50.
[5]
PORIA S, CAMBRIA E, KU L W, et al. A rule-based approach to aspect extraction from product reviews[C]//Proceedings of the 2nd Workshop on Natural Language Processing for Social Media. Stroudsburg, USA: Association for Computational Linguistics, 2014: 28-37.
[6]
RANA T A, CHEAH Y N. A two-fold rule-based model for aspect extraction[J]. Expert Systems with Applications, 2017, 89: 273-285. DOI:10.1016/j.eswa.2017.07.047
[7]
YIN Y C, WEI F R, DONG L, et al. Unsupervised word and dependency path embeddings for aspect term extraction[EB/OL]. [2021-09-10]. https://arxiv.org/abs/1605.07843.
[8]
PORIA S, CAMBRIA E, GELBUKH A. Aspect extraction for opinion mining with a deep convolutional neural network[J]. Knowledge-Based Systems, 2016, 108: 42-49. DOI:10.1016/j.knosys.2016.06.009
[9]
XU H, LIU B, SHU L, et al. Double embeddings and CNN-based sequence labeling for aspect extraction[EB/OL]. [2021-09-10]. https://arxiv.org/abs/1805.04601.
[10]
ZHANG Z S, RAO Y H, LAI H J, et al. TADC: a topic-aware dynamic convolutional neural network for aspect extraction[J]. IEEE Transactions on Neural Networks and Learning Systems, 2021, 59(1): 1-13.
[11]
LIANG T, WANG W Y, LÜ F M. Weakly supervised domain adaptation for aspect extraction via multilevel interaction transfer[J]. IEEE Transactions on Neural Networks and Learning Systems, 1474, 55(1): 1-12.
[12]
BLEI D M, NG A Y, JORDAN M I. Latent dirichlet allocation[J]. Journal of Machine Learning Research, 2003, 3(1): 993-1022.
[13]
CHEN Z Y, MUKHERJEE A, LIU B. Aspect extraction with automated prior knowledge learning[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics. Stroudsburg, USA: Association for Computational Linguistics, 2014: 347-358.
[14]
DIENG A B, RUIZ F J R, BLEI D M. Topic modeling in embedding spaces[J]. Transactions of the Association for Computational Linguistics, 2020, 8: 439-453.
[15]
ZHU L X, HE Y L, ZHOU D Y. A neural generative model for joint learning topics and topic-specific word embeddings[J]. Transactions of the Association for Computational Linguistics, 2020, 8: 471-485. DOI:10.1162/tacl_a_00326
[16]
叶康. 基于主题模型和注意力机制的短文本方面提取研究[D]. 南京: 南京大学, 2019.
YE K. Research on short-text aspect extraction based on topic model and attention mechanism[D]. Nanjing: Nanjing University, 2019. (in Chinese)
[17]
HE R D, LEE W S, NG H T, et al. An unsupervised neural attention model for aspect extraction[C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, USA: Association for Computational Linguistics, 2017: 388-397.
[18]
MIKOLOV T, YIH W, ZWEIG G. Linguistic regularities in continuous space word representations[C]//Proceedings of 2013 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Washington D. C., USA: IEEE Press, 2013: 746-751.
[19]
DONG L, WEI F R, XU K, et al. Adaptive multi-compositionality for recursive neural network models[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2016, 24(3): 422-431. DOI:10.1109/TASLP.2015.2509257
[20]
IYYER M, GUHA A, CHATURVEDI S, et al. Feuding families and former friends: unsupervised learning for dynamic fictional relationships[C]//Proceedings of 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, USA: Association for Computational Linguistics, 2016: 1534-1544.
[21]
SOCHER R, KARPATHY A, LE Q V, et al. Grounded compositional semantics for finding and describing images with sentences[J]. Transactions of the Association for Computational Linguistics, 2014, 2: 207-218.
[22]
WESTON J, BENGIO S, USUNIER N. WSABIE: scaling up to large vocabulary image annotation[C]// Proceedings of the 22nd International Joint Conference on Artificial Intelligence. Washington D. C., USA: IEEE Press, 2011: 2764-2770.
[23]
BRODY S, ELHADAD N. An unsupervised aspect-sentiment model for online reviews[C]//Proceedings of 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics. Washington D. C., USA: IEEE Press, 2010: 804-812.
[24]
YAN X H, GUO J F, LAN Y Y, et al. A biterm topic model for short texts[C]//Proceedings of the 22nd International Conference on World Wide Web. Washington D. C., USA: IEEE Press, 2013: 1445-1456.
[25]
VARGAS D S, PESSUTTO L R C, MOREIRA V P. Simple unsupervised similarity-based aspect extraction[EB/OL]. [2021-09-10]. https://arxiv.org/abs/2008.10820.
[26]
PENNINGTON J, SOCHER R, MANNING C. GLOVE: global vectors for word representation[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, USA: Association for Computational Linguistics, 2014: 1532-1543.