计算机应用   2017, Vol. 37 Issue (6): 1735-1740  DOI: 10.11772/j.issn.1001-9081.2017.06.1735
0

引用本文 

刘新星, 姬东鸿, 任亚峰. 基于神经网络模型的产品属性情感分析[J]. 计算机应用, 2017, 37(6): 1735-1740.DOI: 10.11772/j.issn.1001-9081.2017.06.1735.
LIU Xinxing, JI Donghong, REN Yafeng. Product property sentiment analysis based on neural network model[J]. Journal of Computer Applications, 2017, 37(6): 1735-1740. DOI: 10.11772/j.issn.1001-9081.2017.06.1735.

基金项目

国家自然科学基金资助项目(61133012)

通信作者

刘新星, 781725130@qq.com

作者简介

刘新星(1989-), 男, 湖北黄冈人, 硕士研究生, 主要研究方向:文本挖掘、深度学习;
姬东鸿(1967-), 男, 湖北武汉人, 教授, 博士, 主要研究方向:文本挖掘、大数据、深度学习、舆情分析;
任亚峰(1986-), 男, 湖北武汉人, 博士研究生, 主要研究方向:文本挖掘、深度学习

文章历史

收稿日期:2016-11-04
修回日期:2017-01-18
基于神经网络模型的产品属性情感分析
刘新星, 姬东鸿, 任亚峰    
武汉大学 计算机学院, 武汉 430072
摘要: 针对基于词向量的神经网络模型在产品属性情感分析中效果不佳的问题,提出一种集成离散特征和词向量特征的开关递归神经网络模型。首先,通过直接循环图为语句建模,采用开关递归神经网络模型完成产品属性情感分析任务;然后,在开关递归神经网络模型中集成离散特征和词向量特征;最后,分别在流水线、联合、折叠三种任务模型中完成属性提取和情感分析任务。以宏观F1分数作为评估指标,在SemEval-2014的笔记本电脑和餐馆评论数据集上做实验。开关递归神经网络模型的F1分数为:48.21%和62.19%,超过普通递归神经网络模型近1.5个百分点,因而开关递归神经网络能够有效捕获复杂特征,提升产品属性情感分析的效果。而集成离散特征和词向量特征的神经网络模型的F1分数为:49.26%和63.31%,均超过基线结果0.5到1个百分点,表明离散特征和词向量特征互相促进,另一方面,也表明仅仅基于词向量的神经网络模型仍有提升空间。三种任务模型中,流水线模型的F1分数最高,表明应将属性提取和情感分析任务分开完成。
关键词: 神经网络    情感分析    产品属性    开关递归神经网络    
Product property sentiment analysis based on neural network model
LIU Xinxing, JI Donghong, REN Yafeng     
School of Computer, Wuhan University, Wuhan Hubei 430072, China
Abstract: Concerning the poor results of product property sentiment analysis by the simple neural network model based on word vector, a gated recursive neural network model of integrating discrete features and word vector embedding was proposed. Firstly, the sentences were modeled with direct recurrent graph and the gated recursive neural network model was adopted to complete product property sentiment analysis. Then, the discrete features and word vector embedding were integrated in the gated recursive neural network. Finally, the feature extraction and sentiment analysis were completed in three different task models:pipeline model, joint model and collapsed model. The experiments were done on laptop and restaurant review datasets of SemEval-2014, the macro F1 score was used as the evaluation indicator. Gated recursive neural network model achieved the F1 scores as 48.21% and 62.19%, which were more than ordinary recursive neural network model by nearly 1.5 percentage points. The results indicate that the gated recursive neural network can capture complicated features and enhance the performance on product property sentiment analysis. The proposed neural network model integrated with discrete features and word vector embedding achieved the F1 scores as 49.26% and 63.31%, which are all higher than baseline methods by 0.5 to 1.0 percentage points. The results show that discrete features and word vector embedding can help each other, on the other hand, it's also shown that the neural network model based on only word embedding has the room for improvement. Among the three task models, the pipeline model achieves the highest F1 scores. Thus, it's better to complete feature extraction and sentiment analysis separately.
Key words: neural network    sentiment analysis    product property    Gated Recursive Neural Network (GRNN)    
0 引言

