2020.6.22|ACL 2020|吉林大学|原文链接|源码链接
A Novel Cascade Binary Tagging Framework for Relational Triple Extraction
- 解决多个关系三元组共享相同实体的重叠三元组问题
- 引入一个新的视角来看待关系三元组抽取任务,一个新的级联二进制标记框架(CASREL)
- 由改进为的关系特定标记器(主语宾语的函数),先识别可能的主语,然后对于每个主语,使用该关系的标记器来同时识别可能的关系和对应的宾语
CasRel框架
==直接对三元组进行建模,并在三元组的层次上设计一个训练目标==,而不是递进的去建模
- 训练集:
- 已注释的句子:
- 三元组: 【s:主语,r:关系,o:宾语】
- 由主语主导的三元组:
- 由主语引导的三元组中(r,o)对:
- 除了s引导的关系:
- “null”对象:
- 目标:得到最好的D的数据似然性(下方有引用解释)
(2)公式运用了概率链式规则。【,即a,b同时发生的概率=b事件发生的条件下a发生的概率,乘以b发生的概率】 (3)利用了一个规律:对于一个给定的
主体s,任何与S有关的关系所处的句子中,都有相应的宾语o,而其他的句子中没有,即“null”宾语。
这里,我认为作者在将整个式子就是将获得注释句子中正确的三元组的概率,打碎,成为了
获得句子中正确的主语s、在包含s的句子中,获得与关系相符的宾语的概率、在包含s的句子中,获得与关系不相符的宾语的概率的概率拼接,为作者提出的主语宾语的函数做提前准备。
效果:
- 数据似然性(data likelihood)从(3)开始计算,优化了三元组的评价标准(让其更准确)
- 不需要假设三元组在一个句子中共享实体的情况,解决了三元组的问题
- 在(3)中的分解过程中,主语标记器能够识别句子中的主语实体,对于每个关系r,宾语标记器能够识别给定主语情况下该关系的宾语。 由此,将一个关系建模为一个主语到宾语的函数,而不是对(主语,宾语)这种pair的关系进行分类。
主语标记器与宾语标记器以==深度双向变压器BERT上的二进制标记器(binary taggers on top of a deep bidirectional Transformer BERT)==
“似然性”(likelihood)和“概率”(probability)意思相近,都是指某种事件发生的可能性。在统计学中,似然性”和“概率”又有明确的区分,概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果,而似然性则是用于在已知某些观测所得到的结果时,对有关事物的性质的参数进行估计。
一般认为,在上述公式中,P(A),P(B)是先验概率,P(B|A)是似然概率,P(A|B) 是后验概率。
经常会有文章提到先验概率,后验概率及似然概率,他们的意思可以这么理解:
- 先验——根据若干年的统计(经验)或者气候(常识),某地方下雨的概率;
- 似然——下雨(果)的时候有乌云(因/证据/观察的数据)的概率,即已经有了果,对证据发生的可能性描述;
- 后验——根据天上有乌云(原因或者证据/观察数据),下雨(结果)的概率; 参考原文链接
==例句:Jackie R. Brown Was Born In Washington, The Capital City Of United States Of America.==
在low level中可以检测出3个主语,在high level中可以实现对主语[Jackie R. Brown]打上0/1标记,上图为k=1时的状态。对于
BERT Encoder(BERT编码器)
使用一个预先训练的BERT来编码上下文信息
- S:输入语句中子词的独热向量矩阵
- :词嵌入矩阵
- :位置嵌入矩阵
- :隐藏态向量,即句子在第层的上下文表示
- N:Transformer的块数
这里作者只是简要的描述了BERT的形式,具体BERT、Transformer的相关,可以参考这篇,Transformer、GPT、BERT,预训练语言模型的前世今生
Cascade Decoder(级联解码器)
主要思想:首先,从句子中检测主语。然后对于每个候选主语,找到所有可能的关系,判断这个关系是否能够将句子中的宾语与这个主语联系起来。【(2)(3)式】,由上图所示的两个模板构成,==Subject Tagger==,==Realation-Specific Object Taggers==
Subject Tagger
浅层的标记单元:直接解码由N层BERT编码器得到的编码向量,进而==得到句子中所有可能出现的主语==。【使用两个相同的二进制分类器,为每个令牌分配一个标记(0/1),来标记令牌是否是主语的开始或结束位置】
- /:输入序列中第i个令牌标识为主语的开始/结束位置的可能性,若超过预设的阈值则标记为1,否则标记为0。
- :输入序列的第i个令牌的编码表示,即
- :可训练的权重
- :偏差
- :sigmoid激活函数
同时,主语标记器优化了似然函数,进而更好的识别句子中主语的距离(8)
- :句子的长度
- 若为真则,否则为0【在(8)式中,用于判断在第i个位置是否是主语的开始/结束位置】
- :第i个标记的主语的开始位置
- :主语的结束位置
- :参数
根据起始和结束位置标记器的结果来确定任意目标的跨度。第一个开始令牌Jackie,最近的结束令牌Brown,得出第一个主题跨度的检测结果是Jackie R.Brown。由此可以保证任何实体跨度的完整性。(匹配结束令牌时,不会考虑开始令牌前面的令牌)
这个式子运用的是计算二项分布的方差,即的方差为, 的方差 知识补充:
- 常见的离散随机变量分布:
- 伯努利分布(两点分布,Bernoulli distribution)
- 二项分布(binomial distribution)描述N次独立的伯努利实验中有几次成功,即x=1的概率,==成功x次的概率==
- 几何分布(geometric distribution)每次成功的概率是相等的,==实验了x次成功1次的概率==
- 泊松分布(Poisson distribution)事件的发生是随机且独立的,代表应用:已知某家小杂货店,平均每周售出2个水果罐头。请问该店水果罐头的最佳库存量是多少?
- 常见的连续性随机
- 正态分布(normal distribution)
- 指数分布(exponential distribution)
期望:随机变量取值的平均,以概率为权的对随机变量进行加权求和。 样本均值是数学期望,求的是n个观测值的平均值,而==期望指的是观测值及其概率的乘积的累加==和==在样本足够多的情况下,可以理解为样本均值趋近于期望E==
方差:衡量随机变量和其数学期望之间的偏离程度的量,通俗来说,就是用来衡量随机变量的波动程度,==方差越大,那么这一组数据的波动幅度也就越大,稳定性就越小==。 若给定一个由n个样本的集合,则方差计算为
方差的标准化:为了==消除数据特征间单位和量级差异的影响==,往往需要对数据进行标准化,使每个特征的均值为 0、方差 1,这样特征间就是可比较的
- 协方差:如果结果为正值,则说明两者是正相关的,如果为负,则为负相关。从协方差可以引出“相关系数”的定义,衡量随机变量之相关程度更多的是用==相关系数==
参考文章链接:
Relation-specific Object Taggers(特定于关系的宾语标记器)
high level用于识别关系与相应的宾语,结构与low level的主语标记器相同。
- 和 :输入序列中第i个令牌的开始/结束位置的概率
- :在low level模块中检测到第k个主语的表示向量
对于每个主语,迭代的使用相同的解码器。对于(9)(10),为了两个向量保持维数一致,将第k个主语的开始和结束的标记的平均向量表为
宾语标记器也优化了似然函数,与主语标记器中的符号意义类似
在high level标记模块中,关系也由宾语标记器输出。
比如说:对于
Work_in,Jackie R.Brown和Washington之间没有关系,则不会标记该跨度,即开始和结束的位置都标为0。
对于Born_in,Jackie R.Brown和Washington之间有关系,则该宾语标记器输出候选对象Washigton的跨度。
==因此,high level模块能够同时识别与在low level中得到的主语有关的宾语和关系==
Data Log-likelihood Objective
- 目标是得到
- 参数
- :在(8)中定义出来,即主语的似然函数
- :在(11)中定义出来,即宾语的似然函数
- 使用Adam随机梯度下降的方式进行训练
实验结果
心得总结
本文的最大亮点是绕开过去的方法——将关系建模为实体对的离散标记。==而是将关系抽象为主语与宾语的函数==,进而解决了重叠问题。目前joint方法基本就是魔改各种tag框架和decoding方式。但是,目前还是在概率论知识上有所欠缺,不能理解为什么作者用这些公式,和这些式子的效果。因此还是需要进一步补数理基础与机器学习基础。