基于上下文信息的产品评论摘要Bi-LSTM模型

2021-06-21 01:53张宜飞王中卿王红玲
计算机应用与软件 2021年6期
关键词:文摘商户向量

张宜飞 张 迎 王中卿 王红玲

(苏州大学计算机科学与技术学院 江苏 苏州 215006)

0 引 言

随着互联网的快速发展,产品评论摘要任务已经成为自然语言处理应用的一个重要的研究方向[1]。产品评论摘要一方面可以为潜在用户提供大众对某些产品的总体评价情况,使用户摆脱枯燥、繁琐的信息检索和浏览工作,从而为用户的决策提供可靠的依据。另一方面,产品评论摘要可以对产品的评价进行整合,提供一个整体倾向性综述,从而帮助企业了解自己的优势和不足,做出合理的调整[2-3]。

产品评论摘要任务的一个关键步骤是判断产品评论内哪些词语或者句子更具有代表性,更能代表用户的广泛意见。传统的产品评论摘要方法的过程:根据评论句子的文本信息对评论句子的重要性进行评分,然后按照评分大小抽取出产品评论中重要的句子作为摘要[4]。产品评论内的每条评论是某一用户针对某一商品进行的主观性评价。这类文本具有文体自由、书写随意、错误较多等特点[1],这使得在产品评论摘要任务中,仅仅根据评论句子信息很难准确地判断句子的重要程度。

如图1所示,目标句子“这里的食物真的很棒,非常新鲜可口。”是Yelp2013数据集中一个餐馆对象的评论中的一个句子。如果只考虑目标句子的文本信息,很难判断该句能否作为摘要句子。但是,如果结合该句所在的上文信息“说实话我没有在这里遇到我不喜欢的食物……”和下文信息“这里提供非常新鲜的食材,值得一试……”,就能够很容易地将该句判断为摘要句。由此可见,产品评论中句子的重要程度与其所在的同一评论内的其他句子内容(上下文信息)密切相关。合理地运用上下文信息能够极大地提升产品评论摘要任务的效果。

图1 上下文信息对产品评论摘要的影响示例

为了充分发挥上下文信息对产品评论摘要任务的影响,本文提出一种基于上下文信息的产品评论摘要方法。该方法的特色在于层次化地使用Bi-LSTM[5]神经网络捕捉产品评论内的句子信息以及同一评论内不同句子之间的上下文信息。具体而言,首先,将同一评论中的每个句子信息分别使用Bi-LSTM神经网络进行编码,捕捉单个句子的独立信息;其次,将同一评论内各个句子的独立信息进行融合后输入到一个Bi-LSTM神经网络中进行编码,获取多个句子之间的上下文融合信息;最后,将上下文融合信息输入到一个全连接层进行训练,得到各个句子是否为摘要句的概率分布。本文最终选择概率最大的句子组合作为产品评论摘要。

1 相关工作

产品评论摘要任务的主要目标在于对产品评论中的观点和意见进行挖掘,从而总结出用户对该产品对象各方面性能的褒贬评价。传统的评论文摘方法按照实现方式可以分为两大类:抽取式文摘与生成式文摘。

抽取式评论文摘直接从原始评论中抽取有代表性的词语、短语和句子构成文摘[6]。Nishikawa等[4]为每个句子分配可读性和信息性两种得分,然后运用动态规划算法根据得分大小选择得分最高的句子作为产品评论摘要。Ganesan等[7]为输入的评论信息生成一个文本词汇图,并基于图结构的三种特性(冗余捕获、间隔子序列捕获和结构可折叠),将图中重要的子路径作为候选文摘,然后对这些子路径进行评分并选择其中排序靠前的子路径文摘片段生成最终的评论摘要。Yu等[8]根据产品的不同方面抽取出评论内对应的短语,然后利用整数线性规划方法根据短语的属性选择最佳短语的子集生成最终的摘要。