随着情感分析研究的不断深入,产品属性情感分析在自然语言处理领域备受关注。传统的情感分析任务判定给定文本或者句子的极性(负面、中性、正面),而基于属性的情感分析旨在识别给定目标实体的属性以及各个属性所表达出来的情感类别。比如:笔记本电脑评论不仅表达了对某个产品整体的情感,还有诸如硬件、软件、价格等特定属性的情感。甚至一个评论可能对同一个产品的不同属性表达相反的情感。示例如下所示:

 ·The [software]+ that comes with this machine is greatly welcomed compared to what [Windows]- comes with.

 ·Its [performance]+ is ideal, I wish I could say the same about the [price]-.

 ·MacBook notebooks quickly die out because of their short [battery life]-.

基于属性的情感分析包含两个子任务:1) 属性检测;2) 各个属性的情感分类。现有研究主要集中在属性已经给定[1]的前提下,设计分类算法来直接识别给定属性的情感类别;也有少部分研究集中在属性提取[2]上。然而很少有研究将两个任务同步完成。

基于属性的情感分析是典型的序列标注问题,可以通过当前最好的标注器比如条件随机场(Conditional Random Field, CRF)模型来解决。然而,CRF的效果严重依赖人工设计的特征集。而神经网络模型能够有效减少特征工程里面的人工干预工作量[3-4],已经广泛应用于各种各样的自然语言处理(Natural Language Processing, NLP)任务,并且获得了优异的性能,受上述研究的启发,本文使用神经网络模型来研究基于属性的情感分析问题。本文主要通过两种方法来探索如何提升产品属性情感分析的效果:1) 同步完成属性提取和情感分类;2) 集成离散特征和词向量特征。实验中采用2014年国际语义评估研讨会(Semantic Evaluation 2014, SemEval-2014) 的笔记本电脑评论和餐馆评论作为评测数据集。

序列标注任务有两种类型的表示方法。如图 1所示,图 1(a)有两种标签,第二行的B/I/O标签表示属性边界,第三行的+、-表示情感极性。上述两种类型的标签可以看作流水线式任务或者联合的多标签任务。另外,如图 1(b)所示,两种类型的标签可以表示为折叠标签:如B+和I+,即正极性属性的开始和中间位置。通过联合或者折叠设置,可以在一个序列标注模型中同步研究属性检测和情感分类。

图 1 流水线、联合和折叠模型 Figure 1 Pipeline, joint and collapsed model

本文中,首先比较流水线、联合和折叠三种任务模型在离散和神经网络设置下的不同影响;然后,通过开关递归单元扩展了神经网络模型,用来捕获更加复杂的特征;最后,通过融合词向量特征和离散特征,进一步提升模型效果。

1 相关研究

基于属性的情感分析在近十年来被广泛研究。现有工作主要可分为两类:一类是基于规则的方法,比如,Hu等[5]首次提出通过手工定义规则来提取产品属性。Qiu等[6]基于句法信息手动定义了产品属性和观点词之间的联系;另一类就是机器学习方法。比如,Jin等[7]和Li等[8]将产品属性和观点词的提取作为一个序列标注问题进行建模,并且相应地通过隐马尔可夫模型(Hidden Markov Model, HMM)和CRF模型解决。然而,这些方法都大量依赖手工制定的规则和特征,需要大量的人工干预。

由于能够学习到更高级别的特征,深度学习方法已经被成功应用于各种NLP任务当中。许多模型,例如递归神经网络、卷积神经网络和自动编码等,已经被用于从数据集中学习固有的句法和语义信息,并且在情感分析上取得了很好的效果[3-4, 9-10]。这些研究大量聚焦在文档/句子级别以及短语/单词级别的情感分析,而基于深度学习方法的产品属性情感分析研究较少。

本文中,通过集成了离散特征和词向量特征的开关递归神经网络模型来同步实现属性提取和情感分析。此前,Liu等[2]通过递归神经网络和词向量的组合来实现基于属性的情感分析。然而,这个研究只关注如何通过集成标准的递归神经网络和不同的词向量来实现属性检测,而本文在此基础上进一步实现了属性的情感分析。Zhang等[4]的研究通过CRF来扩展神经网络模型,以此来研究开放领域的目标情感分析。该研究采用最基本的词向量方式来给语句建模, 而本文通过循环图来给语句建模,并引入开关递归单元,能够学习到更复杂的特征。

