阅读笔记:An Unsupervised Neural Attention Model for Aspect Extraction

pdf:https://www.aclweb.org/anthology/P17-1036.pdf

概述:

采用类似于自编码器的方法,在无监督框架下构建模型学习方面向量表示,然后提取与方面向量在向量空间中距离近的词语作为方面术语。

模型示意图:

方法:

方面向量表示的训练过程类似于自动编码器(Auto-encoder),在输入评论文本词向量后,首先使用注意力机制计算文本面向方面的句向量表示,再使用注意力机制来计算句子向量与方面向量相关的概率。该过程可以使得计算的句向量忽略与方面无关的词语,突出与方面有关的单词。最后,再通过与方面向量的相似性权重,对方面向量表示加权求和来重构该句子面向方面的句向量表示。

step 1: 根据输入词向量e,利用注意力机制计算方面相关的句向量表示z

                 y_s=\frac{1}{n}\sum_{i=1}^n e_{w_i}

                 d_i = e_{w_i} \cdot {\rm M} \cdot y_s

                 a_i =\frac{{\rm exp}(d_i)}{\sum\nolimits_{j=1}^n {\rm exp}(d_j)}

                 z_s = \sum_{i=1}^n a_i e_{w_i}

step 2: 利用方面向量表示T,重构句向量z

                 {\rm p}_t = {\rm softmax}({\rm W}\cdot z_s +b)

                  {\rm r}_s = {\rm T}^\top \cdot {\rm p}_t

step 3:  hinge loss

              J(\theta) = \sum_{s \in D} \sum_{i=1}^m {\rm max(0, 1- r_sz_s + r_sn_i)}

               D: 训练文本集合

               m:设定的负采样数

最后,可以根据学习出来的 确定方面术语。为了保证 T 的多样性,论文还有设计了一个正则化因子,加到训练目标J(\theta)中。

             U(\theta) = \rm \left \| T_n \cdot T_n^\top - I\right \|

P.S. 把论文中的公式按照程序实现调换了顺序,看起来更容易理解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。