2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

部分翻译:

Abstract 

观点抽取在情感分析中是很重要的一方面。现在的工作倾向于使用主题模型来进行这项工作。这篇文章提出了一个新的神经网络的方法来探索连贯性的aspect。该模型使用神经词向量通过利用与之相关联的词的分布来提高一致性。不像主题模型通常假设单词的生成是独立的,词向量模型假设在相似的上下文中出现的词在向量空间中相互之间靠近。另外,在训练过程中我们使用注意力机制忽视不相关的词,这也提高了aspects(类别) 的相关性。实验是基于真实数据的。

Introduction 

类别提取是情绪分析中的关键任务之一。它的目的是提取已发表意见的实体类别 (胡和刘, 2004;刘, 2012)。例如, 在句子 "牛肉嫩得在我的嘴里溶化了", 类别是 "牛肉"。在类别提取中执行两个子任务: (1) 从评论语料库提取所有类别术语 (如 "牛肉"), (2) 将具有相似意义的类别划分为类别族群, 其中每个族群代表一个单一类别 (例如, 群集 "牛肉", "猪肉", "面食 ", 和" 西红柿 "成一个方面的族群)。以前的方面提取工作可以分为三种方法: 基于规则的、监督的和无监督的。基于规则的方法通常不将提取的类别术语分组为类别族群。有监督的学习需要数据的符号, 并存在领域适应问题。采用无监督的方法, 以避免依赖被标记的数据所需的监督学习。

近年来, 隐性分配 (LDA) (Blei 等, 2003) 及其变种 (蒂托夫和麦当劳, 2008;布罗迪和 Elhadad, 2010;赵等, 2010;慕穆和刘, 2012) 已成为主要的无监督方法的方面提取。LDA 将语料库建模为主题 (类别) 的混合物, 主题作为词类型的分布。虽然基于 LDA 的模型所发现的各个类别的混合可以相当好地描述一个语料库, 但我们发现推断出的个别类别的质量较差--这些类别通常由无关或松散的概念组成。这可能大大降低用户对使用这种自动化系统的信心。质量差可能有两个主要原因。传统的 LDA 模型不直接编码单词共生统计数据, 这是保存主题一致性的主要信息来源 (Mimno et, 2011)。它们通过从文档级别建模单词生成来隐式捕获这些模式, 假设每个单词都是独立生成的。此外, 基于 LDA 的模型需要估计每个文档的主题分布情况。评论文件往往是短的, 从而使估计的主题分布更困难。

在这项工作中, 我们提出了一种新的神经方法来解决基于 LDA 的方法的弱点。我们从神经字向量开始, 它已经将通常在同一上下文中的单词映射到向量空间中的邻近点 (Mikolov 等, 2013)。然后, 我们使用注意机制 (Bahdanau 等, 2015) 在一个句子中过滤单词向量, 并使用过滤后的单词构造类别向量。向量方面的训练过程类似于自编码器, 我们使用降维(dimension reduction )来提取向量化的句子中的共同因素, 并通过向量的线性组合重建每个句子。注意机制 忽略不属于任何类别的单词, 从而使模型能够集中于属于类别的单词。我们称我们建议的基于模型注意的类别提取 (ABAE)

 

Related Work

在过去的十年中, aspect提取问题得到了很好的研究。最初, 方法主要基于手动定义的规则。胡和刘 (2004) 建议通过查找频繁的名词和名词短语来提取不同的产品特征。他们还通过 WordNet, 通过发现观点种子词的同义词和反义词来提取意见词。在此基础上, 提出了基于频繁项挖掘和依赖信息提取产品方面的若干方法 (壮族等, 2006;素马孙德兰和 Wiebe, 2009;邱等, 2011)。这些模型很大程度上取决于预定义的规则, 只有当方面的术语限制在一小部分名词上时, 才会很好地工作。

监督学习方法一般采用模型方面抽取作为标准序列标记问题。金和浩 (2009) 和李等人 (2010) 建议使用隐马尔可夫模型 (HMM) 和条件随机域 (CRF), 分别与一组人工提取的功能。最近, 不同的神经模型 (阴等, 2016;2016) 提出了自动学习基于 CRF 的aspect提取功能的方法。基于规则的模型通常不够细化, 无法对提取的aspect术语进行分类。另一方面, 受监督的学习需要大量的标记数据来进行培训。