生成式评论文摘是利用自然语言理解技术对评论文本进行语法、语义分析,对信息进行融合,并利用自然语言生成技术生成新的摘要句子[9]。Wang等[10]针对对话语料研究了观点抽取式文摘。他们采用传统的句子排序和基于图的方法,同时也考虑了如主题相关性、情感和对话结构等特征来生成文摘。Gerani等[11]提出了基于篇章结构信息的评论摘要方法,该方法将评论信息按照其篇章结构表示成篇章结构图,然后采用基于模板的自然语言生成框架生成评论摘要。Yang等[12]提出了一种相互关注机制,在编码端以交互方式学习上下文词、情感词和方面词的表示。在解码端,将学习到的情绪和方面信息结合到解码器中并通过注意力融合网络生成评论摘要。

与生成式文摘相比,抽取式文摘可以避免复杂的自然语言生成问题,是一种领域无关的文摘技术,因而受到自动文摘领域研究者的关注[1]。然而,目前传统的抽取式评论文摘方法只考虑评论句子本身的信息,忽略了同一条评论中不同句子之间的上下文信息对评论摘要任务的影响。这就导致了文摘存在内容不连贯、冗余信息较多和不能较好地反映总体观点等问题。

为了解决上述问题,本文采用层次化的Bi-LSTM神经网络模型将上下文信息加入到评论摘要任务中,以便提高该任务的性能。本文方法具有以下贡献:(1) 针对产品评论中同一条评论内不同句子之间的相关性,提出一种基于上下文信息的产品评论摘要模型,以便提高评论摘要的准确度。(2) 采用句子到评论的双层Bi-LSTM神经网络对产品评论信息进行编码,联合学习句子信息和上下文信息,从而提高评论摘要的质量。(3) 采用Attention机制[13-14]更加准确地捕捉评论句子的深层语义信息,进一步提高产品评论摘要任务的性能。

2 基于上下文信息的产品评论摘要

产品评论摘要从定义上说,是从一个产品的所有评论中抽取出一系列有序的能够代表评论广泛意见的句子作为该产品的综合评论[15]。该任务的关键是判断产品评论内各个句子的重要程度,以便抽取出其中的重要内容。由于句子的重要程度不仅与句子本身的语义信息有关,还与句子所在的上下文信息之间存在着紧密联系[16]。因此,本文提出一种基于上下文信息的产品评论摘要模型,将上下文信息应用到产品评论摘要任务中,从而提高该任务的性能。如图2 所示,该模型主要分为以下4个部分。

图2 基于上下文信息的产品评论摘要模型

(1) 句子信息表示模块:采用Bi-LSTM神经网络对产品评论中的句子信息进行表示,将句子的文本信息映射为固定维度的向量作为其初始表示。

(2) 注意力机制模块:采用词级别的注意力机制学习评论句子中各个词对句子深层语义表示的贡献权重,以便得到更加准确的句子深层语义表示。

(3) 上下文信息融合模块:根据同一评论中不同句子之间信息相关性,将上一步得到的各个句子信息以评论为单位进行深层融合,从而得到上下文融合信息。

(4) 摘要生成模块:运用得到的上下文融合信息进行摘要句分类,得到各个句子是否为摘要句的概率得分,并选择得分高的句子生成评论摘要。

2.1 句子信息表示

对于产品评论内的任意一条评论r,按照其包含的句子信息可分为句子集r={s1,s2,…,sk,…,sr}。对于评论r中的第k个句子sk,对其进行如下处理。

句子嵌入表示:将句子sk视为基于单词的文本序列进行处理。

sk=[wk1,wk2,…,wkt,…,wkn]

(1)

式中:wkt∈R|V|为句子sk中第t个单词在字典V中的one-hot表示;n表示文本序列的长度;V表示训练语料包含的所有单词中频度最高的前10 000个高频词集合;|V|表示词典的大小。

本文使用Word2vec模型[17]训练基于词的产品评论文本序列得到词向量矩阵We,然后得到评论句子中各个单词的嵌入表示:

xkt=We·wkt

(2)

式中:We∈Rd×|V|表示词向量矩阵,d表示词向量的维度。最终,句子sk经过嵌入表示为向量:

Esk=[xk1,xk2,…,xkt,…,xkn]

(3)

