aspect term extraction——最近两篇结合依存树和CRF的文章

来源:互联网 发布:直播软件收入排行榜 编辑:程序博客网 时间:2024/06/08 14:17

Unsupervised word and dependency path embeddings for aspect term extraction

Yin Yichun, 2016

本文解决的问题是aspect term提取问题,总的来说转换成了序列标注问题,应用CRF算法解决。

总结:本文将aspect term抽取问题看成序列标注问题,并采用CRF方法解决,在向CRF输入每个单词的特征时,不仅仅用词向量,还考虑更丰富的上下文信息,比如邻居单词的词向量,和上下文单词的依存关系信息。具体实现上,是通过无监督学习,得到词向量和依存路径的向量表示。在为每个单词选择特征时,不仅考虑其词向量,而且考虑线性上下文特征和依存上下文特征。以这些特征作为CRF的输入,进行序列标记。创新点在于训练依存路径的向量表示


1、词向量和依存路径向量的无监督学习

(注,本文不是学依存路径,而是学习依存关系,依存路径是通过利用循环神经网络对依存关系进行组合得到的,怎么能说学路径的表示呢?!)

取两个单词之间的最短依存路径,组成三元组。依存路径的向量是组合向量compositionality,文中采用循环神经网络得到路径向量。无监督学习的训练目标是让gold三元组的得分最高(负采样),这样经过对大量数据的学习,可以得到词向量和路径向量。当然,路径数随着跳数指数增长,文中只考虑跳数小于3的路径对应的三元组。


目标函数:


注意这里的负路径样本的选择方式,选择的负路径样本的跳数和gold路径的跳数要保持一致,并且对跳数为1,2,3的路径分别选择5,3,2个负样本。

2、skip-gram方法学习单词词向量

这里参考Mikolov的用于训练词向量的skip-gram。本文也采用负采样技术,根据单词的频率进行负采样,并且负样本个数设置为5.

3、CRF标注

至此,我们得到了两份词向量和一份依存关系向量。那么怎么为每个单词选择特征呢?文中指出,除了单词自己的词向量信息,还要考虑上下文信息,以及依存信息,作者分别称作线性上下文和依存上下文。如下图所示:

线性上下文信息考虑了单词前后各2个单词的词向量的串联。依存上下文考虑了和单词有关的(依存路径上下文单词)对,这里仅仅考虑跳数不超过3的路径对应的pair。那么依存上下文的向量是怎么计算的呢?首先,把依存路径上下文单词的向量相加作为该pair的向量表示,然后对所有有效pair的向量取平均作为依存上下文的向量特征。

作者还提到了对连续特征做离散化,不知道是不是CRF必须要做的??


实验:

作者用yelp语料和Amazon(laptop,kindle,electronic,phone,video game)评论用于词向量和依存关系的训练。

单词量为100,000,依存关系为50种。

作者在实验部分比较了不同词向量方法和不同参数设置的影响。


问题:

刚看到这篇文章的时候觉得有点意思,作者提出把单词向量空间和依存关系路径的向量空间映射为为同一个空间,两个单词词向量之间的差值为依存路径。可是现在仔细想想,这样做直观上并没有什么意义,两个相同单词之间的单词可以多种多样,这样依存路径也有多样性,让这些依存路径都相同明显不合理。

另外:文中意思是要训练出两份词向量,可是并没有体现第一份词向量的用处。


Recursive neural conditional random fields for aspect-based sentiment analysis

Wang Wenya, 2016

这篇文章虽然题目中说是情感分析,但其实就是term提取问题,只不过除了提取aspect term,顺便还提取opinion term。这篇文章和上文的思路非常像,都是把term提取问题转换成序列标注问题,并且都是用CRF解决。另外特征的选择也是非常相似的,上文考虑上下文信息(上下文词向量、上下文依存),这里也是通过依存树为每个单词加入句法信息。只不过在设计的时候略有不同。而且不像上文是把上下文向量的训练过程和CRF标注问题分开设计,这里同时训练两个模块。

总结:


1、包含依存信息的词向量

这里直接根据依存树作为递归结构,以句子中的中心词作为根节点,每个依存关系对应一个矩阵。和标准递归神经网络一致,父节点由孩子节点的向量组合得到,只不过这里的孩子不再是固定的两个,可以是一个,三个。另外,如果按照标准的递归神经网络,每个单词的词向量还是单纯的词向量,并没有添加句法信息,为了得到包含句法信息的词向量,为每个单词计算了一个隐向量,计算方法见下图。组合函数利用了依存关系对应的矩阵。


每个单词得到的隐向量作为CRF的输入。

这篇文章到这里就算结束了,主要内容全部包含在上面这一张图中。后面的内容详细展开了CRF的计算过程,以及反向梯度。这里不细细展开了。


实验:数据集来自SemEval2014,restaurant:3041 training,800 test;laptop:3045 training,800 test。


0 0
原创粉丝点击