随后提出了无监督的方法, 特别是主题模型, 以避免依赖标签数据。通常, 这些模型的输出是每个aspect的字分布或排名。各aspect自然获得, 而不单独执行提取和分类。多数现有的工作 (布罗迪和 Elhadad, 2010;赵等, 2010;慕穆和刘, 2012;陈等, 2014) 的基础上的变体和扩展的 LDA (Blei 等, 2003)。最近, 王等人 (2015) 提出了一个受限玻尔兹曼机器 (以成果管理) 为基础的模型, 同时提取一个特定的复核句的aspect和相关的情感, 把aspect和情感作为单独的隐藏变量的成果管理。然而, 在 (2015) 中提出的以成果管理制为基础的模式依赖于大量先验知识, 如语音词性 (POS) 标记和情绪词汇。提出了一个 biterm 主题模型 (BTM), 它产生了共同发生的词对 (燕等, 2013)。本文对多任务 ABAE 和 BTM 进行了实验比较

注意模型 (Mnih 等, 2014) 最近在训练神经网络上获得了普及, 并已应用于各种自然语言处理任务, 包括机器翻译 (Bahdanau 等), 2015;陈德良等, 2015), 句子总结 (拉什等, 2015), 情绪分类 (陈等, 2016;唐等, 2016) 和问答 (赫尔曼等人, 2015)。注意力机制不是使用所有可用的信息, 而是着眼于任务的最相关信息。与以前的著作不同, 本文将注意力放在无监督的神经模型上。我们的实验结果证明了用于方面提取的无监督设置的有效性。

 

3 Model Description

 

2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

    我们的最终目的是学习每一个aspect能被这个向量空间中这个aspect周围最近的几个词向量(representative words)解释的一系列aspect向量。

  1. 将每一个词汇表中的单词表示成一个特征向量ew Rd。使用(word embeddings)作为特征向量的原因是,word embeddings被设计成能够将在文本*现频率到的单词映射到向量空间的相邻处。)这些单词的特征向量对应于word embedding matrix ERV×d的行,V表示词汇表词数,即这个矩阵是词向量按行储存的矩阵。
  2. ABAE的每一个输入sample是review sentence中每个词的索引list。通过降低权重的方式滤掉non-aspect单词(attention mechanism),并基于weighted word embeddings构建一个sentence embedding zs 。
  3. 我们希望学习与词向量能表示在一个向量空间的aspects向量。因此需要得到aspect embedding matrix T RK×dK表示定义的aspect数目,比V小很多)这样的一个词向量矩阵,其中的aspect 向量近似词汇表中用attention mechanism过滤的词向量--aspect words。(即把aspect看做一种特殊的词向量)
  4. 用来自矩阵T的aspect embeddings 的线性组合重构sentence embedding。这个过程包含维度规约和重构,ABAE就是的目的就是将filtered sentences的sentence embeddings形式zs转换为它们的重构形式rs ,并尽可能地降低失真,并尽可能保存K个embedded aspect中的aspect words信息。

 

3.1. Sentence Embedding with Attention Mechanism

1,用Word2work把语料的词预处理建模,生成词袋模型,每个词对应一个词向量ewi

2.定义句子向量zs是输入的句子索引中对应的词向量的按积极权值相加的和,据此求出句子向量。

2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

 

3.对于每个在句子中的词wi,我们计算一个表示当前词是为了捕获这个句子的主题的正确聚焦词的积极权重ai。ai在词向量ewi和句子的全局上下文(global context)条件下,通过注意机制计算得到

 

2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

  1. 全局上下文信息ys通过简单粗暴的把句子中的词向量相加来得到,作为global context embedding。
  2. MRd×dMRd×d 是训练得到的(后面有讲怎么训练),用来将global context embedding和word embedding做一个映射(M起过滤作用)。然后,通过1)利用M矩阵过滤词语,捕捉词语和K个aspect之间的相关性。
  3. 计算过滤后的词语和global context embedding的内积,捕捉过滤后的词语和句子之间的相关性,得到对应的积极权重ai。

 

 

3.2 Sentence Reconstruction with Aspect Embeddings

 

我们可以把Aspect Embeddings重建看作是从 T 矩阵的Aspect Embeddings的线性组合:

2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

Rs是重构的向量,pt是K维的aspect embeddingsK维的权重向量,其中每一维代表输入的句子属于该维度所对应的aspect的可能性。Pt可以简单的通过把zs从d维降维到k维并用softmax的非线性非负归一化来获取。

2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

W是权重矩阵参数,b是偏移量,也是训练的一部分。

 

3.3 Training Objective

 

ABAE通过训练来减少重构误差,本文采用contrastive max-margin(对比最大边缘)目标函数。对于每个输入句子,随机地采样m个句子作为负样本。将每个负样本表示为ni,为这个句子的平均word embedding(类似于求ys 的过程)。训练目的是使得rs 和该目标样本zs 相似,同时和m个负样本ni尽可能不同:

2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

最小化该目标函数即可。D表示训练数据集,θ={E,T,M,W,b}θ={E,T,M,W,b} 是训练参数。

 