2 情感分析模型

在实验任务中,以词序列作为输入。给定输入序列x,在流水线模型任务和折叠模型任务中输出单一标签序列y。在联合模型的任务中,有两个标签序列yz。首先介绍离散CRF模型和基于神经网络的CRF模型的数学描述。然后通过开关递归单元来扩展基于神经网络的CRF模型,从而捕获复杂的特征。最后,给出整合离散特征和词向量特征的集成模型。

2.1 离散CRF模型

对于离散CRF模型,标签和输入之间的势函数为:

$\mathit{\Phi }({\mathit{\boldsymbol{x}}}, {y_i}){\rm{ = }}\exp \{ {\mathit{\boldsymbol{\theta }}} \cdot f({\mathit{\boldsymbol{x}}}, {y_i})\} $ (1)

其中:f (x, yi)是离散特征向量;θ是模型参数向量。标签之间的边缘势函数为:

$\mathit{\boldsymbol{ \boldsymbol{\varPsi} }}({\mathit{\boldsymbol{x}}}, {y_i}, {y_{i - 1}}) = \exp \{ {\mathit{\boldsymbol{\tau }}}({y_i}, {y_{i - 1}})\} $ (2)

其中,τ(yi, yi-1)是状态转移权重,也是一个模型参数。

对于流水线模型和折叠模型中,给定输入序列x, 则标签序列y的条件概率可以表示为:

