论文学习:《Multi-grained Attention Network for Aspect-Level Sentiment Classification》

《Multi-grained Attention Network for Aspect-Level Sentiment Classification》

这是一篇2018年发表的文章。

它的思想主要是

1.针对基于主题的情感分析中的target进行处理,有的target会比较长,这样直接pooling求和,就会显得极端粗暴。

2.不光考虑从target到context的attention,还考虑context到target的attention.

3.提出了一个loss计算,让target对attention的考虑尽可能的不同。

1,2,这两个部分恕我直言,没有什么两点,以前的文章都做过了,只有第三个是一个全新的亮点。


论文学习:《Multi-grained Attention Network for Aspect-Level Sentiment Classification》_第1张图片

算法思想:aspect 和 context 作为输入,其值是Glove的word_embedding, 在之后是一个bi-LSTM,其中Context里面配备了一个Location Encoding ,调用的是位置公式,主要思想是远位置分配更小的权值。

然后是四个attention机制,一个是中间的Alignment_Matrix,这个东西是context和target的点成,和context,target本身的concat,再成一个W得到的。然后去横向和纵向的softmax的值。

粗粒度的东西,其实就是普通的attention,而后把结果concat起来,最后softmax一下。

其中损失函数有点意思:

论文学习:《Multi-grained Attention Network for Aspect-Level Sentiment Classification》_第2张图片

那个Laogn代表的是d_ij的结果,我们可以发现,算的是针对于context的aspect。

 

最后我实在无法理解为什么要算,在论文里也没有看到解释,难道是为了凑准确率强行加上去的?

感觉这就是一篇普通的工作。


LSTM 参数量 ( 2d  + 1)  * d * 4  * 2 

fine_grain: 1 * 6d 

softmax:  8d * 3  + 3

attention: 2d * 2d 

还有一个损失函数的L, 1 * 6d

大概参数总量:601 * 300  * 4 * 2    + 601 + 8 * 300 + 3+ 2 * 300 * 2 * 300 + 6 * 300= 1807204

 

 

 

如何计算参数量:

https://zhuanlan.zhihu.com/p/39262960

你可能感兴趣的:(论文学习:《Multi-grained Attention Network for Aspect-Level Sentiment Classification》)