3.4. Regularization Term

aspect embedding matrix T在训练中可能遇到redundancy problems。为了保证学得的aspect embeddings的多样性,我们在J中增加一个正则化因子,以鼓励每个aspect embedding的独特性:
2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记
I是单位矩阵,Tn 是将T 的每一行标准化得到的,Tn ·TTn 中非对角线元素对应于两个不同的aspect的点积。当每两个aspect的乘积是0时,U为最小值。因此,U的作用是鼓励T每一行之间的正交性,这就惩罚了不同aspect间的redundancy。最终的目标函数为:
2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记
λ 用来控制惩罚的力度。

 

4.3. Experimental Settings

评论语料库的预处理是通过删除标点符号, 停止词, 和出现少于10次的单词。对于 LocLDA, 我们使用开源实现 GibbsLDA++1 和 BTM,我们使用由(Yan et al., 2013)发布的实现。我们在held-out set上用网格搜索来调整所有主题模型基线的超参数(hyperparameters), 并使用在 Eq 10 中稍后介绍的主题相干性度量: 对于LocLDA,狄利克雷先验α = 0.05 并且β = 0.1对于 SAS 和 BTM, α = 50/K 和β = 0.1。我们为所有主题模型运行1000次吉布斯取样迭代。

 

数据集:

实验基于两个真实数据集:

1.Citysearch corpus:餐馆语料,广泛应用于现有工作 (Ganu et al., 2009; Brody and Elhadad,2010; Zhao et al., 2010),包含5000个餐馆语料,Ganu et al., 2009还提供了3400句人工标注aspect的语料。主要有六种aspect标签:Food,Staff, Ambience,Price, Anecdotes, and Miscellaneous.

2.BeerAdvocate: 是一份2012年提出的啤酒评论语料(McAuley et al., 2012),包含150万条评论,还包括一个有1000条评论相当于9245个句子的有标注的子集,主要有五个aspect:Feel, Look, Smell, Taste, and Overall
 

我们对review corpora进行预处理:去掉标点符号、stop words、和出现次数少于10的词。baselines采用它们的开源实现,超参数则在一个held-out集合上采用网格搜索的方式,基于主题一致度量(后面还会解释)。对于每个topic model都运行1000个Gibbs采样的迭代。

至于ABAE模型,则基于每个数据集上的负样本采样,用word2vec训练出的word vectors初始化word embedding matrix E。embedding size设置为200,window size设置为10,negative size设置为5。我们用于训练 word 嵌入的参数是标准的,用来训练word embeddings的参数在不同数据上没有进行特定的调整;对于aspect embedding matrix T,则在word embeddings上用k-means聚类出几个簇中心来初始化;其它参数则随机初始化。训练过程中, 我们用亚当 (Kingma 和 Ba, 2014) 修正嵌入矩阵 E 和优化其他参数。以学习率0.001 为15个epochs和batch size大小50。我们将每个输入样本 m 的负样本数设置为 20, 并将正交罚权重λ调整为 1, 通过对 hyperparameters 进行网格搜索。报告的所有模型的结果是超过10运行结果的平均。

在restaurant上设置14个aspect,在beer上则设置10到20个aspect,实验结果表明差异并不明显,因此也设置为14。最后,手动将每个推断的aspect根据高排名的代表性词,将它映射到gold-standard aspect之一(人为比较)。在ABAE中,aspect的representative words可以通过查看embedding space与aspect余弦距离最小的几个词确定。

 

5 Evaluation and Results


We evaluate ABAE on two criteria:
• Is it able to find meaningful and semantically
coherent aspects?
• Is it able to improve aspect identification performance on real-world review datasets?
 

5.1 Aspect Quality Evaluation


5.1.1 Coherence Score

连贯性分数

2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记
5.1.2 User Evaluation

如果审查者判断aspect中的前50个词大部分都属于这个aspect,则这个aspect被判断为一致。

2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

5.2 Aspect Identification

2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

5.3 Validating the Effectiveness of Attention
Model
2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

6.Conclusion

本文演示了ABAE算法相比于LDA模型的效果,ABAE可以明确地捕获词co-occurrence模式并克服数据稀疏的问题。我们的实验结果表明,ABAE不仅仅可以学习大量高质的aspect,比之前的方法也更高效。本文是第一个提出无监督的神经方法用来aspect extraction的。ABAE是对LDA-based方法一个有前途的替代。

 

问题:

为什么要随机m个负样本ni?

最后训练的zs * rs向量转置吗?否则两个k维的向量怎么乘?

 

 

算法实现:

https://blog.****.net/u013695457/article/details/80408299#算法介绍

文章另一个比较好的解释

https://blog.****.net/u013695457/article/details/80390569