基于Bi-LSTM的句子信息编码:本文采用双向长短记忆网络(Bi-LSTM)[5]对句子的嵌入表示进行编码,得到相应的隐含向量表示Hsk,具体过程如下:

(4)

(5)

(6)

Hsk=[hk1,hk2,…,hkt,…,hkn]

(7)

2.2 注意力机制

注意力机制是在视觉图像领域被提出来的一种结构,随后被应用到各种自然语言处理任务中,并取得了很好的效果[13-14]。注意力机制借鉴了人类视觉系统中的“注意力”原理,将注意力集中在目标对象中最相关的部分,而不是所有内容。利用注意力机制能够学习到隐层向量之间的权重分布。评论句子中不同单词包含的语义信息不同,对句子语义信息的贡献程度是不一样的。因此,本文使用注意力机制学习句子中不同单词对句子深层语义信息的贡献权重,并对句子内各单词向量进行加权求和得到这个句子的深层语义表示。具体过程如下:

(8)

(9)

ukt=tanh(Ww·hkt+bw)

(10)

式中:Vsk为句子sk的深层语义表示;hkt表示句子sk中第t个单词的向量表示;akt表示单词向量hkt对句子sk的注意力权重;ukt表示单词向量hkt在注意力机制内的隐藏层状态;tanh是一种非线性激活函数;参数矩阵uw表示语境向量;ukt表示单调向量hkt在注意力机制内的隐藏层状态;Ww表示中间矩阵;bw表示偏移量,它们都在训练过程中被随机初始化并更新。

2.3 上下文信息融合

2.2节给出了商品评论中每个句子经过Bi-LSTM神经网络和Attention机制后的深层语义表示,这一部分的主要任务是对同一条评论内的各个句子信息进行深层融合,挖掘出同一评论内不同句子之间的联系。

首先,对同一评论内的句子表示进行简单拼接。如式(11)所示,得到向量Vr,但是该向量并不能很好地反映同一评论内不同句子之间的联系。因此,本文进一步采用Bi-LSTM神经网络对拼接后的向量进行编码,生成上下文融合信息Hr。如式(12)所示,Bi-LSTM神经网络能够捕捉同一评论内不同句子之间的联系,从而充分考虑上下文信息对句子重要程度的影响。

Vr=Vs1⊕Vs2⊕…⊕Vsm

(11)

式中:⊕表示向量之间的拼接。

Hr=Bi-LSTM(Vr)

(12)

2.4 摘要生成

在网络的训练过程中,本文采用RMSProp优化算法[19]对网络的参数进行更新,并使用交叉熵误差作为损失函数,计算式为:

(13)

最后,将同一评论内不同句子的损失函数的加权和作为基于上下文信息的产品评论摘要模型的损失函数,如下:

(14)

式中:Lossk表示评论中第k条句子的损失;Wk表示评论中第k条句子的损失权重。

3 实验与结果分析

3.1 实验数据

本文使用Yelp2013数据集对本文模型的有效性进行验证。该数据集共包含商户(Business)、评论(Review)和用户(User)三种对象。其中:商户对象表示一些餐馆或商店等,主要包含商户类别、商户地址、商户联系方式、商户评分和商户评价等信息;评论对象则表示某一用户对某一商户的评价信息,主要包括评论所属的用户ID、评论的商户对象ID、评论的文本信息、评论的评分信息,以及评论所收到的投票数等,其中投票数包含 funny、useful 和 cool 三种投票数,代表其他用户对该评论内容的认可程度。具体统计数据如表1所列。

表1 Yelp2013数据集统计数据

3.2 评价方法

本文采用ROUGE评价准则[20]对实验抽取出的摘要进行评价。ROUGE是由ISI的Lin等提出的一种自动摘要评价方法,现被广泛应用于DUC(Document Understanding Conference)的摘要评测任务中。

ROUGE评测准则基于摘要中N元词(N-Gram)的共现信息来评价摘要,是一种面向N元词召回率的评价方法。该评测准则由一系列的评价方法组成,包括ROUGE-1、ROUGE-2、ROUGE-3、ROUGE-4,以及ROUGE-Skipped-N-Gram等,其中1、2、3和4分别代表基于1元词到4元词跳跃的N-Gram模型。本文选择ROUGE-1、ROUGE-2、ROUGE-L和ROUGE-SU4的F值来对实验抽取出的摘要进行评价。

