《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,这两个部分恕我直言,没有什么两点,以前的文章都做过了,只有第三个是一个全新的亮点。
算法思想:aspect 和 context 作为输入,其值是Glove的word_embedding, 在之后是一个bi-LSTM,其中Context里面配备了一个Location Encoding ,调用的是位置公式,主要思想是远位置分配更小的权值。
然后是四个attention机制,一个是中间的Alignment_Matrix,这个东西是context和target的点成,和context,target本身的concat,再成一个W得到的。然后去横向和纵向的softmax的值。
粗粒度的东西,其实就是普通的attention,而后把结果concat起来,最后softmax一下。
其中损失函数有点意思:
那个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