Target-oriented Opinion Words Extraction with Target-fused Neural Sequence Labeling 阅读笔记
本文提出了一种新的面向意见目标提取意见词序列标记子任务(TOWE),针对给定的意见目标提取相应的意见词(意见目标是需要你给定的)。
这个任务有很多潜在的应用,如给出每个方面具体的观点信息从而帮助商家提升相应的服务、自动从评论中生成成对的观点摘要、帮助我们理解评论中用户情感的来源和提升 aspect-level sentiment classification 的性能
问题核心在于如何建模 target 和上下文之间的语义关系
意见目标需要提前给定,还要标注意见目标与意见词之间关系,工作量还是很大的。
1.本文的主要贡献
- 本文提出了一种面向目标的意见词提取(TOWE)的序列标记子任务,该子任务可以为ABSA的下游任务提供辅助和可解释性。
- 我们设计了一种新的序列标记神经网络模型来执行TOWE。它可以在同一个评论中为不同的目标生成特定于目标的上下文表示。
- 构建了来自不同领域的四个数据集,作为未来工作的基准。我们在这些数据集上进行了广泛的实验,结果表明我们的模型可以大大超过各种基线。
2.问题定义
给定一个句子 S = { w1 ,w2,…wi,…,wn} ,它是由一个意见目标 wi 和 n 个词组成的,任务是对句子中给定意见目标对应的意见词进行序列标注,标记为 yi={B,I,O} (B:beginning;I:insid;O:other)。下面给出了一个例子。
3.模型
本文提出的模型框架,遵从encoder-decoder。如下图所示
3.1encoder部分
首先定义了一个嵌入查找表 L∈Rd*|V| 其中,d为嵌入维数,|V|为词汇量,嵌入查找表将 S = { w1 ,w2,…wi,…,wn} 映射到 { e1 ,e2,…ei,…,en} ,其中 ei∈Rd .
TOWE 的核心挑战是如何建模 target 和上下文之间的语义关系。将句子分为了三部分,左上下文,目标词,右上下文。
在encoding阶段,用到了三种LSTM
3.1.1 Inward_LSTM
内向的LSTM,他主要遵循了TD-LSTM的设计思想(根据目标之前和之后的上下文分别建模,实际上使用了两个LSTM, 一个是从第一个单词到目标词的左LSTM,一个是从最后一个单词到目标词的右LSTM,因此也被称为双向的LSTM)
获取左上下文表示和右上下文表示:
因为在这里目标词 {wl+1,…wr-1} 出现过两次,文中简单的对同一单词的两种表示进行平均,得到目标词的单词的表示。
所以上下文表示为 HI={h1l,…hlL,hl+1LR,…,hr-1LR,hrR,…hnR}
3.1.2 outward-LSTM
inward-LSTM 设计思想:向目标传递上下文。
outward-LSTM设计思想:是把目标信息传递给左右上下文。
TD-LSTM(缺点)虽然考虑了target words信息的作用,但是没有充分利用target words和它相应的context words之间的关联信息。
方法跟inward-LSTM类似,都是使用两个LSTM,区别是,一个是从目标词向前,还有一个是从目标词向后。
HO={h1l,…hlL,hl+1LR,…,hr-1LR,hrR,…hnR}
3.1.3 IO-LSTM
将上面两种策略串联起来。
3.1.4 IOG:IO-LSTM+Global context
在这里,使用Bi-LSTM获取全局信息,对整个句子进行嵌入 e={e1,e2,…,ei,…en} 。并且获得全局上下文表示 HG .
将IO-LSTM和Bi-LSTM获取的信息(全局上下文)结合起来,获得每个单词的最终目标的特定上下文表示(最终的序列表示r融合了目标信息和全局上下文信息):
总结一下,encoding阶段主要进行和三个阶段,第一个阶段是向内的LSTM,把上下文信息交给目标。第二个阶段是向外的LSTM,把目标信息交给上下文。第三个阶段是Bi-LSTM,获取全局信息。总的来说,复杂度很高,牺牲性能换精确度。
3.2 Decoder
给定了序列标识 r ,我们可以用r来计算 p(y|r) ,其中 y={y1,y2,…yn} 是BIO标签序列,在这里 yi∈{B,I,O}
论文中提出了两种解码方式。
3.2.1贪婪的解码
在每个位置上独立描述为一个三分类问题,我们使用一个线性层和softmax计算概率:
简单的选择点概率最高的标签。没有考虑标签之间的依赖关系,但是运行的速度最很快。使用负对数似然(NLL)计算一个句子的损失。
3.2.2 CRF
第二种是使用条件随机场,考虑邻域中标签之间的相关性,并对标签的整个序列进行评分。文中使用线性链CRF,将标记序列作为条件概率进行评分。
在这里Y是所有可能标签序列的集合,得分函数计算如下(计算这个序列的好坏):
其中A计算的是同 yi-1 到 yi 之间的过渡得分(比如前一个单词的标记是 B ,后一个单词标记是 I 的可能性就很大)。
Pi 计算的是这个词是什么标记的概率(上一个编码方式中提到过)
使用否定对数似然作为句子的损失:
当给出一个新的解码句子时,我们将使用Viterbi算法输出条件概率最大的标签序列。
最后,通过优化损失函数,使模型得到最优的性能。
其中贪婪的encoding,计算速度较快。CRF准确度较高。
4.实验
数据集:
实验结果:
因为作者提出了一个新的子任务,因此定义了几个相对基础的模型进行对比试验。从表中可以看出,准确率有了明显的提升。
第二个表格中作者进行纵向对比以证明自己模型的准确性,inward-LSTM效果差的原因是,只将上下文传递给意见目标,没有考虑意见目标的信息。