Perenial youth.

[EMNLP2017] Large-scale Opinion Relation Extraction with Distantly Supervised Neural Network

[EMNLP2017] Large-scale Opinion Relation Extraction with Distantly Supervised Neural Network

原文链接:http://aclweb.org/anthology/E17-1097

摘要:作者调查了开放域观点关系抽取的任务。给定一堆无标记的文本,作者提出一种高效的基于模式匹配和神经网络分类器的远监督框架。pattern用来自动生成训练数据,深度学习模型用来捕捉各种词汇和语法特征。算法的结果在大范围语料库中是快速且可扩展的。作者在亚马逊在线评论数据集上进行了测试,测试结果表明提出的模型在没有人类标注的情况下可以达到一个很有前景的性能。

1. Introduction

观点抽取系统:从文本中侦测并抽取观点相关的信息。

观点关系抽取任务:识别观点表达式(表明情绪,情感的词),观点目标(objects of opinions)和它们的关系(什么观点对哪一个目标)。

e.g.

The unit is [well designed] and [perfect reception]. 

The Passion of The Christ will [touch your heart]. 

这两个句子中的观点关系有:

(“well designed”,”unit”), (“perfect reception”,”unit”)

    (“touch your heart”, “The Passion of The Christ”)

观点关系的抽取常常是细粒度观点分析的第一步,并且在其它情感相关的应用中扮演着重要的角色。这篇文章的目的是从开放域大范围观点文本中抽取观点关系对。

现在已有方法的问题:

  • 有监督:性能好,但获得大量标注数据困难,模型只能在固定领域使用。
  • 基于模式:简单快速,scalable,但是对语法错误敏感,噪声难以控制(bootstrapping),且覆盖率低。
  • 同时,现在的方法过于依赖观点词典,对多个词组成的表达式支持不好(例如,“more than what I expected”,“honest to the book”,“adrenaline pumping”)。另一个问题是一些正确的表达式可能因为POS tagger和syntactic parsers产生的错误而被忽略。

主要贡献:

  • 提出了一个远监督算法来进行开放域的观点关系抽取。
  • 开发了一个神经网络模型来学习词法和语法上下文的表示。模型用双向LSTM来捕捉整体信息,CNN捕捉局部低维特征信息。
  • 探索了一个无监督的分类器来侦测多个词的观点表达式。给定一个表达式,分类器去判断相邻的词是否是一个观点表达式。

系统在亚马逊评论数据集上测试,包括15个不同的领域和3300万条评论。输出的数据库包括72500w观点关系对。

2. Related Works

几个方面

  • 观点关系抽取
  1. 有监督:pipeline(先抽观点表达式和目标的候选,再识别对应的关系);joint
  2. 半监督,无监督:rule-based bootstrapping, graph propagation, integer   programming, probabilistic topic model
  • 远监督算法
  • aspect-based opinion mining (目标常限制在预先定义的集合中,而我们的系统可以处理开放域问题)

3. The Approach

input: s = w1,w2,…,wn

output: (O, T) pairs,

其中O = wi, wi+1,…, wj(opinion expression)  T = wk, wk+1, …, wl (opinion target)

3.1 Patterns

syntactic pattern:

优点:fast;across  domain

        缺点:语法树有噪声;覆盖率不高

解决方案:

问题一: 给语法树强约束来保证输出的质量

      问题二: 使用远监督分类器和观点表达式分类器来提高覆盖率

所用pattern: 

如何克服噪声问题:使用预先定义的POStag sets 和观点词典

多词表达式问题:当两个词满足一个pattern时,用最小的包含它们的短语来扩充它们。同时,一个关系对可以被编译成新的观点表达式,比如(“perfectly”,“fit”)和(“fit perfectly”,“the case”)

作者同时还调查了bootstrapping方法,并指出与找到的新观点词相比,这个方法引入的noise太多,得不偿失。

3.2 Distant Supervision

解决覆盖率不够的问题。实际上,就是构建了一个分类器,来帮助判断(O, T)是否是一个有效的观点关系。训练集通过模式匹配生成,这里假设这些生成的关系都是正确的。

从传统的(非深度学习的)关系分类器中获得灵感,作者的分类器显式地学习不同的词法和语法上下文表示,模型结构如下图所示

3.3 Opinion Expression Classifier

上述算法中,候选的观点表达式被抽取出来如果它包含至少一个观点词在观点词典L中。尽管如此,仍然有一些观点表达时被忽略,因为它们可能没有观点词,又或者它们的POS tags是错的。在这个section中,作者介绍了无监督的观点表达式分类器,根据上下文来预测是否一个短语是观点表达式。这个模型用的是CNN,窗口大小是5.  训练集通过词典L来生成,假设语料库中包含L的词的context都是positive的。负样本随机取。

4. Experiments

亚马逊产品评论语料库,包括15个领域和3300w条评论。


总结:工作思路还是挺清楚的,解决的问题是观点(意见)关系抽取,即在一句话中同时抽取出观点表达式和观点所对应的目标。首先用传统的pattern来保证可以跨领域,再在pattern上加强约束来保证准确率;之后,使用远监督来进一步提升覆盖率;最后,再使用一个CNN来对多个词组成的观点表达式进行判断,进一步提升性能。

xinyu