【Label Embedding using Hierarchical Structure of Labels for twitter Classification】
Introduction
本文所解决的问题是如何将先验知识(Prior Knowledge)融入模型之中的方法,使用的是Label Embedding的思路,所谓的Label Embedding就是不仅仅对于词语进行Embedding,也对于词语的Label进行Embedding,然后对于两个向量进行匹配,看哪对的匹配程度更高。文中使用了一个叫做Two-Step Attention Mechanism的方法来处理Label之间的层次结构,从而使得Label之间的关系进入模型之中。
什么叫做Label之间的层次结构呢?举个简单的例子,食物下面分川菜,粤菜,湘菜等等,川菜下面又分不同的细分菜系,拿到一盘菜的时候,就是将其匹配进不同的菜系的过程。
Method
上图为模型的结构图,$X$是Input Text,$L_j$是第$j$个Lower Label,比如说是川菜,而$U_j$是第$j$个Lower Label所对应的Upper Label,比如说是食物。将他们都丢进Embedding之中,比如说BERT或者是ELMO,可以获得一个$V\times m$的矩阵,$V$和$m$分别代表了单词的多少以及Embedding 的大小。将这些Embedding都丢进Bi-LSTM之中,取出中间层可以获得三个不同的矩阵
$$h_{x} \in R^{|X|\times 2d} \\ h_{l_{j}} \in R^{|L_{j}|\times 2d} \\h_{u_{j}} \in R^{|U_{j}|\times 2d} $$
接下来就是要计算所谓的Label Attention 和 Hierarchical Attention了。
$$\begin{split} w_{label} & = softmax(h\cdot h^{T}_{l_{j}} / \sqrt{2d}) \\ a_{label} & = w_{label} \cdot h_{l_{j}} \end{split}$$
其中的$a_{label}$就是Label Attention,同理可以计算
$$\begin{split} w_{hier} & = a_{label}\cdot h^{T}_{x} \\ a_{hier} & = w_{hier} \cdot h_{x} \end{split}$$
其中的$a_{hier} $就是Hierarchical Attention,将Hierarchical Attention送入Matcher(二层的神经网络)之中就可以得到$s_j$,即分类为第$j$类的Score。
那么Input Text所属的类别自然就是
$$argmax (s_1,s_2,\cdots,s_{|C|})$$
Comments
这是一篇蛮短的论文,基本的思路就是把Label也给Embedding了然后计算Attention,这种Attention比普通的Attention更加有指导意义,但是这种方式只能应用于对于Label的叙述比较长的时候,如果Label并没有什么可以解释的,可能就要自己写Description再Embedding了,感觉这样的方式还是有点意思的,因为其将Label和Input用同一套体系计算的,在同一套体系之下,其在数据结构上的相似性会更高。不过这对于Description的要求应该也会很高。而且对于越细分类的标签应该会有更好的效果,因为如果是一个比较复杂的概念的话,将其Embedding的过程本身就是一个损耗很大的事情。
Reference
Label Embedding using Hierarchical Structure of Labels for twitter Classification
Comments
1 Comment
[…] 需要注意一点就是这个SoftMax的过程的使用是仁者见仁智者见智的,在我们之前所讨论的一篇文章之中【Label Embedding using Hierarchical Structure of Labels for twitter Classification】就没有使用Softmax,在模型的使用的时候希望大家可以自己尝试加不加。 […]
Leave a Comment