概述
paper https://www.aclweb.org/anthology/P16-2034
这篇文章讲述了如何利用LSTM+attention机制对文本进行分类
整篇论文可以用这张图表表示:
Input Layer: 输出层,原始数据
Embedding Layer: embedding 层,将原始数据中的单词编码为vector
LSTM Layer: 双向编码,输出每一时刻单词的隐状态
Attention Layer: 对LSTM Layer层每一时刻的输出进行attention,加权运算得到输出
Word Embeddings
将word 转变为vector通过一个, 通过与一个 look up the embedding matrix 相乘得到
v
i
v^{i}
vi 是一个one hot向量,来唯一标志某个单词,
W
wrd
W^{text { wrd }}
W wrd 是一个维度为d*V的矩阵,V是词汇表的总大小,是一个固定值。d是单词向量的长度,是个超参数可以设置。
embedding 矩阵可以实现训练好,比如用word2vec训练出单词的vector, 也可以attention模型训练的时候学习。
BidirectionalNetwork
双向网络,网络的单元可以是LSTM或者GRU。
对于许多序列建模任务来说,访问未来和过去的上下文是有益的。然而,标准的LSTM网络以时间顺序处理序列,它们忽略了未来的上下文。**双向LSTM网络通过引入第二个层来扩展单向的LSTM网络,在这个层中隐藏的隐藏连接以相反的时间顺序流动。**因此,该模型能够利用过去和未来的信息。
如上图所示,每个单词前向和后向传递的信息最终被合并到一起作为单词的输出:
Attention
H 为每个时刻隐向量的总矩阵
[
h
1
,
h
2
,
…
,
h
T
]
left[h_{1}, h_{2}, ldots, h_{T}right]
[h1,h2,…,hT]
α
alpha
α 为attention的权重矩阵,它有H经过tanh函数生成的M再通过softmax函数得到的,其中的
w
T
w^{T}
wT是可训练的参数,决定权重如何分布
r为最终的句子表示,由隐状态矩阵H和权重
α
alpha
α 相乘得到
Classifying
将上一步中的r通过tanh函数得到
h
∗
h^{*}
h∗,
将
h
∗
h^{*}
h∗作为softmax classifier 的变量来做预测
代价函数如下
它由似然对数和L2正则组成。
此外,文章还提到使用dropout来减少过拟合的产生。
最后
以上就是朴实黑猫为你收集整理的Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification的全部内容,希望文章能够帮你解决Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复