$\left\{ \matrix{ \phi = \mathop \Pi \limits_{i = 1}^{|x|} \mathit{\boldsymbol{ \boldsymbol{\varPhi} }}({\mathit{\boldsymbol{x}}}, {y_i}) \hfill \cr \varphi = \mathop \Pi \limits_{i = 1}^{|x|} \mathit{\boldsymbol{ \boldsymbol{\varPsi} }}({\mathit{\boldsymbol{x}}}, {y_i}, {y_{i - 1}}) \hfill \cr Z({\mathit{\boldsymbol{x}}}) = \mathop \Sigma \limits_y (\phi *\varphi ) \hfill \cr P({\mathit{\boldsymbol{y}}}|{\mathit{\boldsymbol{x}}}) = \phi *\varphi /Z({\mathit{\boldsymbol{x}}}) \hfill \cr} \right.$ (3)

其中Z (x)是分区函数。

对于联合模型,用多标签的CRF结构来得到两个不同的输出势集合Φ1(x, yi)和Φ2(x, zi)以及不同的边缘势集合Ψ1(x, yi, yi-1)和Ψ2(x, zi, zi-1)。

本文在离散CRF模型中使用Viterbi解码算法,并且引入一种最大化目标边界的训练算法,用来优化训练,提高情感分析模型的识别效果,该算法细节在2.5节中具体阐述。使用的特征主要包括从Mitchell等[11]和Toh等[12]的研究中借鉴的特征以及语言和情感相关的特征。

2.2 基于神经网络的CRF模型

基于神经网络的CRF模型在序列标注任务中表现出极大的潜力,被广泛用于NLP任务[4, 13-15]。本节中,通过基于神经网络的CRF模型同步进行属性检测和情感分类。

与离散CRF模型相比,基于神经网络的CRF模型有两点不同。首先,离散特征被词向量特征所取代。其次,在输入节点x和标签节点yi之间加入了一个隐藏层h,并且使用卷积操作来构建输入节点x和隐藏层h之间的连接。然后,使用非线性函数tanh作为激活函数。

$\left\{ \matrix{ {{\mathit{\boldsymbol{E}}}_{{\rm{prev}}}} = {\mathit{\boldsymbol{e}}}({{\mathit{\boldsymbol{x}}}_{i - 2}}) \oplus {\mathit{\boldsymbol{e}}}({{\mathit{\boldsymbol{x}}}_{i - 1}}) \hfill \cr {{\mathit{\boldsymbol{E}}}_{{\rm{after}}}} = {\mathit{\boldsymbol{e}}}({{\mathit{\boldsymbol{x}}}_{i + 1}}) \oplus {\mathit{\boldsymbol{e}}}({{\mathit{\boldsymbol{x}}}_{i + 2}}) \hfill \cr {\mathit{\boldsymbol{E}}} = {{\mathit{\boldsymbol{E}}}_{{\rm{prev}}}} \oplus {\mathit{\boldsymbol{e}}}({x_i}) \oplus {{\mathit{\boldsymbol{E}}}_{{\rm{after}}}} \hfill \cr {{\mathit{\boldsymbol{h}}}_i} = \tanh ({\mathit{\boldsymbol{W}}} \cdot {\mathit{\boldsymbol{E}}} + {\mathit{\boldsymbol{b}}}) \hfill \cr} \right.$ (4)

其中:e是词向量查找表;⊕是向量级联函数;矩阵W和偏移向量b都是模型参数; xi表示当前词的词向量,xi-1表示前一个词的词向量,xi+1表示后一个词的词向量。

基于神经网络的CRF模型中,以yi表示的输出势函数计算方法为:

$\mathit{\Phi }({\mathit{\boldsymbol{x}}}, {y_i}) = \exp ({\mathit{\boldsymbol{\sigma }}} \cdot {{\mathit{\boldsymbol{h}}}_i})$ (5)

其中σ是一个模型参数。注意,边缘势函数仍然和离散CRF模型的边缘势函数相同。基于神经网络的CRF模型将词向量作为输入,通过隐藏层来获取特征的表示,使用和离散CRF模型相同的算法来进行解码和训练。

2.3 开关神经网络模型

对于基于神经网络的CRF模型,简单地将词向量在每个词的窗口内部级联。这种方法有一个弊端,就是不能够捕获到复杂的特征组合。针对这个问题,引入开关递归神经网络(Gated Recurrent Neural Network, GRNN)模型。

2.3.1 网络结构

递归神经网络需要一个诸如语法树的拓扑结构来给语句建模。本文使用一个直接的循环图来为输入词的组合进行建模,如图 2所示。其中,低层级的两个连续节点组合成高层级的单一节点。但是,这种机制在实际中不能充分地利用复杂组合特征。受Chung等[16]和Chen等[17]的研究启发,本文引入两种开关,重置开关和更新开关,以此作为开关递归神经单元来扩展递归神经网络。其中,重置开关rLrR分别从左子节点和右子节点读取信息,更新开关zNzLzR在组合子节点信息时进行取舍。显而易见,这些开关决定着如何更新和利用组合信息。

图 2 GRNN结构 Figure 2 Architecture of GRNN
2.3.2 开关递归单元

图 3是开关递归单元。这里假设窗口大小为ω,那么就有递归层l∈[1, ω]。在每个递归层l,第j层的隐藏层节点hjlRd的激活函数计算方法为:

图 3 开关递归单元 Figure 3 Gated recursive unit
$\left\{ \matrix{ {{\mathit{\boldsymbol{\delta }}}_{\rm{N}}} = {{\mathit{\boldsymbol{z}}}_{\rm{N}}} \odot {\mathit{\boldsymbol{h}}}_j^l \hfill \cr {{\mathit{\boldsymbol{\delta }}}_{\rm{L}}} = {{\mathit{\boldsymbol{z}}}_{\rm{L}}} \odot {\mathit{\boldsymbol{h}}}_{j - 1}^{l - 1} \hfill \cr {{\mathit{\boldsymbol{\delta }}}_{\rm{R}}} = {{\mathit{\boldsymbol{z}}}_{\rm{R}}} \odot {\mathit{\boldsymbol{h}}}_j^{l - 1} \hfill \cr} \right.$ (6)
${\mathit{\boldsymbol{h}}}_j^{(l)} = \left\{ \matrix{ {{\mathit{\boldsymbol{\delta }}}_{\rm{N}}} + {{\mathit{\boldsymbol{\delta }}}_{\rm{L}}} + {{\mathit{\boldsymbol{\delta }}}_{\rm{R}}}, {\rm{ }}l > 1 \hfill \cr {{\mathit{\boldsymbol{c}}}_j}, {\rm{ }}\quad \quad \quad \quad \quad {\rm{ }}l = 1 \hfill \cr} \right.$ (7)

其中:⊙表示元素层面的乘积;zNzLzR分别是新的激活节点$\mathit{\boldsymbol{\hat h}}_j^l$、左子节点hj-1l-1以及右子节点hjl-1的更新开关。更新开关可以形式化为:

${\mathit{\boldsymbol{z}}} = \left[ \matrix{ {{\mathit{\boldsymbol{z}}}_{\rm{N}}} \hfill \cr {{\mathit{\boldsymbol{z}}}_{\rm{L}}} \hfill \cr {{\mathit{\boldsymbol{z}}}_{\rm{R}}} \hfill \cr} \right] = \left[ \matrix{ 1/\mathit{\boldsymbol{Z}} \hfill \cr 1/\mathit{\boldsymbol{Z}} \hfill \cr 1/\mathit{\boldsymbol{Z}} \hfill \cr} \right] \odot \exp \left( {{\mathit{\boldsymbol{U}}}\left[ \matrix{ {\mathit{\boldsymbol{\hat h}}}_j^l \hfill \cr {\mathit{\boldsymbol{h}}}_{j - 1}^{l - 1} \hfill \cr {\mathit{\boldsymbol{h}}}_j^{l - 1} \hfill \cr} \right]} \right)$ (8)

其中:UR3d×3d是更新开关的系数;ZRd是归一化系数向量。

${{\mathit{\boldsymbol{Z}}}_k} = \sum\limits_{i = 1}^3 {{{[\exp ({\mathit{\boldsymbol{U}}}\left[ {\matrix{ {{\mathit{\boldsymbol{\hat h}}}_j^l} & {{\mathit{\boldsymbol{h}}}_{j - 1}^{l - 1}} & {{\mathit{\boldsymbol{h}}}_j^{l - 1}} \cr } } \right]^{\rm{T}}})]_{d \times (i - 1) + k}}} $ (9)

其中1≤kd。新的激活节点${{\mathit{\boldsymbol{\hat h}}}_j^l}$计算方法为:

${\mathit{\boldsymbol{\hat h}}}_j^l = \tanh ({{\mathit{\boldsymbol{W}}}_{{\mathit{\boldsymbol{\hat h}}}}}\left[ {\matrix{ {{{\mathit{\boldsymbol{r}}}_{\rm{L}}} \odot {\mathit{\boldsymbol{h}}}_{j - 1}^{l - 1}} & {{{\mathit{\boldsymbol{r}}}_{\rm{R}}} \odot {\mathit{\boldsymbol{h}}}_j^{l - 1}} \cr } } \right]^{\rm{T}})$ (10)

其中:${{\mathit{\boldsymbol{W}}}_{{\mathit{\boldsymbol{\hat h}}}}}$R2d×2d, rLRd, rRRdrLrR分别是左子节点hj-1l-1和右子节点hjl-1的重置开关,它们可以表示为:

$\left[ {\matrix{ {{{\mathit{\boldsymbol{r}}}_{\rm{L}}}} & {{{\mathit{\boldsymbol{r}}}_{\rm{R}}}} \cr } } \right] = \sigma (\mathit{\boldsymbol{G}}\left[ {\matrix{ {{\mathit{\boldsymbol{h}}}_{j - 1}^{l - 1}} & {{\mathit{\boldsymbol{h}}}_j^{l - 1}} \cr } } \right]^{\rm{T}})$ (11)

其中:GR2d×2d是两个重置开关的系数,以截断正态分布进行随机初始化;σ是sigmoid函数。

在开关递归神经网络的基础上,对于一个句子的每个词xi,首先通过词向量来表示它的上下文。然后,GRNN的第一层以所有词向量作为输入,它的输出又递归地作为更高层单元的输入,直到输出一个固定长度的向量。最后,以非线性函数tanh作为激活函数,以激活函数在这个固定长度的向量上的计算结果作为CRF层的输入。

2.4 集成模型

为了进一步提升效果,引入一种组合离散特征和词向量特征的集成模型。已有研究表明集成模型在很多NLP任务中有更好的表现[3-4, 11]。集成模型的结构如图 4所示。与开关神经网络的CRF模型相比,集成模型不同的地方在于输入层,它同时以词向量和离散特征作为输入,左侧节点表示词向量特征,右侧节点表示离散特征。不同类型的输入节点使用不同的隐藏层。如图 4所示,词向量特征对应的隐藏层hi与开关神经网络的CRF模型中隐藏层相同。离散特征和节点yi之间的隐藏节点gi计算方法为:

图 4 集成模型 Figure 4 Integrated model
${{\mathit{\boldsymbol{g}}}_{\rm{i}}} = \tanh ({\mathit{\boldsymbol{\theta }}} \cdot f({\mathit{\boldsymbol{x}}}, {y_i}))$ (12)

于是通过yi表示的输出势函数为:

$\mathit{\Phi }({\mathit{\boldsymbol{x}}}, {y_i}) = \exp \{ {\mathit{\boldsymbol{\sigma }}} \cdot ({{\mathit{\boldsymbol{h}}}_i} \oplus {{\mathit{\boldsymbol{g}}}_i})\} $ (13)

边缘势函数仍然和离散模型相同,且仍使用同样的训练和解码算法。

2.5 训练

在实验中,通过最大化目标边界的方法来训练模型参数Θ。目标函数表示为:

$L({\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}}) = {1 \over N}\sum\limits_{n = 1}^N {l({{\mathit{\boldsymbol{x}}}_n}, {{\mathit{\boldsymbol{y}}}_n}, {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}}) + {\lambda \over 2}} ||{\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}}|{|^2}$ (14)

其中:(xn, yn)|n=1N训练样本集;l (xn, yn, Θ)是单个样本(xn, yn)的损失函数;λ是一个正则化参数。损失函数用下面的等式表示:

$\left\{ \matrix{ \beta = \mathop {\max }\limits_y (s({{\mathit{\boldsymbol{x}}}_n}, {\mathit{\boldsymbol{y}}}, {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}}) + \sigma ({\mathit{\boldsymbol{y}}}, {{\mathit{\boldsymbol{y}}}_n})) \hfill \cr l({{\mathit{\boldsymbol{x}}}_n}, {{\mathit{\boldsymbol{y}}}_n}, {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}}) = \beta - s({{\mathit{\boldsymbol{x}}}_n}, {{\mathit{\boldsymbol{y}}}_n}, {\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}}) \hfill \cr} \right.$ (15)

