文章目录
- 1 介绍
- 2 span-relation representations
- 2.1未涉及句子级任务
- 3.span-relation model
- 3.1 span representation
- 3.2 span and relation label prediction
- 3.3 应用到不同任务
- 3.5 多任务学习MTL
- 4 GLAD Benchmark基准 and Results
- 4.1 实验
- 4.2 证明通用模型有效
- 4.3 MTL
- 4.3.2 任务之间的关系分析
- 4.3.3 相似和区别
- 4.3.4 MTL under different settings
- 4.4.4 模型复杂度
1 介绍
-
nlp任务
- span标记
- span之间的关系标记
-
希望用统一的框架处理nlp任务
-
假设:人类可以用相同的格式标注数据,机器也可以
- 人类标注:已经有统一的标准BRAT
-
贡献
- span标记和span之间的关系标记联合模型
- 已经有端到端的共指消解模型(Lee et al. (2017))–本文对它进行少量修改
- 预训练一个上下文的模型(Bert,Elmo)
- 验证单一模型的适用性和通用性
- 在10个任务上
- named entity recognition(NER),
- relation extraction (RE),
- coreference resolution (Coref.),
- open information extraction (OpenIE),
- part-of-speech tagging (POS),
- dependency parsing (Dep.),
- constituency parsing (Consti.),
- semantic role labeling (SRL),
- aspect based sentiment analysis (ABSA),
- and opinion role labeling (ORL)
- 功能:
- 一个模型可以处理多个任务
- MTL:很方便,可以帮助数据量少的相关模型(相互协助)
- 有的任务会互相帮助
- 也有的任务会相互阻碍:因为不同的任务表现出不同的注意模式(attention)
- 在10个任务上
- span标记和span之间的关系标记联合模型
-
预训练模型
- 使用相同的表示,通过预训练的embedding
-
本文
- 完全统一的模型,去处理所有任务
2 span-relation representations
- 解释BRAT如何标注大量任务
- span标注–span-oriented tasks
- relation标注 --relation-oriented tasks
2.1未涉及句子级任务
- 注意
- 未涉及句子级别的任务(情感分类。。)
- 可以将整个句子当作一个span
- 但因为之前的通用模型中已经有很好的表现了,就不做了
- 通用模型(Lan and Xu, 2018)、
- 多任务学习 (Devlin et al.,2019; Liu et al., 2019)
- 未涉及句子级别的任务(情感分类。。)
3.span-relation model
- base(Lee et al., 2017)–一个端到端的共指消解模型,span标注
- 扩展到其他任务
- 模型核心:用一个任意长度的向量表示span–用以预测label或span-pair的label
3.1 span representation
- 条件:可以任意长度
- 内容表示zicz_i^czic
- 边界表示ziuz_i^uziu
- 句子的tokenw1,w2,...,wnw_1,w_2,...,w_nw1,w2,...,wn
- span:si=[(bbi,bbi+1,...,bei]s_i=[(b_{b_i},b_{b_i+1},...,b_{e_i}]si=[(bbi,bbi+1,...,bei]
- c1,c2,...,cn=TokenRepr(w1,w2,...,wn)u1,u2,...,un=BiLSTM(c1,c2,...,cn)zic=SelfAttn(cbi,cbi+1,...,cei)ziu=[ubi;uei]zi=[zic;ziu]c_1,c_2,...,c_n=TokenRepr(w_1,w_2,...,w_n)\\ u_1,u_2,...,u_n=BiLSTM(c_1,c_2,...,c_n)\\ z_i^c=SelfAttn(c_{b_i},c_{b_i+1},...,c_{e_i})\\ z_i^u=[u_{b_i};u_{e_i}]\\ z_i=[z_i^c;z_i^u]c1,c2,...,cn=TokenRepr(w1,w2,...,wn)u1,u2,...,un=BiLSTM(c1,c2,...,cn)zic=SelfAttn(cbi,cbi+1,...,cei)ziu=[ubi;uei]zi=[zic;ziu]
- tokenRepr:Glove or Bert
3.2 span and relation label prediction
- invalid label
- NEG_SPAN
- NEG_REL
- Model
- 预测所有的span(长度<l):MLP(多层感知机)softmax(MLPspan(zi))∈Δ∣L∣softmax(MLP^{span}(z_i))\in\Delta^{|L|}softmax(MLPspan(zi))∈Δ∣L∣
- 剪枝:保留前K=n⋅τK=n\cdot \tauK=n⋅τ个span,剩下的为NEG_SPAN(阈值τ\tauτ低,则剪枝更多)
- 预测关系的感知机MLP:ojk=MLPrel([zj;zk;zj⋅zk])∈R∣R∣o_{jk}=MLP^{rel}([z_j;z_k;z_j\cdot z_k])\in \mathbb{R}^{|R|}ojk=MLPrel([zj;zk;zj⋅zk])∈R∣R∣
3.3 应用到不同任务
-
最大化真实关系的概率
-
具体到不同任务上需求不同
- 关心前后顺序:关系抽取
- 不关心顺序:
- eg:共指消解:
- 连接相同概念的span–cluster
- 多个也只要连上了就好
- eg:共指消解:
-
为此,提供两种loss–最大化
- pairwise loss:softmax(ojk)rjk,rjk是实际答案的indexessoftmax(o_{jk})_{r_{jk}},r_{jk}是实际答案的indexessoftmax(ojk)rjk,rjk是实际答案的indexes–其他所有任务
- 预测一对
- head loss:Σk∈head(sj)softmax([oj1,oj1,...,ojK)k\Sigma_{k\in head(s_j)} softmax([o_{j1},o_{j1},...,o_{jK})_kΣk∈head(sj)softmax([oj1,oj1,...,ojK)k–用于共指消解
- 预测一堆
- (?多元关系?怎么样)
- pairwise loss:softmax(ojk)rjk,rjk是实际答案的indexessoftmax(o_{jk})_{r_{jk}},r_{jk}是实际答案的indexessoftmax(ojk)rjk,rjk是实际答案的indexes–其他所有任务
-
这两个loss,仅在如何normalize时有区别,其他并无区别
-
test
- 共指消解:把span连接到得分最高的前件上e (Lee et al., 2017)
- consti:constituency parsing:贪婪的从上到下的解码,去产生有效的解析树
- dep:依赖解析:每个词链接到一个父节点(最高关系得分的)
- other:对每对实体预测关系,没关系的预测为NEG_REL
-
核心观点
- 我们的模型任务无关
- 只要能建模为span标注任务和span关系预测任务即可
- 我们的模型任务无关
3.5 多任务学习MTL
- SpanRel实现MTL
- 共享参数,除了MLPs的
- 问题:
- 不同的任务,关注点不同(在语言方面)
- 所以对于所有任务不是获得相同的增益的、
- 在相关任务上联合训练是增益的
- 而不相关的任务是hurt
- 如何选择任务?
- 任务数目多时,手动选择难
- 解决:
- SpanRel提供了一个系统的方式/基于attetion的方式–选择任务对(互相有增益的)–4.3
4 GLAD Benchmark基准 and Results
- 提出GLAD基准和evaluation metrics
- 证明SpanRel
- 有效
- 对MTL有益
4.1 实验
- metrics
- F1,P,R–for span and relation
- token representation:Glove,ELMo,Span-Bert,Bert
- BiLSTM 256 hidden\
- MLP:2 layers,128hidden
4.2 证明通用模型有效
- 在相同条件下与SOTA模型相比较
- token representation(Bert or Glove…)相同
- settings
- 通用模型有效
- 和sota差不多
- 和sota差不多
4.3 MTL
- MTL和STL(单任务学习),FT(finetune)
- 有Bert好于没有Bert
- 有Finetune好于无FT
- 下降的比较多:
- 大多数任务数据稀疏
- 不同的任务关注点不同,相互之间可能有助益也有阻碍
4.3.2 任务之间的关系分析
- 假设:语言模型预训练在理论上与MTL正交,实际上benefit是重叠的
- 分析
- (1)对于OpenIE和ORL来说,使用SRL进行多任务学习可以显著提高性能,而其他任务的提高则很少或根本没有。
- (2)依赖解析和SRL是对大多数目标任务有益的通用源任务。
- SpanREL可以很容易地进行MTL,并且看出谁是有益的源任务
4.3.3 相似和区别
- 证明SpanRel提供分析不同任务相似性和区别的平台
- 猜测,与attention有关
- attention反应内部焦点
- 公式:simk(t,t′)=−1∣Xt∣Σx∈Xt∣∣Akt(x)−Akt′(x)∣∣F′Akt(x)是第k个头的attentionmapsim_k(t,t')=-\frac{1}{|X_t|}\Sigma_{x\in X_t}||A_k^t(x)-A_k^{t'}(x)||_{F'}\\A_k^t(x)是第k个头的attention mapsimk(t,t′)=−∣Xt∣1Σx∈Xt∣∣Akt(x)−Akt′(x)∣∣F′Akt(x)是第k个头的attentionmap
- 下图证明这个公式确实反映了相似度
- 猜测,与attention有关
4.3.4 MTL under different settings
-
token representation 越强大,improvement越少
- MTL和预训练模型都倾向于学习通用表达,benefit重叠了
- 5中glove训练了所有模型,所以效果差了–超出能力范围
-
数据稀疏的时候模型有用
4.4.4 模型复杂度
- 主要在bert
- span O(l⋅n)O(l\cdot n)O(l⋅n)
- relation O(K2)=O(τ2⋅n2)O(K^2)=O(\tau^2\cdot n^2)O(K2)=O(τ2⋅n2)