概述
论文解读:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification
在基于深度学习的知识图谱构建过程中,知识抽取环节中的实体关系抽取至关作用。本博文将解读2016年由中国科学技术大学Peng Zhou等在ACL发表的论文《Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification》,然后对源码进行详解,并给出实例运行效果。
一、全文摘要译文
关系抽取(Relation Classification / Relation Extraction)是自然语言处理领域中重要的语义处理任务。现有的模型仍然依赖于一些基于词汇库系统例如WordNet或基于NLP的依存路径和命名实体识别(NER)来获取最优特征。另外一个问题是往往可以描述整个句子的重要的信息内容可能存在句子的任何一个位置。为了解决这个问题,我们提出一个基于注意力机制的长短期记忆神经网络模型(Att-BILSTM)来获取一个句子中最重要的信息。实验结果表明在SemEval-2010 关系分类数据集上我们的模型更优于其他现有的模型,且仅适用了词向量。
二、简要信息
序号 | 属性 | 值 |
---|---|---|
1 | 模型名称 | Att-BiLSTM |
2 | 所属领域 | 自然语言处理 |
3 | 研究内容 | 实体关系分类 |
4 | 核心内容 | 词向量/神经网络/注意力机制 |
5 | GitHub源码 | Attention-Based-BiLSTM-relation-extraction |
6 | 论文PDF | http://aclweb.org/anthology/Y/Y15/Y15-1009.pdf |
三、算法模型详解
模型主要包括五部分,分别是输入层、词嵌入层、BlLSTM层、Attention层和输出层。模型结构如图所示:
3.1 输入层
输入层输入的是以句子为单位的样本。
3.2 Word Embeddings
词嵌入层主要是对输入句子进行表征。给定一个包含
T
T
T 个字符的句子:
S
=
{
x
1
,
x
2
,
.
.
.
,
x
T
}
S={x_1,x_2,...,x_T}
S={x1,x2,...,xT}
其中 x i x_i xi表示每一个单词或字符,其用向量 e i ∈ R d w e_iin R^{d^w} ei∈Rdw 表示。设 V V V 表示词汇表, d w d^w dw 为超参数,表示词嵌入的维度, v i v^i vi 表示one-hot编码(当前词为1,其余为0),则待训练的词嵌入矩阵为 W w r d ∈ R d w ∣ V ∣ W^{wrd}in R^{d^w|V|} Wwrd∈Rdw∣V∣, e i = W w r d v i e_i=W^{wrd}v^i ei=Wwrdvi,因此对于当前句子 S S S 词嵌入矩阵为 e m b S = e 1 , e 2 , . . . , e T emb_S = {e_1,e_2,...,e_T} embS=e1,e2,...,eT 。
3.3 Bi-LSTM结构
双向LSTM是RNN的一种改进,其主要包括前后向传播,每个时间点包含一个LSTM单元用来选择性的记忆、遗忘和输出信息。LSTM单元的公式如下:
i
t
=
σ
(
W
x
i
x
t
+
W
h
i
h
t
−
1
+
W
c
i
c
t
−
1
+
b
i
)
i_t=sigma(W_{x_i}x_t+W_{h_i}h_{t-1}+W_{c_i}c_{t-1}+b_i)
it=σ(Wxixt+Whiht−1+Wcict−1+bi)
f t = σ ( W x f x t + W h f h t − 1 + W c f c t − 1 + b f ) f_t=sigma(W_{x_f}x_t+W_{h_f}h_{t-1}+W_{c_f}c_{t-1}+b_f) ft=σ(Wxfxt+Whfht−1+Wcfct−1+bf)
g t = t a n h ( W x c x t + W h c h t − 1 + W c c c t − 1 + b c ) g_t=tanh(W_{x_c}x_t+W_{h_c}h_{t-1}+W_{c_c}c_{t-1}+b_c) gt=tanh(Wxcxt+Whcht−1+Wccct−1+bc)
c t = i t g t + f t c t − 1 c_t=i_tg_t+f_tc_{t-1} ct=itgt+ftct−1
o t = t a n h ( W x o x t + W h o h t − 1 + W c o c t − 1 + b o ) o_t=tanh(W_{x_o}x_t+W_{h_o}h_{t-1}+W_{c_o}c_{t-1}+b_o) ot=tanh(Wxoxt+Whoht−1+Wcoct−1+bo)
h t = o t t a n h ( c t ) h_t=o_ttanh(c_t) ht=ottanh(ct)
模型的输出包括前后向两个结果,通过拼接 h t = [ h t ← , h t → ] h_t=[overleftarrow{h_t},overrightarrow{h_t}] ht=[ht,ht] 作为最终的Bi-LSTM输出。
3.4 Attention结构
由于LSTM获得每个时间点的输出信息之间的“影响程度”都是一样的,而在关系分类中,为了能够突出部分输出结果对分类的重要性,引入加权的思想,注意力机制本质上就是加权求和。
2.3节所示的输出
H
=
{
h
1
,
h
2
,
.
.
.
,
h
T
}
H={h_1,h_2,...,h_T}
H={h1,h2,...,hT},则设一待训练的矩阵参数
w
∈
R
d
w
win R^{d^w}
w∈Rdw,其满足如下公式:
M
=
t
a
n
h
(
H
)
M=tanh(H)
M=tanh(H)
α = s o f t m a x ( w T M ) alpha=softmax(w^TM) α=softmax(wTM)
r = H α T r=Halpha^T r=HαT
则 α alpha α 即为注意力权重系数, r r r 则为LSTM输出 H H H 经过加权求和后的结果,最后通过非线性函数生成表征向量 h ∗ = t a n h ( r ) h^*=tanh(r) h∗=tanh(r)。
3.5 损失函数
将表征向量
h
∗
h^*
h∗ 通过全连接网络映射到类标向量上,通过softmax求得预测的类标,损失函数定义为:
J
(
θ
)
=
−
1
m
∑
i
=
1
m
t
i
l
o
g
(
y
i
)
+
λ
∣
∣
θ
∣
∣
F
2
J(theta)=-frac{1}{m}sum_{i=1}^{m}{t_ilog(y_i)}+lambda||theta||^{2}_{F}
J(θ)=−m1i=1∑mtilog(yi)+λ∣∣θ∣∣F2
四、实验及分析
实验数据集为 SemEval-2010 Task 8,该数据集包含8000个训练句子,2717个测试句子,一共包含9个关系类和一个Other关系类,若考虑关系双向性则可认为是19个类。实验相关设置如下表:
序号 | 属性 | 值 |
---|---|---|
1 | 数据集 | SemEval-2010 Task 8 |
2 | 最优化模型 | AdaDelta |
3 | 学习率rate | 1.0 |
4 | batch_size | 10 |
5 | 正则项系数 | 1 0 − 5 10^{-5} 10−5 |
6 | dropout | 0.5 |
7 | 学习率衰减 | 0.9 |
8 | 词嵌入维度 d w d^w dw | 300 |
实验结果如图所示:
五、论文总结与评价
文章内容结构简单,模型不是很复杂。该模型主要用实体关系分类,也可以用于文本分类或情感分类等。模型主要是将Attention与LSTM进行结合,模型可改进地方有许多。
最后
以上就是虚心含羞草为你收集整理的论文解读:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification的全部内容,希望文章能够帮你解决论文解读:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复