其中:s (xn, y, Θ)=lb(P (y|x))是y的log概率;σ(y, yn)是yyn之间的汉明距离。本文使用在线学习方法来训练模型参数,通过Adagrad算法来更新参数。

另外,最大似然训练方法常用于训练神经网络[4],但是实验结果表明,最大似然训练方法的效果要比最大化边界训练方法差,所以选择了最大化边界训练方法。

3 实验设置 3.1 数据集

实验使用两个产品评论数据集:笔记本和餐馆数据集,来源于SemEval-2014任务4[18]表 1是数据集的基本统计结果。大部分属性只有一个词,大约三分之一的属性是由两个或更多的词组成。两个数据集中,有些句子包含不止一个属性。按照SemEval-2014的规则,给每个属性赋予四类情感标签(正面、负面、中立、矛盾)中的一个。

表 1 语料统计 Table 1 Corpora statistics

每个数据集都包含训练集和测试集。训练集再以90/10的比例被随机分为用于优化每种神经网络结构超参数的训练/开发集。

3.2 参数

对于所有的神经网络模型,隐藏层的词向量特征大小都设置为200,而隐藏层的离散特征大小设置为30。Adagrad优化算法的初始学习速率为0.01,正则化参数设为10-8,迭代50 epoch (epoch表示全量训练样本扫描一次)。基于亚马逊网站的大规模评论语料,本文使用Mikolov等[19]的连续词袋模型(Continuous Bag-Of-Words model, CBOW)模型学习得到100维的词向量。