3.3 对比算法

(1) TextRank:基于图排序的抽取式摘要算法。该方法把一个商户评论中的所有句子视作一个图结构,将评论中的单个句子视为图中的节点,任意两句子之间的余弦相似度表示这两个节点之间边的权重[21]。然后在图上使用全局的信息不断迭代计算商户评论中各个句子的重要度。最后,按照句子重要度从大到小的顺序抽取句子组合作为摘要,直至达到文摘指定的长度。

(2) Bi-LSTM:使用Bi-LSTM神经网络[5]抽取商户评论摘要的方法。对于一个商户评论中的每一条句子sk,首先,用该句子包含的单词信息构成该句子的嵌入表示Esk;然后,采用双向LSTM神经网络对句子的嵌入表示进行编码,得到相应的隐含向量表示Hsk;最后,将向量Hsk输入到全连接层,预测出句子是否为摘要的概率分布[P0,P1]。其中:P0表示该句子不是摘要的概率;P1表示该句子是摘要的概率。本文按照P1大小从大到小地选择句子组合作为摘要,直至达到文摘指定的长度。

(3) Bi-LSTM+Attention:在上述Bi-LSTM方法的基础上加入Attention机制[13-14],对句子中重要的内容给予更大的关注度,从而更加准确地捕捉评论句子的深层语义信息,提高模型抽取摘要的准确度。

(4) Bi-LSTM+Context:根据同一评论内句子的信息相关性,将同一评论内的所有句子信息组合起来训练评论摘要模型,同时预测同一评论内各个句子的重要程度。首先,采用Bi-LSTM神经网络对产品评论中的句子信息进行表示,生成每个句子的独立信息;然后,将同一评论内的句子信息进行拼接,生成向量Vr;最后,将拼接后的向量Vr输入到全连接层中,预测出该评论内各个句子是否为摘要句的概率得分,并选择得分高的句子组合作为评论摘要,直到达到文摘的指定长度。

(5) Bi-LSTM+Context+Attention:在上述Bi-LSTM+Context方法的基础上加入Attention机制,以便更加准确地捕捉评论句子的深层语义信息,从而进一步提升产品评论摘要任务的性能。

(6) Bi-LSTM+Context+Hierarchical:在上述Bi-LSTM+Context方法的基础上,进一步采用Bi-LSTM神经网络对向量Vr进行编码,以便更加准确地捕捉同一评论内不同句子之间的联系,充分发挥上下文信息对产品评论摘要任务的影响。

3.4 实验设置

3.4.1数据预处理

本文以Yelp2013数据集中的商户对象为单位,按照商户类别和商户所包含的评论数量选择了629个评论个数大于100的餐馆商户对象进行实验。在实验中,将商户评论中funny、useful和cool 投票总数最高的那条评论作为该商户对象的理想评论。对于每个商户对象本文只保留该商户的理想评论和10条普通评论进行实验。最终选择了其中529个商户、共5 290条评论、26 450条句子作为训练集,剩余的100个商户、共1 000条评论、5 000条句子作为测试集。

本文对于每个商户做如下处理:首先,对该商户的每一条评论按照句号、问号和感叹号等分隔符进行分句。在此,本文限定每条句子包含的单词数在4~50之间,从而过滤掉过长或过短的句子。其次,通过统计发现训练集中每个商户的评论平均包含5 条句子。因此,对于每条评论只保留其前5条句子的信息作为该评论的内容,从而保证每条评论都包含相同的句子数。最后,对于训练集中的每一个商户对象,将该商户的普通评论中与该商户理想评论相似度最高的10%的句子标记为1,即该句为摘要句子,剩余90%的句子标记为0,即该句为非摘要句子。本文将句子向量之间的余弦值作为句子之间的相似度。

3.4.2实验参数设置

通过统计发现,训练集中每个商户的理想评论平均包含287个英文单词。因此,本文将最终抽取的评论摘要的最大长度设置为287。本文实验的所有代码都是基于Keras深度学习框架进行编写,运行环境为Linux操作系统。实验的详细参数设置如表2所示。

