随着神经网络,尤其是深度学习算法的发展,神经网络在文本分类任务中取得了很大的发展,提出了各种解决方案,如CNN在文本分类中的应用,RNN,LSTM等等,相比较于CNN以及RNN方法,LSTM可以学习长距离的语义信息。Attention-Based BiLSTM结合双向的LSTM(Bidirectional LSTM)以及Attention机制处理文本分类的相关问题,通过attention机制,该方法可以聚焦到最重要的词,从而捕获到句子中最重要的语义信息。
Attention-Based BiLSTM算法的网络结构如下所示:
在Attention-Based BiLSTM网络中,主要由5个部分组成:
注意点:
假设句子通过分词算法后,得到的T 个词为:\left \{ x_1,x_2,\cdots ,x_T \right \} ,每一个词x_i 经过词向量的映射得到对应的词向量e_i ,假设经过LSTM后正向的输出为\underset{h_i}{\rightarrow} ,逆向的输出为\underset{h_i}{\leftarrow} ,则第i 个词经过BiLSTM后得到的向量为:h_i=\left [ \underset{h_i}{\rightarrow}\bigoplus \underset{h_i}{\leftarrow} \right ] 其中,\bigoplus 表示的是对应元素相加。
假设H 是所有T 个词经过BiLSTM后得到的向量的集合:\left [ h_1,h_2,\cdots h_T \right ] ,那么Attention的计算方法如下:M=tanh\left ( H \right ) 其中,H\in \mathbb{R}^{d^w\times T} ,d^w 表示的是向量的维度,对应的,M 的维度为:d^w\times T 。\alpha =softmax\left ( w^TM \right ) 其中,w^T 表示的是需要学习的参数,w 的维度为d^w\times 1 ,\alpha 的维度为1\times T 。r=H\alpha ^T
其中,r 的维度为d^w\times 1 。 最终用于分类的向量表示为:h^{\ast }=tanh\left ( r \right ) 。
针对句子S ,通过上述的BiLSTM以及Attention机制,得到了对应的表示矩阵:h^{\ast } ,其维度为d^w\times 1 。分类器以h^{\ast } 为输入:\hat{p}\left ( y\mid S \right )=softmax\left ( W^{\left ( S \right )}h^{\ast }+b^{\left ( S \right )} \right )