文章目录
- 1.Introductiony
- 1.1 神经网络的关系抽取
- 1.2使用依赖树的关系抽取
- 1.2.2 依赖树的一般树
- 1.3 本文做法
- 2. 相关工作
- 2.1核方法
- 2.2 深度学习方法
- 2.2.1 CNN
- 2.2.2 RNN
- 2.2.3 transformer
- 2.2.4 依赖树
- 3.模型
- 3.1CEON-LSTM
- 3.1.1 LSTM
- 3.1.2ON-LSTM
- 3.1.2.1 公式
- 3.1.2.2the master gate的区别和原因
- 3.1.2.3重要性分数
- 3.1.3 CEON-LSTM
- 3.3 一致性
- 3.3 Sentence-Dependency Path Similarity
- 3.4 预测
- 4 实验
- 4.1 数据集和超参数
- 4.1.1ACE2005
- 4.1.1.1 超参数
- 4.1.2 SPOUSE
- 4.1.3 the SciERC dataset (Luan et al., 2018)
- 4.2 比较对象
- 4.2.1 ACE2005+word2vec
- 4.2.2 ACE2005+Bert
- 4.3 Ablation Study
- 4.3.1 the Model Components
- 4.3.2变体
- 4.3.3 基于模型的重要性分数
- 5 结论
- 参考文献
- 引入语法依赖树是有用的:语法对于关系抽取有意
- 依赖树–>直接用于构建模型结构
- 或者,多任务学习(词对的依赖关系和语义关系RE两个任务)
- 获得词法信息
- 缺点:
- 缺乏句法结构之外的泛化:泛化性能差
- 对RE重要的词没有被捕获
- 本文的方案
- 将词法信息引入模型
- 利用依赖树
- —>给对RE重要的词高分数(重要性分数)—给每一个词打分
- 做法
- ON-LSTM:获得每个词在RE中的重要性
- 语法的分数
- 让上面两个分数一致
- 将词法信息引入模型
1.Introductiony
1.1 神经网络的关系抽取
- 神经网络的关系抽取
- Verga et al., 2018
Patrick Verga, Emma Strubell, and Andrew McCallum.2018. Simultaneously self-attending to all mentions for full-abstract biological relation extraction. In EMNLP.
1.2使用依赖树的关系抽取
-
依赖树(使用依赖树的关系抽取)
- (Xu et al., 2015; Guo et al., 2019; Tran et al., 2019)
Yan Xu, Lili Mou, Ge Li, Yunchuan Chen, Hao Peng,and Zhi Jin. 2015. Classifying relations via long short term memory networks along shortest dependency paths. In EMNLP.
Zhijiang Guo, Yan Zhang, and Wei Lu. 2019. Attention guided graph convolutional networks for relation extraction. In ACL.
Van-Hien Tran, Van-Thuy Phi, Hiroyuki Shindo, and Yuji Matsumoto. 2019. Relation classification using segment-level attention-based cnn and dependencybased rnn. In NAACL-HLT.-
使用依赖树来构建神经网络
- GCN(依据语法树构建): (Zhang et al., 2018)
Yuhao Zhang, Peng Qi, and Christopher D Manning.2018. Graph convolution over pruned dependency trees improves relation extraction. In EMNLP.
-
缺陷
- 泛化性能差
- 测试数据和训练数据的语法结构不同
- 过拟合了
- 尤其是:跨领域关系抽取(语法结构差异更大
- 泛化性能差
-
解决想法
- 获得更一般的语法结构表示(依赖树)
1.2.2 依赖树的一般树
- RE的一般语法树表示
-
依赖树划分为边的集合:Veyseh et al., 2019
Amir Pouran Ben Veyseh, Thien Huu Nguyen, and Dejing Dou. 2019. Improving cross-domain performance for relation extraction via dependency prediction and information flow control. In IJCAI.
- 单词之间的依赖关系集合
- 随后用于多任务学习
- 优点:
- 对整个树的依赖变为对边的依赖–特定于边的泛化性好一点
- 只抓住了词对之间的依赖关系
- 限制
- 忽略了全局的重要性(对RE任务的重要性)
- 词在句子中能获得更多信息
- 依赖树在句子中可以帮助识别重要的单词,并为其分配更高的分数
- 忽略了全局的重要性(对RE任务的重要性)
-
1.3 本文做法
- 目标
- 一般树+词的重要性
- 做法
-
ON-LSTM(Shen et al., 2019):获得句子中单词的重要得分(对RE)
- LSTM+两个门(master遗忘门和master输入门)
- 高阶神经元被保持的更久(?)
- 重要性得分:依据激活神经元个数而定
- ON-LSTM第一次用于RE
- 改进:
- 问题:原始ON-LSTM只看这个单词及其左边的隐层单元(此前的)
- 右边的信息也很重要(要有一个整体的理解
- 使用句子的整体表示+master gates–>重要性
- LSTM+两个门(master遗忘门和master输入门)
-
注入基于语法的重要性得分
-
确保一致性:语法得分==RE得分(KL散度实现)
- 动机:提高重要性得分作为传递语法信息的桥梁的能力,丰富RE的向量表示
-
引入一种新的inductive bias
- 使得有最短依赖路径上的实体对之间的表示和整个句子的表示的相似性提升
- 关系可从这两者推断
- 所以期望依赖路径与整个句子的表示相似—都捕获了语义关系
- 相似,可获得更有利于RE的表示
-
2. 相关工作
2.1核方法
(Zelenko et al., 2003; Zhou et al., 2005; Bunescu and Mooney, 2005; Sun et al., 2011; Chan and Roth, 2010; Nguyen and Grishman, 2014; Nguyen et al., 2015c)
- 问题
- 对extensive feature 或者 kernel engineering effort的需求
- 阻碍了其泛化性和适用性
2.2 深度学习方法
2.2.1 CNN
(Zeng et al., 2014; Nguyen and Grishman, 2015a; dos Santos et al., 2015; Wang et al., 2016)
2.2.2 RNN
(Nguyen and Grishman, 2016; Zhou et al., 2016; Zhang et al., 2017; Nguyen et al., 2019a)
2.2.3 transformer
(Verga et al., 2018)
2.2.4 依赖树
(Tai et al., 2015; Xu et al., 2015; Liu et al., 2015; Miwa and Bansal, 2016; Peng et al., 2017; Zhang et al., 2018; Guo et al., 2019; Tran et al., 2019; Song et al., 2019; Veyseh et al., 2019)
- 问题
- 泛化性差
- 不同领域
- 无词法重要性(依赖树的边获得)
- (Veyseh et al., 2019)
- 泛化性差
3.模型
- 形式化:多分类问题
- W=w1,w2,...,wN:wt为第t个词s,o为头实体、尾实体的mention的索引ws,wo为相应的提及W=w_1,w_2,...,w_N:w_t为第t个词\\ s,o为头实体、尾实体的mention的索引\\ w_s,w_o为相应的提及W=w1,w2,...,wN:wt为第t个词s,o为头实体、尾实体的mention的索引ws,wo为相应的提及
- 输入
- word embedding
- position embedding(实体1和实体2的)
- entity type embedding(BIO)
- 将W=w1,w2,...,wN−−>X=x1,x2,...,xNW=w_1,w_2,...,w_N-->X=x_1,x_2,...,x_NW=w1,w2,...,wN−−>X=x1,x2,...,xN表示为向量
- 三个组件
- CEON-LSTM:centext-enriched ON-LSTM)计算基于模型的单词重要性
- syntax-model consistency component:基于语法的和基于模型的重要性分数一致
- the similarity component:使整个句子和最短依赖路径的向量表示相似
3.1CEON-LSTM
- 目的:计算每个词在句中上下文下,预测关系时的重要性(基于模型的分数)
- 组件
- ON-LSTM:得到基于模型的分数
- CEON-LSTM:将整个句子的表示整合到ON-LSTM的cells中
3.1.1 LSTM
- LSTM
- 输入:X=x1,x2,...,xNX=x_1,x_2,...,x_NX=x1,x2,...,xN
- 递归函数—LSTM的公式
- ft=σ(Wfxt+Ufht−1+bf)it=σ(Wixt+Uiht−1+bi)ot=σ(Woxt+Uoht−1+bo)ct^=tanh(Wcxt+Ucht−1+bo)ct=ft∘ct−1+it∘ct^ht=ot∘tanh(ct)f_t=\sigma(W_fx_t+U_fh_{t-1}+b_f)\\ i_t=\sigma(W_ix_t+U_ih_{t-1}+b_i)\\ o_t=\sigma(W_ox_t+U_oh_{t-1}+b_o)\\ \hat{c_t}=tanh(W_cx_t+U_ch_{t-1}+b_o)\\ c_t=f_t\circ c_{t-1}+i_t\circ \hat{c_t}\\ h_t=o_t\circ tanh(c_t)ft=σ(Wfxt+Ufht−1+bf)it=σ(Wixt+Uiht−1+bi)ot=σ(Woxt+Uoht−1+bo)ct^=tanh(Wcxt+Ucht−1+bo)ct=ft∘ct−1+it∘ct^ht=ot∘tanh(ct)
- 这里应该就是LSTM而不是GRU
3.1.2ON-LSTM
- ON-LSTM
- 多引入了两个门
- 为了计算重要性
- the master forget gate
- the master input gate
- 多引入了两个门
3.1.2.1 公式
- 公式
- ft=σ(Wfxt+Ufht−1+bf)it=σ(Wixt+Uiht−1+bi)ot=σ(Woxt+Uoht−1+bo)ft^=cummax(Wf^xt+Uf^ht−1+bf^)it^=1−cummax(Wi^xt+Ui^ht−1+bi^)ftˉ=ft^∘(ftit^+1−it^)itˉ=it^∘(itft^+1−ft^)ct=ftˉ∘ct−1+itˉ∘ct^ht=ot∘tanh(ct)f_t=\sigma(W_fx_t+U_fh_{t-1}+b_f)\\ i_t=\sigma(W_ix_t+U_ih_{t-1}+b_i)\\ o_t=\sigma(W_ox_t+U_oh_{t-1}+b_o)\\ \hat{f_t}=cummax(W_{\hat{f}}x_t+U_{\hat{f}}h_{t-1}+b_{\hat{f}})\\ \hat{i_t}=1-cummax(W_{\hat{i}}x_t+U_{\hat{i}}h_{t-1}+b_{\hat{i}})\\ \bar{f_t}=\hat{f_t}\circ (f_t\hat{i_t}+1-\hat{i_t})\\ \bar{i_t}=\hat{i_t}\circ(i_t\hat{f_t}+1-\hat{f_t})\\ c_t=\bar{f_t}\circ c_{t-1}+\bar{i_t}\circ \hat{c_t}\\ h_t=o_t\circ tanh(c_t)ft=σ(Wfxt+Ufht−1+bf)it=σ(Wixt+Uiht−1+bi)ot=σ(Woxt+Uoht−1+bo)ft^=cummax(Wf^xt+Uf^ht−1+bf^)it^=1−cummax(Wi^xt+Ui^ht−1+bi^)ftˉ=ft^∘(ftit^+1−it^)itˉ=it^∘(itft^+1−ft^)ct=ftˉ∘ct−1+itˉ∘ct^ht=ot∘tanh(ct)
- cummax(x)=cumsum(softmax(x))cummax(x)=cumsum(softmax(x))cummax(x)=cumsum(softmax(x))
3.1.2.2the master gate的区别和原因
- the master forget/input gate(ON -LSTM) 和the forget/input gate(LSTM)不同
- the forget/input gate(LSTM)
- 假设隐层向量中的神经元/维度是同等重要的
- 在句子中的每一步都被激活(?)
- the neurons/dimensions in their hidden vectors are equally important and that these neurons are active at every step (word) in thesentence.
- ON-LSTM完全相反
- 隐层向量的神经元是分层级的
- 活动限制:限制句中部分单词的神经元的活动
- 高阶神经元对更多的词而言是激活的
- 高阶神经元被保持的更久(?)
- 以上两者的实现,依靠cumax(x)
- cusum:沿着维度聚合(相加)
- 输出:二进制向量的期望
- 二进制向量形式为(0,…,0,1,…,1)–门向量
- (这个向量,怎么0,1这么分明??)
- 0段:未激活
- 1段:激活
- 二进制向量形式为(0,…,0,1,…,1)–门向量
- the forget/input gate(LSTM)
3.1.2.3重要性分数
- 重要性分数
- 看the master gate:单词激活的神经元数量
- 估计:the master gate中神经元的权重之和之和
- 使用the master forget gate的隐层向量
- 隐层向量的ht^\hat{h_t}ht^权重:ft^=ft1^,ft2^,...,ftD^\hat{f_t}=\hat{f_{t1}},\hat{f_{t2}},...,\hat{f_{tD}}ft^=ft1^,ft2^,...,ftD^
- D:门向量的维度
- 重要性分数modt=1−Σi=1..Dfti^mod_t=1-\Sigma_{i=1..D}\hat{f_{ti}}modt=1−Σi=1..Dfti^
- 为了方便,用H表示ON-LSTM返回的向量
3.1.3 CEON-LSTM
- 将上下文信息注入到ON-LSTM中
- ON-LSTM的限制
- 仅看当前词xtx_txt和左侧词,不看右侧词–计算the master gate vectors和基于模型的重要性
- 右侧的一些词的出现可以降低当前词的重要性
- CEON-LSTM
- 获取包含整个句子上下文信息的单词的表示xt′=g(x1,x2,...,xN)x_t'=g(x_1,x_2,...,x_N)xt′=g(x1,x2,...,xN)
- 在计算the master gate和重要性分数时:xt′x_t'xt′替换xtx_txt—这样就包含了上下文信息
- ft=σ(Wfxt+Ufht−1+bf)it=σ(Wixt+Uiht−1+bi)ot=σ(Woxt+Uoht−1+bo)xt′=Σiαti(Wxxi+bx)αti=exp((Whht−1+bh)⋅(Wxxi+bx))Σj=1Nexp((Whht−1+bh)⋅(Wxxj+bx))attentionft^=cummax(Wf^xt′+Uf^ht−1+bf^)it^=1−cummax(Wi^xt′+Ui^ht−1+bi^)ftˉ=ft^∘(ftit^+1−it^)itˉ=it^∘(itft^+1−ft^)ct=ftˉ∘ct−1+itˉ∘ct^ht=ot∘tanh(ct)f_t=\sigma(W_fx_t+U_fh_{t-1}+b_f)\\ i_t=\sigma(W_ix_t+U_ih_{t-1}+b_i)\\ o_t=\sigma(W_ox_t+U_oh_{t-1}+b_o)\\ x_t'=\Sigma_i\alpha_{ti}(W_xx_i+b_x)\\ \alpha_{ti}=\frac{exp((W_hh_{t-1}+b_h)\cdot(W_xx_i+b_x))}{\Sigma_{j=1}^Nexp((W_hh_{t-1}+b_h)\cdot(W_xx_j+b_x))}attention\\ \hat{f_t}=cummax(W_{\hat{f}}x_t'+U_{\hat{f}}h_{t-1}+b_{\hat{f}})\\ \hat{i_t}=1-cummax(W_{\hat{i}}x_t'+U_{\hat{i}}h_{t-1}+b_{\hat{i}})\\ \bar{f_t}=\hat{f_t}\circ (f_t\hat{i_t}+1-\hat{i_t})\\ \bar{i_t}=\hat{i_t}\circ(i_t\hat{f_t}+1-\hat{f_t})\\ c_t=\bar{f_t}\circ c_{t-1}+\bar{i_t}\circ \hat{c_t}\\ h_t=o_t\circ tanh(c_t)ft=σ(Wfxt+Ufht−1+bf)it=σ(Wixt+Uiht−1+bi)ot=σ(Woxt+Uoht−1+bo)xt′=Σiαti(Wxxi+bx)αti=Σj=1Nexp((Whht−1+bh)⋅(Wxxj+bx))exp((Whht−1+bh)⋅(Wxxi+bx))attentionft^=cummax(Wf^xt′+Uf^ht−1+bf^)it^=1−cummax(Wi^xt′+Ui^ht−1+bi^)ftˉ=ft^∘(ftit^+1−it^)itˉ=it^∘(itft^+1−ft^)ct=ftˉ∘ct−1+itˉ∘ct^ht=ot∘tanh(ct)
- cummax(x)=cumsum(softmax(x))cummax(x)=cumsum(softmax(x))cummax(x)=cumsum(softmax(x))
- ht−1h_{t-1}ht−1-query
3.3 一致性
-
基于模型的重要性:modtmod_tmodt语义信息(RE)
-
语法信息的重要性:syntsyn_tsynt依赖树
-
都希望能有助于关系抽取
-
通过KL散度保证一致性
- 标准化:mod1ˉ,...,modNˉ=softmax(mod1,...,modN)syn1ˉ,...,synNˉ=softmax(syn1,...,synN)\bar{mod_1},...,\bar{mod_N}=softmax(mod_1,...,mod_N)\\ \bar{syn_1},...,\bar{syn_N}=softmax(syn_1,...,syn_N)mod1ˉ,...,modNˉ=softmax(mod1,...,modN)syn1ˉ,...,synNˉ=softmax(syn1,...,synN)
- KL散度:Limport=−ΣimodiˉlogmodiˉsyniˉL_{import}=-\Sigma_i\bar{mod_i}log\frac{\bar{mod_i}}{\bar{syn_i}}Limport=−Σimodiˉlogsyniˉmodiˉ
- 利用一致性监督基于模型的得分和基于语法的得分
- 使得语法信息 直接对CEON-LSTM的内部神经元结构干涉
- 融入语法信息,更好地进行RE
-
动机
- 两实体之间的最短依赖路径:抓住了重要的上下文信息(词)
-
具体:
- 首先检索:最短依赖路径DP和(任意对词对的)最长路径的长度T
- 计算语法重要性SyntSyn_tSynt:
- 区别(下面两者的difference)
- T
- wtw_twt和DP中的一些词的最短路径长度(?)
- 区别(下面两者的difference)
- 重要性得分
- 捕获了重要性
- 代表一种原始依赖树的宽松版本,便于泛化(在不同领域数据上)
- 直接使用依赖树,容易过拟合
3.3 Sentence-Dependency Path Similarity
- inductive bias–提升相似性
- 对象:
- 整个输入句子W的向量表示–RWR_WRW
- 沿着最短路径DP的单词们的向量表示–RDPR_{DP}RDP
- 方法:
- 引入约束
- 目的:
- 最大化相似性
- 获得向量表示–by max-pooling
- RW=max_poolinggwi∈W(hi)R_W=max\_pooling_{g_{w_i}\in W}(h_i)RW=max_poolinggwi∈W(hi)
- RDP=max_poolinggwi∈DP(hi)R_{DP}=max\_pooling_{g_{w_i}\in DP}(h_i)RDP=max_poolinggwi∈DP(hi)
- 符号
- h:CEON_LSTM的隐层输出向量
- 计算:cosine 相似度
- Lpath=1−cos(RW,RDP)L_{path}=1-cos(R_W,R_{DP})Lpath=1−cos(RW,RDP)
- –最小化这个损失函数
- 对象:
3.4 预测
- 同(Veyseh et al., 2019)
- V:整体向量表示
- 用于:预测ws,wow_s,w_ows,wo
- V=[xs,xo,hs,ho,RW]V=[x_s,x_o,h_s,h_o,R_W]V=[xs,xo,hs,ho,RW]
- 信息:有W不同抽象等级的信息
- raw:xs,xox_s,x_oxs,xo
- 抽象表示hs,hoh_s,h_ohs,ho–来自CEON-LSTM
- 整体句子向量RWR_WRW
- P(‘∣W,ws,wo)P(`|W,w_s,w_o)P(‘∣W,ws,wo):W中可能关系的概率分布
- P(y∣W,ws,wo)=softmax(ff(V))P(y|W,w_s,w_o)=softmax(ff(V))P(y∣W,ws,wo)=softmax(ff(V))
- ff:feed-forward neural network
- 损失函数
- Llabel=−log(P(y∣W,ws,wo))L_{label}=-log(P(y|W,w_s,w_o))Llabel=−log(P(y∣W,ws,wo))
- Lpath=1−cos(RW,RDP)L_{path}=1-cos(R_W,R_{DP})Lpath=1−cos(RW,RDP)
- Limport=−ΣimodiˉlogmodiˉsyniˉL_{import}=-\Sigma_i\bar{mod_i}log\frac{\bar{mod_i}}{\bar{syn_i}}Limport=−Σimodiˉlogsyniˉmodiˉ
- L=Llabel+αLimport+βLpathL=L_{label}+\alpha L_{import}+\beta L_{path}L=Llabel+αLimport+βLpath
- 训练
- 打散
- mini-batching
4 实验
4.1 数据集和超参数
- 数据集
- ACE2005
- SPOUCE
- SciERC
4.1.1ACE2005
- 使用过这个数据集的:
- (Nguyen and Grishman, 2016; Fu et al., 2017;
Shi et al., 2018; Veyseh et al., 2019),
- (Nguyen and Grishman, 2016; Fu et al., 2017;
- 数据预处理: Fu et al., 2017;
- ACE2005
- 多个领域:bc, bn, cts,nw, un, and wl
- 划分
- 训练集:bn,nw(news)–source domain
- dev:bc的一半
- test:cts,wl,bc的另外一半
- –研究跨领域关系抽取
4.1.1.1 超参数
- 在ACE2005上调出
- 输入维度
- word embedding:
- word2vec–300
- BERTbasemodelBERT_{base} modelBERTbasemodel 768
- pos embedding:30
- entity type emebdding:30
- word embedding:
- CEON-LSTM隐层单元数:200
- 各种隐层:200
- xt′x_t'xt′
- ff:2层
- α=1β=1\alpha=1\\ \beta=1α=1β=1
- lr=0.001–adam optimizer
- batch size=50
- 输入维度
4.1.2 SPOUSE
- SPOUSE数据集(Hancock et al., 2018)
- 22195个句子用于训练数据,2796个句子用于验证数据,2697个句子用于测试数据
- 实体:这个数据集中的每个句子包含两个标记的人名(即实体提到的人名)
- 目标:是识别句子中提到的两个人是否为配偶。
4.1.3 the SciERC dataset (Luan et al., 2018)
- the SciERC dataset (Luan et al., 2018)
- 实体:500个科技摘要
- 和这些实体之间的共指消解和关系抽取
- RE:
- train:3219句子
- dev:455
- test:974
4.2 比较对象
- 基于特征的方法:FCM、HybridFCM、LRFCM、SVM
- (Yu et al., 2015; Hendrickx et al., 2010)
- 深度学习(神经网络)
- 基于序列的方法:
- log-linear,
- CNN,
- Bi-GRU,
- Forward GRU,
- Backward GRU (Nguyen and Grishman, 2016),
- CNN+DANN (Fu et al., 2017).
- 基于序列的方法:
- 对抗学习:Adversarial learning model:GSN
- (Shi et al., 2018)
- 深度的基于结构的模型
- 依赖树
- 用图去构造神经网络结构
4.2.1 ACE2005+word2vec
- 多数模型使用word2vec
- 语法结构作用重大:基于结构的模型>基于序列的模型 and 基于特征的模型
- CEON-LSTM:在各个领域表现都好,对RE有效
- 使用p<0.01,
4.2.2 ACE2005+Bert
- 一起训练还是只用来初始化word embedding?
- EA-BERT是Entity-Aware BERT
- Bert有用:和表1比,均有提升
- CEON-LSTM:在各个领域表现都好,对RE有效
* 使用p<0.01,
### 4.2.3 SPOUSE SciERC
4.3 Ablation Study
4.3.1 the Model Components
- SCG:xt′x_t'xt′
- SMC:一致性
- SDPS:相似性
4.3.2变体
- Bi-ON-LSTM:不用xt′x_t'xt′,使用前向ON-LSTM和后向ON-LSTM计算的重要性的平均值
- SA-ON-LSTM:query从h变成了x–self attention
- CE-LSTM:ON-LSTM–>普通的LSTM
- EP-ON-LSTM:依赖树变为DRPC中的边依赖
- SP-CEON-LSTM:RWR_WRW的作用
4.3.3 基于模型的重要性分数
- 用the master gate获得重要性分数的有效性
- 改为直接使用h计算mod
- 改为直接使用h计算mod
5 结论
- 首先,我们通过对输入句子中的单词进行基于语法的重要度评分来表示依赖树。
- 其次,我们建议将整个句子表示向量纳入ON-LSTM的单元中,使其能够更有效地计算基于模型的重要度得分。我们还设计了一种新的机制,通过提高基于语法和基于模型的重要度得分的一致性,将语法信息投影到ON-LSTM的计算中。
- 最后,我们提出了一种新的深度学习模型的归纳偏差,它利用了整个输入句子的表示向量的相似性和两个实体之间最短的依赖路径。
参考文献
论文地址