表2 神经网络中的主要参数设置

3.5 实验结果分析

本文共进行了3组实验进行产品评论摘要抽取。实验1主要与一些经典的抽取式评论摘要方法进行比较,衡量本文提出的基于上下文信息的产品评论摘要模型(CHA)的有效性。实验2主要是为了分析上下文信息对产品评论摘要任务的影响。实验3主要是为了分析Attention机制对实验结果的影响。本文采用ROUGE评价指标对实验生成的评论摘要与该商户的理想评论进行结果评测。

3.5.1与基准模型的比较

为了衡量CHA的有效性,本文选取了目前两种主流的抽取式评论摘要方法,即TextRank和Bi-LSTM方法,与本文模型进行对比分析。实验结果如表3所示。

表3 对比实验结果

可以看出:CHA的结果均优于其他方法的结果。与目前主流的TextRank和Bi-LSTM方法相比,在ROUGE-1指标上分别提升了0.009 7和0.013。这说明CHA在产品评论摘要任务上是有效的。

3.5.2上下文信息的影响

为了验证上下文信息对产品评论摘要任务的影响,本文选取了Bi-LSTM、Bi-LSTM+Context和Bi-LSTM+Context+Hierarchical三个模型进行对比分析。实验结果如表4所示。

表4 增加上下文信息的实验结果

可以看出:首先,Bi-LSTM+Context模型将同一评论内的句子信息拼接起来联合训练,同时预测同一评论内不同句子的重要性。该方法能够捕捉到句子信息和其所在的上下文信息之间的相关性,实验结果在ROUGE评价准则上与Bi-LSTM方法相比,ROUGE-1值提升了0.008。这说明上下文信息对预测句子的重要性有很大的影响。其次,Bi-LSTM+Context+Hierarchical模型采用层级Bi-LSTM神经网络对产品评论信息进行编码。与Bi-LSTM+Context模型相比,该方法能够更加准确地捕捉到同一评论内不同句子之间的上下文信息,实验结果在ROUGE评价准则上与Bi-LSTM+Context方法相比有了进一步提升。这说明合理地运用上下文信息能够有效地提升产品评论摘要任务的效果。

3.5.3注意力机制的影响

为了分析注意力机制对实验结果的影响,本文分别为Bi-LSTM、Bi-LSTM+Context和Bi-LSTM+Context+Hierarchical三个模型添加注意力机制进行对比试验。其中CHA是本文提出的基于上下文信息的产品评论摘要模型,也是在模型Bi-LSTM+Context+Hierarchical的基础上添加注意力机制后的结果。实验结果如表5所示。

表5 增加注意力机制的实验结果

可以看出:在Bi-LSTM、Bi-LSTM+Context和Bi-LSTM+Context+Hierarchical三个模型的基础上分别添加Attention机制后,实验结果在ROUGE评价准则上均有一定的提升,这说明注意力机制能够对句子中重要的内容给予更大的关注度,从而提高评论摘要任务的效果。

4 结 语

针对产品评论摘要任务面临的各项挑战,本文提出一种基于上下文信息的产品评论摘要方法。该方法采用层级Bi-LSTM神经网络对产品评论信息进行编码,联合学习产品评论中的句子信息和上下文信息,充分发挥了上下文信息对产品评论摘要任务的影响。实验结果表明,本文方法与目前主流的评论摘要方法相比,取得了显著的性能提升。这也验证了该方法能够高效地利用上下文信息来提升产品评论摘要任务的效果。

今后的研究中,将会不断地完善现有的方法,以便进一步提高产品评论摘要任务的性能。同时,还将对本文方法进行进一步的拓展与探索,尝试引入产品属性[22]等信息,从而提高产品评论摘要的质量。

猜你喜欢
文摘商户向量
向量的分解
江苏赣榆农商行 上线商户回访管理系统
“543”工作法构建党建共同体
工商银行 银行业首家商户发展中心成立
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
浅谈商户对信用卡业务的作用
台港文摘
台港文摘
健康文摘