3.3 评估指标

本文使用宏观F1分数来评估属性检测和情感分类,F1分数越高标明模型效果越好。对于属性检测任务,仅仅判断属性是否被成功识别。而对于情感分类任务,属性和情感类别都成功识别才能算正确。

3.4 基线方法

为了验证本文所提出模型的有效性,与以下基线模型进行了对比:

1) IHS_RD:在笔记本评论数据集中表现最好的模型[20]。该模型基于CRF算法,主要是通过命名实体识别、词性(Part Of Speech, POS)标签、语法解析和语义分析来提取特征。

2) DLIREC:在餐馆评论数据集中表现最好的模型[12]。同样基于CRF算法,主要使用POS特征、句法依赖树特征以及从YELP (美国著名商户点评网站)和亚马逊商城评论中获取到的一些特征。

3) Li等[8]:集成不同的递归神经网络(Recurrent Neural Network, RNN)以及词向量的模型。该模型性能接近于SemEval-2014中排名靠前的系统效果。

4) Zhang等[4]:用神经网络来扩展CRF算法的模型,以此来研究开放领域情感分析。

4 实验结果与分析

表 2分别是联合模型、流水线模型和折叠模型在测试集上的实验结果,三种基线方法都是流水线模型。

表 2 基线模型以及不同神经网络模型的实验结果 % Table 2 Experimental results of base line model and different neural network models %
4.1 离散、神经网络和集成模型比较

表 2所示,基于神经网络的CRF模型与离散CRF模型效果相近。离散CRF模型需要大量手工制定的特征,而基于神经网络的CRF模型仅仅以词向量作为输入。词向量能够通过大规模原始文本训练获得,这样不仅能够避免特征工程中的人力劳动,而且能在一定程度上缓解所表示数据的稀疏性。在实验中,基于神经网络的CRF模型效果比离散CRF效果差,主要原因是它只将基本的词向量作为输入,而这样并不能捕获复杂特征,所以本文提出通过开关递归单元来扩展基于神经网络的CRF模型。

表 2的结果显示,即使不使用额外的语法树特征,开关递归神经网络的宏观F1分数在联合、流水线以及折叠模型中都超过普通递归神经网络模型近1.5个百分点,表明本文所提模型能够通过开关机制捕获到复杂的特征组合。这个特性在产品属性情感分析中很重要。以属性检测为例,对于某些属性,最后一个词往往比下一个词更重要,如果所有的属性在使用词向量的时候都同等对待,那么噪声或者无关的部分就会降低检测效果;开关神经网络模型(流水线和联合)在两个任务的餐馆评论数据集上宏观F1分数分别为84.34%、62.19%,比基线模型IHS_RD (79.62%, 59.12%)和DLIREC (84.01%, 62.07%)的宏观F1分数表现要好;同时,在两个数据集的两个任务中,开关神经网络模型(流水线)的宏观F1分数都比Zhang等[4]的模型高。因此,开关神经网络模型在基于属性的情感分析中是有效的。

与基线系统[12, 20]相比,集成模型(流水线和联合)在两个任务的笔记本数据集和餐馆数据集上的宏观F1分数均超过基线结果0.5到1个百分点,排在第一位,主要原因是自动学习的词向量特征和人工定义的离散特征互为补充。因此,在产品属性情感分析的任务中,集成模型相比于离散模型或者神经网络模型有明显的优势。

4.2 流水线、联合和折叠模型比较

基于表 2的数据,对于离散CRF模型,流水线任务和联合任务效果相近,这表明属性边界信息和情感类别之间有一种相对较弱的关联。另一方面,折叠模型的宏观F1分数比流水线模型低,表明同步进行属性检测和情感分类并不能够有效提升产品属性情感分析的效果。上述实验结果表明,对于产品属性情感分析任务,联合和流水线模型在宏观F1分数上表现更好。这个结论和Mitchell等[11]以及Zhang等[4]的研究结论保持一致,它们的研究目标是开放领域的情感分析任务。

5 结语

本文主要通过不同的神经网络模型来研究产品属性情感分析,采用直接循环图为语句建模,在神经网络模型中引入开关递归单元,并且通过联合模型和折叠模型来同步实现属性提取和情感分析。实验结果表明,同步完成属性提取和情感分类并不能够提升产品属性情感分析的效果。未来将探索基于依存树的递归神经网络结构,以此来进一步研究产品属性情感分析。

参考文献
[1] CHEN L, WANG W B, NAJARAJAN M, et al. Extracting diverse sentiment expressions with target-dependent polarity from twitter[C]//Proceedings of the Sixth International AAAI Conference on Weblogs and Social Media. Menlo Park:AAAI, 2012:50-57.
[2] LIU P F, JOTY S, MENG H L. Fine-grained opinion mining with recurrent neural networks and word embeddings[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA:ACL, 2015:1433-1443.
[3] REN Y F, ZHANG Y, ZHANG M S, et al. Context-sensitive twitter sentiment classification using neural network[C]//Proceedings of the 30th AAAI Conference on Artificial Intelligence. Menlo Park:AAAI, 2016:215-221.
[4] ZHANG M S, ZHANG Y, VO D T. Neural networks for open domain targeted sentiment[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA:ACL, 2015:612-621.
[5] 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:ACM, 2004:168-177.
[6] QIU G, LIU B, BU J J, et al. Opinion word expansion and target extraction through double propagation[J]. Computational Linguistics, 2011, 37(1): 9-27. doi: 10.1162/coli_a_00034
[7] JIN W, HO H H. A novel lexicalized HMM-based learning framework for Web opinion mining[C]//Proceedings of the 26th Annual International Conference on Machine Learning. New York:ACM, 2009:465-472.
[8] LI F F, HAN C, HUANG M L, et al. Structure-aware review mining and summarization[C]//Proceedings of the 23rd International Conference on Computational Linguistics. Stroudsburg, PA:ACL, 2010:653-661.
[9] 梁军, 柴玉梅, 原慧斌, 等. 基于深度学习的微博情感分析[J]. 中文信息学报, 2014, 28(5): 155-161. ( LIANG J, CHAI Y M, YUAN H B, et al. Deep learning for Chinese micro-blog sentiment analysis[J]. Journal of Chinese Information Processing, 2014, 28(5): 155-161. )
[10] 滕飞, 郑超美, 李文. 基于长短期记忆多维主题情感倾向性分析模型[J]. 计算机应用, 2016, 36(8): 2252-2256. ( TENG F, ZHENG C M, LI W. Multidimensional topic model for oriented sentiment analysis based on long short-term memory[J]. Journal of Computer Applications, 2016, 36(8): 2252-2256. doi: 10.11772/j.issn.1001-9081.2016.08.2252 )
[11] MITCHELL M, AGUILAR J, WILSON T, et al. Open domain targeted sentiment[C]//Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA:ACL, 2013:1643-1654.
[12] TOH Z Q, WANG W T. DLIREC:aspect term extraction and term polarity classification system[C]//Proceedings of the 8th International Workshop on Semantic Evaluation. Stroudsburg, PA:ACL, 2014:235-240.
[13] 迟呈英, 于长远, 战学刚. 基于条件随机场的中文分词方法[J]. 情报杂志, 2008, 27(5): 79-81. ( CHI C G, YU C Y, ZHAN X G. A Chinese word segmentation approach using conditional random fields[J]. Journal of Information, 2008, 27(5): 79-81. )
[14] 冯元勇, 孙乐, 李文波, 等. 基于单字提示特征的中文命名实体识别快速算法[J]. 中文信息学报, 2008, 22(1): 104-110. ( FENG Y Y, SUN L, LI W B, et al. A rapid algorithm to Chinese named entity recognition based on single character hints[J]. Journal of Chinese Information Processing, 2008, 22(1): 104-110. )
[15] PENG J, BO L F, XU J B. Conditional neural fields[C]//NIPS'09:Proceedings of the 22nd International Conference on Neural Information Processing Systems. Cambridge, MA:MIT Press, 2009:1419-1427.
[16] CHUNG J Y, GULCEHRE C, CHO K H, et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[EB/OL].[2016-09-20]. https://arxiv.org/pdf/1412.3555.pdf.
[17] CHEN X C, QIU X P, ZHU C X, et al. Sentence modeling with gated recursive neural network[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA:ACL, 2015:793-798.
[18] PONTIKI M, GALANIS D, PAVLOPOULOS J, et al. SemEval-2014 Task 4:aspect based sentiment analysis[C]//Proceedings of the 8th International Workshop on Semantic Evaluation. Stroudsburg, PA:ACL, 2014:27-35.
[19] MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of the 2013 International Conference on Neural Information Processing Systems. Cambridge, MA:MIT Press, 2013:3111-3119.
[20] CHERNYSHEVICH M. IHS R & D Belarus:cross-domain extraction of product features using conditional random fields[C]//Proceedings of the 8th International Workshop on Semantic Evaluation. Stroudsburg, PA:ACL, 2014:309-313.