文章目录
- 1.模型总结
- 1.1 基于序列的方法
- 1.2 dependency-based(基于依赖的)(有图)
- 1.2.2 句间关系抽取
- 1.5 自动学习特征的方法
- 1.4 联合抽取模型
- 1.6 RNN/CNN/GCN用于关系提取
- 1.7 远程监督
- 1.8句子级关系提取
- 1.9MCR(阅读理解)(QA)
- 1.10(槽填充)
- 1.11 中文关系抽取
- 1.12 事件的时间关系
- 1.13 不平衡标签
- 1.14一个句子内有多个实体
- 1.15 利用实体背景知识
- 1.16对图建模
- 1.17 句内多关系
- 2.应用
- 3.模型细说
- 3.1 AGGCNs,2019
- 3.2 GCNN(Sahu, S. K., et al. (2019))
- 3.3 GraphRel
- 3.4 PCNN/CNN+KATT[Zhang, N., et al. (2019)
- 3.5 a multi-turn QA
- 3.6 APCNN+D,2017
- 3.7 Chinese_NRE(MG_lattice)
- 3.8 DISTRE
- 3.9 n-gram based attention model (多词实体)
- 3.10 Duration:Vashishtha, S., et al. (2019)
- 3.11DSGAN(远程监督,句子级去噪)
- 3.12 DIAG-NRE(RL,远程监督,半自动化模式提取)
- 3.13 CNN+MTL+Tag(关系识别关系分类联合模型,多任务,不平衡数据)
- 3.14 基于图的walk方法,句子内多关系,考虑关系间作用,2018
- 3.15 BiLSTM-ED+CNN,2017
- 4.关系提取
- 4.1 句子级
- 4.2 文档级-句间关系提取
- 4.3 n-ary关系
- 4.4 层次关系
- 4.5 其他
- 4.6中文
- 4.7 时间关系(事件的)
- 5.各种model的效果
- 5.1 n-ary
- 5.1.1 [PubMed](https://github.com/freesunshine0316/nary-grn) (Peng et al., 2017)
- 5.2 句子级别
- 5.2.1 TACRED
- 5.2.2 SemEval
- 5.3 文档级别(句子间)
- 5.3.1CDR
- 5.3.2 CHR
- 5.3.3 DocRED
- 5.4层次关系
- 5.5其他
- 5.5.1 NYT
- 5.5.2 WebNLG
- 5.5.3 ACE(不平衡数据,一个句子多个实体)
- 5.5.3.1 ACE2005
- 5.5.3.1.2用于跨领域关系抽取
- 5.5.4 CoNLL-04
- 5.5.5 UW
- 5.6中文
- 5.7时间关系
- 6.nlp工具
1.模型总结
-
关系抽取模型
- 实体关系联合抽取
- pipeline
- 词性标注
- 实体抽取
- 关系抽取
- 常用方法
- 任务划分
- 关系识别(关系有无)
- 关系分类(已经知道有关系,哪个关系
- 或者使用关系Other,将无关系视作Other关系(多)
- 但Other太多,不平衡–困难
- 本文用多任务学习–减轻不平衡问题
- 任务划分
-
早期的研究工作是基于统计方法。
- 研究了基于树的内核(Zelenko et al., 2002)和
- GuoDong等人(2005年)探索了通过进行文本分析而选择的一组功能(词汇和句法),然后他们将这些功能转换为符号ID,并将其输入到SVM分类器
- 基于依赖路径的内核(Bunescu and Mooney, 2005),以提取这种关系。
- McDonald等人(2005)构建最大的实体团来预测关系。
- Mintz等人(2009)在统计分类器中包含语法特征。
- 早期:靠手工特征和nlp工具
- 基于特征的方法
- (Kambhatla, 2004; Boschee et al., 2005; GuoDong et al., 2005; Jiang and Zhai, 2007; Chan and Roth, 2010; Sun et al., 2011; Nguyen and Grishman, 2014)
- 基于核的方法.
- (Zelenko et al., 2003; Culotta and Sorensen, 2004; Bunescu and Mooney, 2005; Mooney and Bunescu, 2006; Zhang et al., 2006; Zhou et al., 2007; Giuliano et al., 2007; Qian et al., 2008; Nguyen et al., 2009; Sun and Han, 2014)
- 基于特征的方法
-
pipeline
- 灵活,但受错误传播影响大
- Zelenko et al., 2003;
- Miwa et al., 2009;
- Chan and Roth, 2011;
- Lin et al., 2016)
- 胶囊网络(Zhang等人,2018a),先前应用于监督环境(Zhang等人,2018b),也适用于远距离监督环境。
-
特征
- Kambhatla [23] employs Maximum Entropy model
- 结合从文本中衍生出的各种词汇,句法和语义特征
- Rink [2]设计了16种使用许多有监督的NLP工具包和资源提取的功能,包括POS,Word-Net,依赖解析等。
- 手工设计的特征不全面
- 依赖于nlp工具
- 手工特征设计需要大量工作
- Kambhatla [23] employs Maximum Entropy model
-
神经网络
- CNN
- RNN
- RecNN
- LSTM
-
其他
- 基于核的方法
- Nguyen et al. [28] :探索基于句法和语义结构的创新内核的使用
- Sun and Han [34]:提出了一种新的树内核,称为特征丰富的树内核(FTK),用于关系提取。
- 组合方法
- FCM [25]:学习了一个句子的子结构的表示。与现有的组合模型相比,FCM可以轻松处理任意类型的输入和组合的全局信息。
- 基于核的方法
1.1 基于序列的方法
-
基于序列的模型利用不同的神经网络来提取关系,包括
- 只对单词序列进行操作(Zeng et al.,2014; Wang et al., 2016)
- 卷积神经网络(Zeng et al., 2014;Nguyen和Grishman, 2015年;(Wang et al., 2016),
- 递归神经网络(Zhou et al., 2016;Zhang et al., 2017)
- 两者的结合(Vu et al., 2016)和
- transformer (Verga et al., 2018)。
- 只对单词序列进行操作(Zeng et al.,2014; Wang et al., 2016)
1.2 dependency-based(基于依赖的)(有图)
- 基于依赖的方法还试图将结构信息合并到神经模型中。
- 基本:依赖树+剪枝
- (Bunescu和Mooney 2005; Moneyy和Bunescu 2005; Zelenko,Aone和Richardella 2003)使用内核方法(例如子序列内核和依赖树内核)完成任务,
- MIL:Verga等(2018)引入了多实例学习(multi-instance learning, MIL) (Riedel等,2010;(Surdeanu et al., 2012)处理文档中多次提到的目标实体。—关系分类
- Peng et al.(2017)首先将依赖关系图分成两个dag,
- 然后将树LSTM模型(Tai et al., 2015)扩展到这两个图上进行n元关系提取。
- Song等人(2018b)使用图递归网络(Song等人,2018a)直接对整个依赖图编码,而不破坏它。
- AGGCN:和他们的模型的对比让人联想到CNN和RNN的对比。
- 剪枝策略。
- Xu等(2015b,c)采用神经模型编码最短依赖路径。
- Miwa和Bansal(2016)将LSTM模型应用于两个实体的LCA子树。Liu等(2015)将最短依赖路径与依赖子树相结合。
- Zhang等人(2018)采用了一种以路径为中心的修剪策略。
- AGGCNs,2019:与这些在预处理中去除边缘的策略不同,我们的模型以端到端的方式学会给每个边缘分配不同的权重
- 比较:与基于顺序的模型相比,基于依赖的模型能够捕获仅从表面形式难以理解的非局部句法关系(Zhang et al., 2018)。
- 软剪枝,GCN+attention+densely connection
- 端到端自动学习的剪枝—attention(自动筛去无关信息)
- 句子级(单句/句间),n-ary
- densely connection:
- 可以更深,
- 可以得到更好的表示
- 可得到局部/非局部依赖信息
- 基本:依赖树+剪枝
- 依赖树(Sunil Kumar Sahu,2019)
-
一个句子一个依赖树
-
无法捕捉非局部依赖
-
不适用于句子间关系抽取
*
-
1.2.2 句间关系抽取
- 句间关系抽取
- 依赖于局部和非局部依赖关系
- MIL:Verga等(2018)引入了多实例学习(multi-instance learning, MIL) (Riedel等,2010;(Surdeanu et al., 2012)处理文档中多次提到的目标实体。—关系分类
- 使用远程监控来自动生成文档级语料库(Peng et al., 2017;Song et al., 2018)。
- Peng et al.(2017)和Song et al.(2018)将基于图的LSTM网络用于n元RE在多个句子中用于蛋白质-药物-疾病关联。他们将关系候选词限制在最多两句话中。
- Verga等人(2018)考虑了文档级RE的多实例学习。
- GCNN(Sahu, S. K., et al. (2019)):
- 我们的工作与Verga等人(2018)不同,我们使用GCNN模型替换Transformer,使用非局部依赖(如实体指代消解)进行全抽象编码。
- 句间关系抽取
- 基于文档级图的标记边缘GCNN
- a novel inter-sentence relation extraction model that builds a labelled edge graph convolutional neural network model on a document-level graph
- 认为依赖树无法提取句子间关系
- 构造一个文档级图
- 节点-单词
- 边-局部或非局部依赖关系
- 由什么建立
- 局部依赖的连接词(来自语法解析和序列信息)
- 非局部依赖(来自指代消解+其他语义依赖
- why用这个图:
- 认为依赖树无法得到非局部依赖赖树无法得到非局部依赖
- 用GCNN进行编码
- 用MIL进行标签分类
- 如何推断关系
- 得分函数:MIL-based bi-affine pairwise scoring function (Verga et al., 2018)
- 用在实体节点表示上
- 得分函数:MIL-based bi-affine pairwise scoring function (Verga et al., 2018)
1.5 自动学习特征的方法
- 自动学习特征的神经网络方法(非联合模型)
- CNN、LSTM或Tree-LSTM对两个实体提及之间的单词序列进行处理(Zeng et al., 2014;dos Santos等,2015)
- Zeng等人(2014)利用卷积深度神经网络(CNN)提取词法和句子层次特征。
- dos Santos,Xiang和Zhou(2015)基于CNN模型,提出了一种基于CNN排名的分类模型(CR-CNN)。这些方法已经实现了高精度和召回率。
- 两个实体提及之间的最短依赖路径(Yan et al., 2015; Li et al., 2015)
- the minimal constituency sub-tree spanning two entity mentions(Socher et al., 2012),为每对实体提及编码相关信息
- Zhang, N., et al. (2019):与这些方法不同,我们利用来自KG和GCN的隐式和显式关系知识,而不是数据驱动的学习参数空间,其中类似关系可能具有不同的参数,阻碍了长尾类的泛化。
* pcnn/cnn+KG embedding+GCN+两层att[Zhang, N., et al. (2019)
* 用于:长尾不平衡数据
* long-tail:指的是类似正态分布的尾巴那一部分,也就是可用数据少
* 方法:远程监督
- CNN、LSTM或Tree-LSTM对两个实体提及之间的单词序列进行处理(Zeng et al., 2014;dos Santos等,2015)
1.4 联合抽取模型
-
pipeline
- 学习了一个句子的子结构的表示。与现有的组合模型相比,FCM可以轻松处理任意类型的输入和组合的全局信息。
-
联合模型
- 特征
- 基于特征的结构化系统[3,4,35-37],需要复杂的特征工程。 [35,36]提出了一个联合模型,该模型使用子任务的最佳结果并寻求全局最优解。
- Singh et al. [37]:单一图模型,它表示了子任务之间的各种依赖关系
- Li and Ji [3]:逐步预测,结构感知器,具有高效的beam搜索
- Miwa and Sasaki [4]:引入了一个表格来表示句子中的实体和关系结构,并提出了一种基于历史的波束搜索结构化学习模型。
- 神经网络:
- Miwa和Bansal [8]:LSTM+Tree-LSTM使用基于LSTM的模型来提取实体和关系,这可以减少手工工作。
- 特征
-
基于特征
- 依赖于特征
- 联合实体识别和关系提取模型(Yu和Lam, 2010;Li and Ji, 2014;Miwa和Sasaki, 2014;Ren等人,2017)已经建立了利用这两个任务之间的密切互动
- 基于约束的:
- 早期的联合学习方法通过各种依赖关系连接两个模型,包括
- 通过整数线性规划解决的约束(Yang和Cardie,2013; Roth和Yih,2007),
- 卡片金字塔解析(Kate和Mooney,2010),以及
- 全局概率图形模型(Yu和Lam,2010; Singh等,2013)。
- 在后来的研究中,Li和Ji(2014)使用结构感知器和有效的波束搜索提取实体提及和关系,这比基于约束的方法显着更有效,更省时。
- Miwa and Sasaki (2014); Gupta et al. (2016); Zhang et al. (2017) 提出了表格填充方法,该方法提供了将更复杂的特征和算法结合到模型中的机会,例如解码中的搜索顺序和全局特征。
-
自动提取特征的(神经网络的)
- (Wang et al. (2016a)使用多层次关注CNN提取关系。
- Miwa和Bansal(2016):
- 本文模型的BiLSTM-GCN编码器部分类似于Miwa和Bansal(2016)提出的BiLSTM-TreeLSTM模型,因为它们也是堆叠的序列上的依赖树,用于联合建模实体和关系。每个句子使用Bi-LSTM进行自动特征学习,提取的隐藏特征由连续实体标记器和最短依赖路径关系分类器共享。然而,在为联合实体识别和关系提取引入共享参数时,它们仍然必须将标记者预测的实体提及通过管道连接起来,形成关系分类器的提及对。
- Zheng,et al(2017)
- 与在以前的工作中试图把每一对提到分类的工作不同,Zheng,et al。(2017)将关系提取和实体识别问题一样作为一个序列标注问题(NovelTagging)。这使他们关系提取的LSTM解码器的Bi-LSTM编码器。然而,尽管在《纽约时报》的数据集上显示出可喜的成果,他们的力量来自于专注于孤立的关系,完全放弃在数据集中出现少的重叠关系。
- 相比之下,提出所有类型的关系而被GraphRel以端到端的方式联合建模识别。
- NovelTagging (Zheng et al., 2017)
- 一个序列标记器,它预测每个句子词的实体和关系类
- 因为NovelTagging假设一个实体属于单一关系,所以精确度高,但回忆率低。
- Zeng等(2018)提出了一种端到端序列到序列的关系提取模型。
- 编码:它们使用一个Bi-LSTM对每个句子进行编码,
- 解码:并使用最后一个编码器隐藏状态初始化一个(一个解码器)或多个(多解码器)LSTMs,
- 以便动态解码关系三元组。
- 解码时,通过选择一个关系并从句子中复制两个单词来生成三元组。
- seq2seq设置部分处理三元组之间的交互。
- 然而,关系之间的相互作用只能通过在生成新关系时考虑以前生成的带有强制线性顺序的三元组来单向捕获。
- 在Graph-rel中,我们在LSTM-GCN编码器的基础上,采用2dn-phase的GCN来实现自动学习链接的字图上的实体和关系信息的传播。
- MultiDecoder (Zeng et al., 2018). (2019以前最先进的方法?)
- 将关系提取看作一个seq-seq问题,使用动态解码器提取关系三元组
- MultiDecoder使用动态的解码器生成关系三元组。由于对RNNrolling的固有限制,它能生成的三元组数目有限。
- 序列模型
- Sun等人。 (2018)优化全局损失函数,在最小风险培训框架下共同培养这两个模型。
- Takanobu等。 (2018)使用分层强化学习以分层方式提取实体和关系。
- GraphRel:2019
- 实体关系联合抽取
- 考虑关系之间的相互作用
- 解决重叠关系的提取
- 分两个阶段
- 第一阶段:序列文本特征和区域特征(Bi-lstm+Bi-GCN)
- 第二阶段:用第一阶段的结果构建了加权关系图,在用bi-GCN解决关系之间的问题
-
联合实体和关系提取模型的另一种方法是使用强化学习或最小风险训练,其中训练信号是基于两个模型的联合决策给出的。
-
用QA解决关系实体联合抽取:multi-turn QA,2019ACL
- MRC(Bert)+RL
-
LSTM-ED+CNN
- 优点:
- 联合模型:无错误传递
- 混合神经网络:不用nlp工具(依赖树)
- LSTM-decoder:可以获取标签之间的长关系依赖
- 结构
- 共享编码层:BiLSTM,获取实体的上下文信息
- 实体抽取:LSTM解码器
- decoder:也用Lstm,可以获得标签之间的长关系
- 关系分类:CNN
- 优点:
1.6 RNN/CNN/GCN用于关系提取
-
CNN:
-
引入:Liu等。 (2013)是第一个采用深度学习进行关系提取的方法。他们建议使用CNN来自动学习功能,而无需使用手工功能。
- position embedding :Zeng等。 (2014年)还使用CNN对句子进行编码,并使用附加的词法功能对词进行嵌入。他们最大的贡献是引入了位置嵌入。
- PCNN:Zeng等。 (2015年)提出了一种名为分段卷积神经网络(PCNN)的模型,其中,每个卷积滤波器被头和尾实体分为三段(pi1,pi2,pi3),并且最大池操作被分别应用于这三段。
- the pairwise rank loss:dos Santos et al. (2015年)也使用了CNN,但提出了新的成对排名损失函数以减少负面实例的影响。
- MIL+ATTCNN:Lin等。 (2016年)在多个实例上使用CNN和句子级注意机制来减少标签中的噪音。
-
RNN
- LSTM+Tree:Miwa和Bansal(2016)使用LSTM和树结构进行关系提取任务。他们的模型由三部分组成:用于对输入句子进行编码的嵌入层,用于识别单词是否为实体的序列层以及用于关系提取的依存层。
- ATTBiLSTM:Zhou等。 (2016)使用BiLSTM和注意力机制来改善模型的性能。
- HBGD:She等。 (2018)提出了一种新颖的基于层次注意的双向门控递归神经网络(HBGD),该网络与实体描述集成在一起,以缓解标签错误的问题并使模型能够捕获最重要的语义信息
-
RNN:能够编码长单词序列的语言和句法属性
- (Cai等,2016; Miwa和Bansal,2016; Xu等,2016; Liu等,2015)
- 分开对待每个实体对
- (dos Santos等,2015; Nguyen和Grishman,2015)
- 未考虑单个句子中多个关系之间的依赖关系
-
近年来,在自然语言处理(NLP)任务中,GCN考虑依赖结构已经得到了广泛的应用。
- (Peng et al., 2017;Zhang等,2018;Qian等。2019; Luan et al., 2019) 考虑词序列的依存结构进行关系提取。
- AGGCNs,2019:
- GCNN(Sahu, S. K., et al. (2019)):
- GraphRel:Fu, T.-J., et al. (2019)
- 实体关系联合抽取
- 考虑关系之间的相互作用
- 解决重叠关系的提取
- 在GrpahRel中,不仅将Bi-LSTM和GCN堆叠起来考虑线性和依赖结构,还采用了2nd-phase关系加权的GCN来进一步建模实体和关系之间的交互
- 分两个阶段
- 第一阶段:序列文本特征和区域特征(Bi-lstm+Bi-GCN)
- 第二阶段:用第一阶段的结果构建了加权关系图,在用bi-GCN解决关系之间的问题
- Zhang, N., et al. (2019):与这些方法不同,我们利用来自KG和GCN的隐式和显式关系知识,而不是数据驱动的学习参数空间,其中类似关系可能具有不同的参数,阻碍了长尾类的泛化。
* pcnn/cnn+KG embedding+GCN+两层att[Zhang, N., et al. (2019)
* 用于:长尾不平衡数据
* long-tail:指的是类似正态分布的尾巴那一部分,也就是可用数据少
* 方法:远程监督
一些nlp+GCN的论文,2019
1.7 远程监督
- 远程监督模型
- (Mintz等,2009)(也是多实例学习)提出了DS来自动标记数据。DS不可避免地伴随着错误的标签问题。
- 从所有句子中提取特征,然后将它们输入到分类器中,该分类器忽略了数据噪声并会学习一些无效实例。
- 为了缓解噪声问题,(Riedel等人,2010; Hoffmann等人,2011)提出了多实例学习(MIL)机制。
- Riedel,Yao和McCallum(2010),Hoffmann等人(2011)和Surdeanu等人(2012)使用图形模型选择有效的句子和预测关系。
- Nguyen和Moschitti(2011)利用关系定义和Wikipedia文档来改善他们的系统。
- Surdeanu等,2012;
- 这些方法依靠传统的NLP工具提取句子特征。
- 人标注的数据与DS的数据混合
* Zhang et al. (2012); Pershina et al. (2014); Angeli et al. (2014); Liu et al. (2016)
* 需要足够大的人工标注数据,才有用,因为DS数据要大得多 - 基于模式的标注
- 特定于关系的模式
- Ratner et al. (2016); Liu et al. (2017a)
- 关键思想:
- 弱监督源(DS+基于模式的启发式方法)
- 弱标签融合(WLF)模型
- –>生成去噪标签
- 缺点:
- 一个关系一个模式,来新的了需要重新编写
- 编写:高技能且劳动密集–需要专家(很复杂)
-
- 神经模式诊断框架DIAG-NRE
- RL的半自动化模式提取+WLF–去噪
- 神经模式诊断框架DIAG-NRE
- 最近,神经模型已被广泛用于RE;
- 这些模型可以准确地捕获文本关系,而无需进行明确的语言分析(Zeng等,2015; Lin等,2016; Zhang等,2018a)。
- 对抗训练(Wu等,2017; Qin等,2018),
- 噪声模型(Luo等,2017)和
- 软标签(Liu等,2017; Wang等)等(2018)。
- 为了进一步提高性能,一些研究将外部信息(Zeng等人,2017年;Ji等人,2017年; Han等,2018)和先进的培训策略(Ye等,2017年;刘等人。 2017; Huang和Wang,2017; Feng等,2018; Zeng等,2018; Wu等,2017; Qin等,2018)结合起来。
- 词性标签(Zeng等,2014)
- Zeng等人(2015年)使用PCNN来自动学习句子级特征并考虑了实体位置的结构信息。但是其MIL模块在训练过程中只能选择一个有效的句子,而没有充分利用监督信息。
- Lin et al。,(2016)提出利用注意力来选择内容丰富的句子。
- 选择性注意(Lin等,2016; Han等,2018),
- 依存关系解析信息(Surdeanu等,2012; Zhang等,2018b)。
- 这些工作主要采用DS制作大规模数据集,降低DS引起的噪声,不论长尾关系的影响如何。
- Ji et al. (2017):attention中包含了实体信息
- 考虑long-tail的:
- (Gui等,2016; Lei等,2018; Han等,2018b)。
- Gui et al。,2016)提出了一种基于解释的方法,
- (Lei et al。,2018)则使用了外部知识(逻辑规则)。
- 这些研究孤立地处理每个关系,而不管关系之间的丰富语义相关性。
- (Han et al。,2018b)提出了RE的分层关注方案,特别是对于长尾关系。
- Zhang, N., et al. (2019):与这些方法不同,我们利用来自KG和GCN的隐式和显式关系知识,而不是数据驱动的学习参数空间,其中类似关系可能具有不同的参数,阻碍了长尾类的泛化。
- pcnn/cnn+KG embedding+GCN+两层att[Zhang, N., et al. (2019)
- 用于:长尾不平衡数据
- long-tail:指的是类似正态分布的尾巴那一部分,也就是可用数据少
- 方法:远程监督
- 本文:DISTRE
- 假设:这些知识是识别更多关系的重要特征
- 我们假设,经过预训练的语言模型可为远程监督提供更强的信号,并基于无监督的预训练中获得的知识更好地指导关系提取。用隐式特征替换显式语言和辅助信息可改善域和语言的独立性,并可能增加公认关系的多样性。
- 做法:将GPT扩展到远程监督
- 假设:这些知识是识别更多关系的重要特征
- (Gui等,2016; Lei等,2018; Han等,2018b)。
- 考虑实体本身的信息
- APCNN+D,2017
- attention:用以选择有效实体
- 提取实体描述,补充背景知识(Freebase,Wikipedia)(CNN学习
- 用途:为预测关系提供了更多的信息,而且还为注意力模块带来了更好的实体表示
- APCNN+D,2017
- 最近的方法还利用辅助信息,例如
- 释义,关系别名和实体类型(Vashishth et al。,2018)
- 胶囊网络(Zhang等人,2018a),先前应用于监督环境(Zhang等人,2018b),也适用于远距离监督环境。
- n-gram based attention model that captures multi-word entity names in a sentence.
- 提取+嵌入+消歧联合模型 ,多词
- 改进的beam search
- 三元组 classifier
- 在关系抽取之前,分辨出真假样本:
* Takamatsu et al. (2012) :噪声滤波器
* 使用NER和依赖树的语言特征
* 难以避免错误传递
* DSGAN:仅使用word embedding
* DSGAN
* 目标:区分句子是不是好样本
* 只对标注为T的样本做区分,将FP重新归于负类
* 假设:标注为真的样本,多数为TP
* 生成器:区分句子是TP还是FP,无需监督
* 策略梯度:因为涉及离散采样
* 输入:word-embedding
* 判别器:
* 将生成器生成的样本标注为F
* 原来的样本,标注为T
* 训练判别器
* 如果生成集合中,TP多,而剩余集合中FP多,则鉴别器分类能力下降的很快
* 贡献
* 我们是第一个考虑对抗性学习去噪远程监督关系提取数据集的人。
* 我们的方法是句子级和模式诊断,因此它可以用作任何关系提取器(即插即用技术)。
* 我们证明我们的方法可以在没有任何监督信息下生成一个干净的数据集,从而提高最近提出的神经关系提取器的性能。
- (Mintz等,2009)(也是多实例学习)提出了DS来自动标记数据。DS不可避免地伴随着错误的标签问题。
1.8句子级关系提取
- 句子级关系提取
- (Socher et al., 2012;
- Zeng et al., 2014, 2015; .
- dos Santos et al., 2015;
- Xiao and Liu, 2016;
- Cai et al., 2016;
- Lin et al., 2016;
- Wu et al., 2017;
- Qin et al., 2018;
- Han et al., 2018a).
1.9MCR(阅读理解)(QA)
-
可将QA用于实体关系知识提取
-
Answers are text spans, extracted using the now standard machine reading comprehension (MRC) framework: predicting answer spans given context (Seo et al., 2016; Wang and Jiang, 2016; Xiong et al., 2017; Wang et al., 2016b).
-
主流MRC模型(Seo等,2016; Wang和Jiang,2016; Xiong等,2017; Wang等,2016b)在给定查询的段落中提取文本跨度。文本跨度提取可以简化为两个多类分类任务,即预测答案的开始和结束位置。
- 通过将两个softmax层应用于上下文令牌来预测起始和结束指数
- 基于softmax的跨度提取策略仅适用于单答案提取任务
-
BiDAF(Seo等人,2016)
-
类似的策略可以扩展到多段落MRC(Joshi等,2017; Dunn等,2017),其中答案需要从多个段落中选择。
-
多通道MRC任务可以通过连接段落轻松简化为单通道MRC任务(Shen et al。,2017; Wang et al。,2017b)。
- Wang等人。 (2017a)首先对通道进行排名,然后在选定的段落上运行单通道MRC。
- Tan等人。 (2017)与阅读理解模型一起训练通道排名模型。
- 像BERT(Devlin等,2018)或Elmo(Peters等,2018)这样的预训练方法已被证明对MRC任务非常有帮助。
- QANet(Yu等人,2018)
-
用QA解决关系实体联合抽取:multi-turn QA
1.10(槽填充)
- the multi-turn slot filling dialogue system (Williams and Young, 2005; Lemon et al., 2006);
1.11 中文关系抽取
- Chinese NRE(MG lattice多粒度点阵)
- 中文关系抽取
- 神经网络
- 多粒度
- 基于字符+基于词
- 解决的问题:
- 分段错误(分词?)
- 多粒度:将词级信息融入到字符序列输入中
- 多义性
- 借助外部语言库
- open-sourced HowNet API (Qi et al., 2019)
- 分段错误(分词?)
1.12 事件的时间关系
- 事件之间的TempRel可以用边缘标记的图表示,
- 其中节点是事件,
- 边缘用TempRels标记
- (Chambers和Jurafsky,2008; Do等,2012; Ning等,2017)。
- 给定所有节点,我们将进行TempRel提取任务,该任务是将标签分配给时间图中的边缘(通常包括 “vague” or “none” 标签以说明不存在边缘)。
- 分类模型:早期工作包括
- Mani等。 (2006);钱伯斯等。 (2007); Bethard等。 (2007); Verhagen和Pustejovsky(2008),
- 将问题表述为学习用于在不参考其他边的情况下确定局部每个边的标签的分类模型(即局部方法)。
- 缺点:通过这些方法预测的时间图可能会违反时间图应具有的传递特性。
- 例如,给定三个节点e1,e2和e3,本地方法可以将(e1,e2)= before,(e2,e3)= before和(e1,e3)= after分类,这显然是错误的,因为before是传递关系,并且(e1,e2)= before和(e2,e3)= before指示(e1,e3)= before。
- 贪婪方法:
- 最近的最新方法(Chambers等人,2014; Mirza和Tonelli,2016)通过
- 方法:以多步方式增长预测的时间图来规避此问题,
- 其中每次标记新边时,都会对图执行传递图闭合
- 从概念上讲,这是在贪婪地解决结构化预测问题。
- 整数线性规划:
- 另一类使用**整数线性规划(ILP)**的方法
- 全局方法:(Roth和Yih,2004)来获得对该问题的精确推断(即全局方法),
- 其中整个图被同时求解,
- 并且传递特性通过ILP约束自然地得到了强制执行
- (Bramsen等人,2006; Chambers and Jurafsky,2008; Denis and Muller,2011; Do等人,2012)。
- 通过将结构性约束也纳入学习阶段,最新的工作将这一想法进一步推向了新的境界(Ning等人,2017)。
- 如我们前面的示例所示,TempRel提取任务强烈依赖于先验知识。但是,对于产生和利用这种资源的关注非常有限。据我们所知,这项工作中提出的TEMPROB是全新的。
- Jiang et al. (2016) 提出的时间敏感关系(文学领域)是接近的(尽管还是很不一样)。
- Jiang et al. (2016) 从事知识图完成任务。
- 基于YAGO2(Hoffart等,2013)和Freebase(Bollacker等,2008),它手动选择了少数对时间敏感的关系(分别来自YAGO2的10个关系和Freebase的87个关系)。
- wasBornIn→diedIn
- graduateFrom→workAt
- 本文与Jiang的差别
- 一,规模差异:
- 蒋等。 (2016年)只能提取少量关系(<100),但我们研究的是通用语义框架(数以万计)以及其中任何两个之间的关系,我们认为它们具有更广泛的应用。
- 第二,粒度差异:
- Jiang等人中最小的粒度。 (2016)是一年,即只有当两个事件在不同年份发生时,他们才能知道它们的时间顺序,但是我们可以处理隐式时间顺序,而不必参考事件的物理时间点(即粒度可以任意小)。
- 第三,领域的差异:
- 江等。 (2016年)从结构化知识库(事件明确地锚定到某个时间点)中提取时间敏感关系,
- 我们从非结构化自然语言文本(其中物理时间点甚至不存在于文本中)中提取关系。
- 我们的任务更加笼统,它使我们能够提取出更多的关系,正如上面的第一个差异所反映的那样。
- 一,规模差异:
- VerbOcean(Chklovski和Pantel,2004),
- 它使用人工设计的词汇-句法模式(总共有12种这样的模式)来提取动词对之间的时间关系,这与本文提出的自动提取方法相反。
- 在VerbOceans中考虑的唯一词间关系是之前的,
- 而我们还考虑了诸如之后,包含,包含,相等和模糊的关系。
- 数量少:正如预期的那样,VerbOcean中的动词总数和之前的关系分别约为3K和4K,两者都比TEMPROB小得多,TEMPROB包含51K个动词框架(即,已消除歧义的动词),920万个条目以及最多总共80M个时间关系。
- Jiang et al. (2016) 提出的时间敏感关系(文学领域)是接近的(尽管还是很不一样)。
- 模型早期的时间关系提取系统使用手动标记的特征,这些特征已通过多项逻辑回归和支持向量机建模(Mani等,2006; Bethard,2013; Lin等,2015)。
- 其他方法则结合使用基于规则和基于学习的方法(D’Souza和Ng,2013年)
- 基于筛子的架构,例如CAEVO(Chambers等人,2014)和CATENA(Mirza and Tonelli,2016)。
- 最近,宁等人。 (2017年)
- 使用结构化学习方法,
- 并在TempEval-3(UzZaman等人,2013)和TimeBank-Dense(Cassidy等人,2014)上均表现出显着改进。
- 宁等。 (2018)
- 通过使用约束条件模型联合建模因果关系和时间关系并将问题表述为Interger线性规划问题,
- 显示了对TimeBank-Dense的进一步改进。
- 神经网络
- 基于神经网络的方法
- 既使用了递归RNN(Tourille等,2017; Cheng和Miyao,2017; Leeuwenberg和Moens,2018)
- 又使用了CNN(Dligach等,2017)。
- 此类模型还被用于根据一组预测的时间关系来构建文档时间线(Leeuwenberg和Moens,2018)。
- 这种成对注释的使用可能导致时间图不一致
- 已经通过采用时间推理来努力避免这一问题
- (Chambers和Jurafsky,2008;
- Yoshikawa等,2009;
- Denis和Muller,2011;
- Do等, 2012年;
- Laokulrat等人,2016年;
- Ning等人,2017年;
- Leeuwenberg和Moens,2017年)。
- 已经通过采用时间推理来努力避免这一问题
- 这种成对注释的使用可能导致时间图不一致
- 基于神经网络的方法
- 对事件持续时间进行建模
- (Pan等人,2007;
- Gusev等人,2011;
- Williams和Katz,2012),
- 尽管这项工作并未将持续时间与时间关系联系在一起(另见Filatova和Hovy,2001)。 )。
- Duration,Vashishtha, S., et al. (2019)
- 用于:时间关系表示
- 特点:将事件持续时间放在首位或居中
- 参考:Allen(1983)关于时间间隔表示
- 改变:为绝对的时间关系标注文本—>
- 将事件映射到其可能的持续时间上,
- 并将事件对直接映射到实际值的相对时间线
- 由持续时间来预测关系ok
- 由关系来预测持续时间降低了性能
1.13 不平衡标签
- 不平衡数据的研究
* 多尺寸卷积核:Nguyen and Grishman (2015)
* a pairwise ranking loss:只计算去除Other的阳性实例的得分,提出成对排名损失:dos Santos et al. (2015)
* pcnn/cnn+KG embedding+GCN+两层att[Zhang, N., et al. (2019)
* 用于:长尾不平衡数据
* long-tail:指的是类似正态分布的尾巴那一部分,也就是可用数据少
* CNN+MTL+Tagg:Ye, W., et al. (2019)
* 训练一个关系识别与关系分类的联合模型(多任务)
* 关系识别:交叉熵
* 关系分类:rank loss
* 使用BIO-embedding来丰富输入表示
* 实体出现在句子中的模式,可以提供有用的语义信息
1.14一个句子内有多个实体
- 一个句子多个实体
- walk-based model:Christopoulou等人。 (2018)同时考虑了一个句子中的多个实体对,并提出了一种新颖的基于步行的模型来捕获实体对之间的交互模式。
- 全局统计数据,构造关系图,学习关系嵌入:Su等。 (2018)指出实体对之间关系的全局统计数据也很有用,并提出构造关系图并学习关系嵌入以提高关系提取的性能。
- CNN+MTL+Tagg:Ye, W., et al. (2019)
- 训练一个关系识别与关系分类的联合模型(多任务)
- 关系识别:交叉熵
- 关系分类:rank loss
- 使用BIO-embedding来丰富输入表示
- 实体出现在句子中的模式,可以提供有用的语义信息
- 训练一个关系识别与关系分类的联合模型(多任务)
1.15 利用实体背景知识
- 实体背景知识还包含用于关系提取的重要信息。
- KB中提取:Ji等人。 (2017)和She等。 (2018)从Freebase和Wikipedia中提取了实体描述,并使用编码器从这些描述中提取了特征。
- 依赖树:He等。 (2018)使用依赖树表示实体的上下文,并使用基于树的GRU将树转换为实体上下文嵌入。
1.16对图建模
- 基于图的模型:(从已有关系推新的关系)
- 远程监督的KB(Zeng等,2017)
- 用图定义了语义类型
- 图:在句子中构建了基于实体的图形,多元关系
- 其他:句子内多个关系
- Gupta等,2016; Miwa和Sasaki,2014; Li和Ji,2014)
- 无长距离的walk
- 远程监督的KB(Zeng等,2017)
1.17 句内多关系
- 关系抽取
- 大多:单独处理目标实体
- 问题:没有考虑其他实体、关系的影响
- 考虑了其他实体影响的:
- BIO embedding
- 句子内一个关系多个实体的情况
- Christopoulou, F., et al. (2018)
- 模型:基于图的walk-based神经网络
- 用于:句子内存在多个实体对的情况
- 特点:
- 可以同时处理句内多个对的情况
- 考虑他们之间的相互作用
2.应用
- 关系抽取用于
- biomedical knowledge discovery (Quirk and Poon, 2017),
- knowledge base population (Zhang et al., 2017)
- question answering (Yu et al., 2017).
3.模型细说
3.1 AGGCNs,2019
- AGGCNs(注意引导图卷积网络),2019
- 输入:全依赖树( full dependency trees
- 特点
- 端到端
- ≈\approx≈软剪枝方法
- 基于规则的硬剪枝会消除树中的部分重要的信息。
- 给所有边分配权重,权重以端到端的形式学习得到–>自动学习剪枝
- 自动学习如何有选择地关注对re有用的相关子结构。
- 效果好
- 可并行地用于依赖树
- 对大图(长句子)友好
- 更有效地利用训练数据
- tips
- GCN+dense connection
- 目的:对一个大的全连通图进行编码
- 可得到局部和非局部依赖信息
- 2层GCN效果最好(经验)
- 可以学到更好的图形表示
- GCN+dense connection
- 可用于
- n元关系提取
- 大规模句子级别语料
- 效果更好
- 结构
- M块
- 每块三层
-
Attention Guided Layer–>N个attention-head
- A~(t)=softmax(QWiQ×(KWiK)Td)V\tilde{A}^{(t)}=softmax(\frac{QW_i^Q\times (KW_i^K)^T}{\sqrt{d}})VA~(t)=softmax(dQWiQ×(KWiK)T)V
- 优点:
- 给所有边分配权重,权重以端到端的形式学习得到
- 实现自动学习剪枝
-
Densely connection Layer–>L个子层
- 带densely connection的GCN
- 优点:
- 在密集连接的帮助下,我们能够训练更深的模型,
- 允许捕获丰富的局部和非局部信息,从而学习更好的图表示。
- 优点:
- gj(l)=[xj;hj(1);...;hj(l−1)]g_j^{(l)}=[x_j;h_j^{(1)};...;h_j^{(l-1)}]gj(l)=[xj;hj(1);...;hj(l−1)]
- hti(l)=ρ(Σj=1nA~ij(t)Wt(l)gj(l−1)+bt(l))h_{ti}^{(l)}=\rho(\Sigma_{j=1}^n\tilde{A}^{(t)}_{ij}W^{(l)}_tg_j^{(l-1)}+b_t^{(l)})hti(l)=ρ(Σj=1nA~ij(t)Wt(l)gj(l−1)+bt(l))
- 带densely connection的GCN
-
线性层
- hcomb=Wcombhout+bcombh_{comb}=W_{comb}h_{out}+b_{comb}hcomb=Wcombhout+bcomb
-
- 每块三层
- FFNN汇总
- hsent=f(hmask)=f(AGGCN(x))h_{sent}=f(h_{mask})=f(AGGCN(x))hsent=f(hmask)=f(AGGCN(x))
- hei=f(hei′),hei′:第i个实体的隐层表示h_{e_i}=f(h_{e_i}'),h_{e_i}':第i个实体的隐层表示hei=f(hei′),hei′:第i个实体的隐层表示
- hfinal=FFNN([hsent;he1;...;hei])h_{final}=FFNN([h_{sent};h_{e_1};...;h_{e_i}])hfinal=FFNN([hsent;he1;...;hei])–前馈神经网络连接
- LR分类器
- M块
3.2 GCNN(Sahu, S. K., et al. (2019))
- GCNN(Sahu, S. K., et al. (2019)):
- 我们的工作与Verga等人(2018)不同,我们使用GCNN模型替换Transformer,使用非局部依赖(如实体指代消解)进行全抽象编码。
- 句间关系抽取
- 基于文档级图的标记边缘GCNN
- a novel inter-sentence relation extraction model that builds a labelled edge graph convolutional neural network model on a document-level graph
- 认为依赖树无法提取句子间关系
- 构造一个文档级图
- 节点-单词
- 边-局部或非局部依赖关系
- 由什么建立
- 局部依赖的连接词(来自语法解析和序列信息)
- 非局部依赖(来自指代消解+其他语义依赖
- why用这个图:
- 认为依赖树无法得到非局部依赖赖树无法得到非局部依赖
- 用GCNN进行编码
- 用MIL进行标签分类
- 输入:(e1,e2,t)
- t:一个文档
- 方法:多实例学习MIL来组合所有的mention -level pairwise
- 这里的mention:是实体的文字表述,可以有多种。
- 预测:目标对的最终关系范畴
- 结构
- 输入:
- 每个单词i及其与第一和第二目标实体的相对位置分别映射到实值向量wi、d1i、d2i
- 输入:xi=[wi;di1;di2]x_i=[w_i;d_i^1;d_i^2]xi=[wi;di1;di2]
- 构造图:
- 多种边
- 句子的句法依赖边
- 共引用边
- 相邻句边
- 相邻词边
- 自节点边
- 为了学习到自身的信息
- 节点表示
- 由其邻居节点和边缘类型来学习节点表示(用GCNN)
- 多种边
- 用GCNN获得表示
- 用处:获得x的表示
- 公式xik+1=f(Σu∈v(i)(Wl(i,u)kxuk+bl(i,u)k))x_i^{k+1}=f(\Sigma_{u\in v(i)}(W_{l(i,u)}^kx_u^k+b_{l(i,u)}^k))xik+1=f(Σu∈v(i)(Wl(i,u)kxuk+bl(i,u)k))
- xik+1x_i^{k+1}xik+1由第k个GCNN -block得到的表示。(共K个)
- l:边的类型
- 我们将K个GCNN块堆叠起来,以累积来自遥远邻近节点的信息,并使用边界选通控制来自邻近节点的信息。–最后一个是最终的)
- 减少参数
- 前n个类型保留单独的边的方向参数
- 其余使用相同参数。
- 避免过拟合
- 用MIL 分类
- 由于每个目标实体在一个文档中可以有多个提及,
- MIL:因此我们采用基于多实例学习(multi-instance learning, MIL)的分类方案,
- 得分函数:使用双仿射两两评分来聚合所有目标提及对的预测(Verga et al., 2018)。
- 做法:
- FFNN:首先利用两层前馈神经网络(FFNN)将每个词i投影到两个独立的潜在空间中,对应于目标对的第一个(head)或第二个(tail)参数。
- 2个2层
- 公式
- xihead=Whead(1)(ReLU(Whead(0)xiK))x_i^{head}=W_{head}^{(1)}(ReLU(W_{head}^{(0)}x_i^K))xihead=Whead(1)(ReLU(Whead(0)xiK))
- xitail=Wtail(1)(ReLU(Wtail(0)xiK))x_i^{tail}=W_{tail}^{(1)}(ReLU(W_{tail}^{(0)}x_i^K))xitail=Wtail(1)(ReLU(Wtail(0)xiK))
- xitail,xihead,d维x_i^{tail},x_i^{head},d维xitail,xihead,d维
- 双仿射得分:然后,通过双仿射层生成二维水平的两两mention配对置信得分,并将其聚合得到实体水平的两两配对置信得分。
- score(ehead,etail)=log(Σi∈Ehead,j∈Etailexp((xiheadR)xjtail))R−−(d,r,d),r是关系的类目数量Ehead、Etail分别表示ehead和etail实体的一组提及。(mention:同一实体的文字表述,可以有多个)score(e^{head},e^{tail})=log(\Sigma_{i\in E^{head},j \in E^{tail}}exp((x_i^{head}R)x_j^{tail}))\\ R--(d,r,d),r是关系的类目数量\\ Ehead、Etail分别表示ehead和etail实体的一组提及。(mention:同一实体的文字表述,可以有多个)score(ehead,etail)=log(Σi∈Ehead,j∈Etailexp((xiheadR)xjtail))R−−(d,r,d),r是关系的类目数量Ehead、Etail分别表示ehead和etail实体的一组提及。(mention:同一实体的文字表述,可以有多个)
- FFNN:首先利用两层前馈神经网络(FFNN)将每个词i投影到两个独立的潜在空间中,对应于目标对的第一个(head)或第二个(tail)参数。
- 输入:
3.3 GraphRel
- GraphRelFu, T.-J., et al. (2019).:
- 实体关系联合抽取
- 关系加权的GCNs
- 考虑实体关系间的相互作用
- 线性核依赖结构->文本的序列特征和区域特征
- 完整的词图:->提取文本所有词对之间的隐含特征
- 基于图的方法,有利于对重叠关系的预测
- 数据集:NYT,WebNLG
- 三个关键
- 想要自动提取特征的联合模型
- 通过堆叠Bi-LSTM语句编码器和GCN (Kipf和Welling, 2017)依赖树编码器来自动学习特征
- 用以考虑线性和依赖结构
- 类似于Miwa和Bansal(2016)(一样是堆叠的)
- 每个句子使用Bi-LSTM进行自动特征学习,
- 提取的隐藏特征由连续实体标记器和最短依赖路径关系分类器共享。
- 然而,在为联合实体识别和关系提取引入共享参数时,
- 它们仍然必须将标记者预测的实体提及通过管道连接起来,
- 形成关系分类器的提及对。
- 类似于Miwa和Bansal(2016)(一样是堆叠的)
- 考虑重叠关系
- 如何考虑关系之间的相互作用
- 2nd-phase relation-weighted GCN
- 重叠关系(常见)
- 情况
- 两个三元组的实体对重合
- 两个三元组都有某个实体mention
- 推断
- 困难(对联合模型尤其困难,因为连实体都还不知道)
- 情况
- 想要自动提取特征的联合模型
- work
- 学习特征
- 通过堆叠Bi-LSTM语句编码器–序列特征
- 输入:单词u的单词嵌入Word(u)+词性嵌入POS(u)
- 嵌入矩阵:
- 单词:glove
- 词性:随机初始化,一起训练
- 公式:hu0=Word(u)⊕POS(u)h_u^0=Word(u)⊕POS(u)hu0=Word(u)⊕POS(u)
- ⊕??异或?只是个连接符号
- bi-GCN (Kipf和Welling, 2017)依赖树编码器来自动学习特征–区域特征
- 输入:句子的依赖树的邻接矩阵
- 公式:
- h→ik+1=ReLU(Σu∈(v→(i)(W→khuk+b→k))\stackrel{\rightarrow}{h}_i^{k+1}=ReLU(\Sigma_{u\in (\stackrel{\rightarrow}{v}(i)}(\stackrel{\rightarrow}{W}^kh_u^k+\stackrel{\rightarrow}{b}^k))h→ik+1=ReLU(Σu∈(v→(i)(W→khuk+b→k))
- h←ik+1=ReLU(Σu∈v←(i)(W←khuk+b←k))\stackrel{\leftarrow}{h}_i^{k+1}=ReLU(\Sigma_{u\in \stackrel{\leftarrow}{v}(i)}(\stackrel{\leftarrow}{W}^kh_u^k+\stackrel{\leftarrow}{b}^k))h←ik+1=ReLU(Σu∈v←(i)(W←khuk+b←k))
- hik+1=h←ik+1⊕h←ik+1{h}_i^{k+1}=\stackrel{\leftarrow}{h}_i^{k+1}⊕\stackrel{\leftarrow}{h}_i^{k+1}hik+1=h←ik+1⊕h←ik+1–concatenate
- 通过堆叠Bi-LSTM语句编码器–序列特征
- 第一阶段的预测:
- GraphRel标记实体提及词,预测连接提及词的关系三元组
- 同时,用关系权重的边建立一个新的全连接图(中间图)(一个关系一个图)
- 指导:关系损失和实体损失
- 输入:上面的特征
- 损失:分类损失函数–记做eloss1peloss_{1p}eloss1p
- 预测词的实体
- 提取每一对词的关系
- 对于关系提取,我们删除了依赖边并对所有的词对进行预测。对于每个关系r,我们学习了权值矩阵Wr1,Wr2,Wr3W^1_r, W^2_r, W^3_rWr1,Wr2,Wr3,并计算了关系倾向score
- score(w1,r,w2)=Wr3ReLU(Wr1hw1⊕Wr2hw2)score(w1,r,w2)=W_r^3ReLU(W_r^1h_{w1}⊕W_r^2h_{w2})score(w1,r,w2)=Wr3ReLU(Wr1hw1⊕Wr2hw2)
- 正向和反向不同
- 无关系score(w1,null,w2)
- 概率Pr(w1,w2)=softmax(score(w1,r,w2))P_r(w1,w2)=softmax(score(w1,r,w2))Pr(w1,w2)=softmax(score(w1,r,w2))
- 无三元组计数约束
- 损失函数:利用$P_r(w1,w2),记做rloss_{1p}
- 第二阶段的GCN
- 通过对这个中间图的操作
- 考虑实体之间的交互作用和可能重叠的关系
- 对每条边进行最终分类
- 在第二阶段,基于第一阶段预测的关系,我们为每个关系构建完整的关系图,并在每个图上应用GCN来整合每个关系的信息,进一步考虑实体与关系之间的相互作用。
- 对每一个关系
- 依据Pr(w1,w2)P_r(w1,w2)Pr(w1,w2)(作为边权)构建图(一个关系一个图)
- 对每一个图用Bi-GCN
- huk+1=ReLU(Σv∈VΣr∈RPr(u,v)×(Wrkhvk+brk))+hukh_u^{k+1}=ReLU(\Sigma_{v\in V}\Sigma_{r\in R}P_r(u,v)\times(W_r^kh_v^k+b_r^k))+h_u^khuk+1=ReLU(Σv∈VΣr∈RPr(u,v)×(Wrkhvk+brk))+huk
- 考虑出度和入度两个方向
- 第二阶段的Bi-GCN考虑关系权重的传递并且从每个词中提取出更充足的信息
- 再分类
- 对得到的新的特征,在进行一次命名实体识别和关系分类,可以得到更稳定的庴预测。
- 损失函数:eloss2p,rloss2peloss_{2p},rloss_{2p}eloss2p,rloss2p
- 学习特征
- 本文贡献
- 我们的方法考虑了线性和依赖结构,以及文本中所有词对之间的隐含特征;
- 我们对实体和关系进行端到端的联合建模,同时考虑所有的词对进行预测;
- 仔细考虑实体和关系之间的交互。
- 训练
- 实体识别:
- 标签:(Begin, Inside, End, Single, Out)
- 损失:交叉熵(分类损失
- 对eloss1p和eloss2p来说,ground-truth的实体(标准答案)是相同的
- 关系抽取
- 使用one-hot关系向量对每一个单词对
- 既然我们是基于词组来预测关系,那么ground truth(标准答案)也应该基于词组。
- 也就是说,word United与word Barack和word Obama都有“总统”的关系,word States也是如此。
- 我们认为,这种基于单词对的关系表示为GraphRel提供了它需要学习提取关系的信息。对rloss1p和rloss2p来说,groundtruth(标准答案)关系向量是相同的。
- 作为实体损失,我们也使用交叉熵作为训练中的分类损失函数。
- 对于eloss和rloss,我们为类内的实体或关系项添加了额外的double-weighted。
- 总的损失:lossall=(eloss1p+rloss1p)+α(eloss2p+rloss2p)loss_{all}=(eloss_{1p}+rloss_{1p})+\alpha(eloss_{2p}+rloss_{2p})lossall=(eloss1p+rloss1p)+α(eloss2p+rloss2p)
- 以end-to-end的方式最小化loss
- 实体识别:
- inference
- head prediction:
- 关系被提取的前提:
- 两个实体均被识别
- 且Pr(e1,e2)最大
- 关系被提取的前提:
- 平均预测
- 一对实体提及对的所有词对的概率平均最大的关系
- threshold阈值预测
- 独立地思考实体提及对的所有词对
- 实体提及对中的所有词对中有θ以上占比认为此关系最有可能,则提取此关系
- head prediction:
3.4 PCNN/CNN+KATT[Zhang, N., et al. (2019)
-
pcnn/cnn+KG embedding+GCN+两层att[Zhang, N., et al. (2019)
- 用于:长尾不平衡数据
- long-tail:指的是类似正态分布的尾巴那一部分,也就是可用数据少
- 方法:远程监督
- 挑战:
- long-tail的可用数据少
- 目前的远程监督方法都忽略了这个,所以难以从文本中提取全面的信息
- long-tail不容忽略:NYT中70%都是(Riedel et al., 2010; Lei et al., 2018)
- 如何在训练实例有限的情况下来学习?
- long-tail的可用数据少
- 启发:long-tail数据和分布顶部的数据之间有丰富的语义关联
- 解决:可以用顶部数据来提高尾部数据的performance
- 如果语义上相似,就可以转换
- 这样可以增强RE,缩小潜在的搜索空间,减少关系之间的不确定性(Ye et al., 2017)
- eg:如果一对实体包含/人/死者/死亡地点(多),很有可能包含/人/死者/埋葬地点(少)。
- 存在两个问题
- 关系知识的学习:也可能导致负迁移
- 利用关系知识:
- 将关系知识集成到现有的RE模型也是一个挑战
- 做法
- 编码器(Instance Encoder):
- 首先使用CNN(Zeng et al。,2014,2015)编码
- 输入:一个实例及其实体提及对
- 语义编码为一个向量
- 关系知识学习(Relation Knowledge Learning):
- 预训练的嵌入:以知识图谱的嵌入来学习隐式关系知识
- (Yang et al。,2015):语义相近,嵌入相近
- 使用 TransE (Bordes et al., 2013)
- 将通用的消息传递推理算法与神经网络的对应算法进行同化–>得到更好的嵌入
- 利用图卷积网络学习显式关系知识
- KGs:有多对一关系,数据稀疏–无足够的关系信号
- 用GCN来学习
- 输出:concate(GCN输出,KG embedding)
- 预训练的嵌入:以知识图谱的嵌入来学习隐式关系知识
- knowledge-aware attention
- 以从粗到细的注意力机制将关系知识和编码句子注入到model中
- 目标:选择与信息圈圈匹配的最informative instance
- 编码器(Instance Encoder):
- 好处
- 关系知识:
- 为关系预测提供了更多信息
- 为attention提供参考–提高long-tail的性能
- 关系知识:
- 用于:长尾不平衡数据
-
详细
- Instance Encoder
- 输入:实例s={w1,w2,…}和他的两个提及hi,ti
- 输出:连续的低纬向量x
- 嵌入层
- 给定实例s
- word embedding:
- 每个单词,映射到skip-gram的嵌入上(Mikolov et al., 2013)
- position embedding
- (Zeng et al。,2014)
- 每个单词:它与两个实体的相对距离嵌入到两个dp维的想两种
- 两个嵌入连接起来–>每个单词的最终输入
- 编码层
- 输入:上面得到的嵌入
- 方法(两个):
- CNN(Zeng et al。,2014)
- PCNN(Zeng et al。,2015)
- 其他也可,但卷积效果最好
- 输出:嵌入的组合–实例嵌入
- relation knowledge learning
- 给定:
- 预先训练的KG嵌入
- 预定义的类(关系)层次结构,
- 我们首先
- 利用KGs得到隐式关系知识
- 初始化层次结构标签图;
- KG的基本关系(叶子)
- 其向量表示,可由TransE的KG嵌入来初始化
- 也可用其他
- 其向量表示,可由TransE的KG嵌入来初始化
- 泛化得到更高级的关系集合(通常包含多个子关系(在基本几何中的))
- 非叶子的向量:可用所有子节点的向量平均得到
- 树结构的
- 生成过程:递归
- 父节点:虚拟的
- 方法:k-means,层次聚类
- KG的基本关系(叶子)
- GCN:
- 由于KG中的一对多关系和不完整性,KG嵌入每个标签所获得的隐含相关信息是不够的。
- 然后我们应用两层GCN来学习标签空间中明确的细粒度关系知识。
- 输入:KGs的预训练关系嵌入vimplicitv^{implicit}vimplicit
- 第i个标签:组合其父母和子女的标签得到
- vi1=f(W1vi+Σj∈pWp1vj∣p∣+Σj∈cWc1vj∣c∣+bg1)v_i^1=f(W^1v_i+\Sigma_{j\in p}\frac{W_p^1v_j}{|p|}+\Sigma_{j\in c}\frac{W_c^1v_j}{|c|}+b_g^1)vi1=f(W1vi+Σj∈p∣p∣Wp1vj+Σj∈c∣c∣Wc1vj+bg1)
- 第二层同上,得到vexplicit,vimplicitv^{explicit},v^{implicit}vexplicit,vimplicit
- 输出:qr=vexplicit∣∣vimplicitq_r=v^{explicit}||v^{implicit}qr=vexplicit∣∣vimplicit–concate–>每一层的,每个节点都有一个q
- 给定:
- knowledge-aware attention
- 问题:
- CNN,loss=交叉熵–ok
- 但long-tail,所以泛化不良
- 解决
- 将句子向量与对应的类嵌入匹配
- 成为检索问题
- 根据他们的类型来组合这些class embedding(依据层次图)
- 得到关系表示公式:ek=Ws(tanh[sk;qri])+bs;[sk;qri]是垂直链接αki=exp(ek)Σj=1mexp(ej)rh,ti=ATT(qri,s1,s2,...,sm)e_k=W_s(tanh[s_k;q_{r^i}])+b_s;[s_k;q_{r^i}]是垂直链接\\ \alpha_k^i=\frac{exp(e_k)}{\Sigma_{j=1}^m exp(e_j)}\\ r_{h,t}^i=ATT(q_r^i,{s1,s2,...,sm})ek=Ws(tanh[sk;qri])+bs;[sk;qri]是垂直链接αki=Σj=1mexp(ej)exp(ek)rh,ti=ATT(qri,s1,s2,...,sm)
- 然后,我们需要在不同层上组合关系表示–还是注意力机制
- gi=Wgtanh(rh,t)βi=exp(gi)Σj=0L−1exp(gj)rh,r=Concat(β0rh,t0,...,βL−1rh,tL−1)g_i=W_gtanh(r_{h,t})\\ \beta_i=\frac{exp(g_i)}{\Sigma_{j=0}^{L-1}exp(g_j)}\\ r_{h,r}=Concat(\beta_0r_{h,t}^0,...,\beta_{L-1}r_{h,t}^{L-1})gi=Wgtanh(rh,t)βi=Σj=0L−1exp(gj)exp(gi)rh,r=Concat(β0rh,t0,...,βL−1rh,tL−1)
- 概率:P(r∣h,t,Sh,t)=exp(Mrh,t)Σr′∈Rexp(Mrh,t′)P(r|h,t,S_{h,t})=\frac{exp(Mr_{h,t})}{\Sigma_{r'\in R}exp(Mr'_{h,t})}P(r∣h,t,Sh,t)=Σr′∈Rexp(Mrh,t′)exp(Mrh,t)
- 问题:
- Instance Encoder
3.5 a multi-turn QA
- a multi-turn QA
- 多次QA
- 实体和关系的类型:以question answering template为特征
- 提取关系和实体:通过回答问题
- 用MRC提取实体、关系:
- Answers are text spans, extracted using the now standard machine reading comprehension (MRC) framework: predicting answer spans given context (Seo et al., 2016; Wang and Jiang, 2016; Xiong et al., 2017; Wang et al., 2016b).
- eg:为了得到上表,有以下问答
- • Q: who is mentioned in the text? A: Musk;
- • Q: which Company / companies did Musk work for? A: SpaceX, Tesla, SolarCity, Neuralink and The Boring Company;
- • Q: when did Musk join SpaceX? A: 2002;
- • Q: what was Musk’s Position in SpaceX? A: CEO.
- 优点:
- 可得到层次依赖
- 问题查询为我们编码重要的先验信息。
- 类对QA来说有助于回答问题—这个可以解决很多问题
- 传统的方法中类仅仅是索引,并且不编码类的任何信息
- QA框架提供了一种同时提取实体和关系的自然方式
- 回答问题
- 有答案,则关系成立,且结果为我们希望的实体抽取
- 回答问题
- 两个阶段
- 1)头部实体提取阶段
- 2)关系和尾部实体提取阶段:
- work:
- 生成问题
- 通过MRC确定答案范围
- 强化学习
- 处理多回合问题的连接
3.6 APCNN+D,2017
- APCNN
- 任务定义
- 所有句子被分到N组bags中,{B1,B2,⋯,Bi}\{B_1,B_2,⋯,B_i\}{B1,B2,⋯,Bi}
- 每个bag中的的句子都描述了同一组实体的关系r(e1,e2)。
- 每个bag中有qi句句子,Bi={b1,b2,⋯,bqi}B_i=\{b_1,b_2,⋯,b_{q_i}\}Bi={b1,b2,⋯,bqi}(i=1,2,…,N)
- 这个任务的目标是,预测每个bag对应的label。
- 预测看不见的袋子的标签。
- instance–句子
- 以上的不足:
- (1)一个袋子可能包含多个有效句子。
- (2)实体描述可以提供有用的背景知识,是完成任务的有用资源。
- 基于此提出本文的创新点:
- 结合zeng和概率图:使用神经网络提取特征+从一个包提取多个有效句子
- PCNN(得到句子特征)–>结果加权和(权重是隐层计算)–>(包的特征)
- attention:用以选择有效的实体
- 权重:句子向量v;e1-e2
- 添加实体描述信息
- 使用传统CNN从Freebase或Wikipedia中抽取实体特征
- 用途:为预测关系提供了更多的信息,而且还为注意力模块带来了更好的实体表示
- 结合zeng和概率图:使用神经网络提取特征+从一个包提取多个有效句子
- 本文贡献:
- (1)我们引入了一个句子级别的注意力模型来选择一个袋子中的多个有效句子。该策略充分利用了监督信息。
- (2)我们使用实体描述为预测关系和改善实体表示提供背景知识;
- (3)我们对广泛使用的数据集3进行实验,并达到了最新水平。
- 结构
- PCNNs Module
- 组成
- Vector Representation,
- Convolution and
- Piecewise Max-pooling.
- 目的:提取包中一个句子的特征向量
- 输入:
- word_embedding:word2vec
- position embedding
- 相对e1的
- 相对e2的
- ???有负的怎么求?
- -70-70–>140
- 卷积:cij=conv(Wi,sj−w+1:j)c_{ij}=conv(W_i,s_{j-w+1:j})cij=conv(Wi,sj−w+1:j)
- w:窗口大小,卷积核的尺寸?
- 当前词,及其前后词组成一个小窗口。
- w=3
- i:1~n,n为卷积核W的数目
- j:1~|S|-w+1,|S|–句子长度
- 结果得到C=[c1,c2,...,cn]C=[c_1,c_2,...,c_n]C=[c1,c2,...,cn]
- w:窗口大小,卷积核的尺寸?
- Piecewise Max-pooling(分段最大池化)
- 划分ci,ci={ci1,ci2,ci3}中,pij=max(cij)划分c_i,c_i=\{c_{i1},c_{i2},c_{i3}\}中,p_{ij}=max(c_{ij})划分ci,ci={ci1,ci2,ci3}中,pij=max(cij)
- 分段依据:两个实体将句子分成三段
- 结果:pi=[pi1,pi2,pi3]−concate−>pp_i=[p_{i1},p_{i2},p_{i3}]-concate->ppi=[pi1,pi2,pi3]−concate−>p
- 输出:bs=tanh(p)b_s=tanh(p)bs=tanh(p)
- 组成
- Sentence-level Attention Module.
- Attention Layer
- 输入:
- 一个句子的表示bsb_sbs
- 句中关系的表示vrelation=e1−e2v_{relation}=e_1-e_2vrelation=e1−e2
- 想法:如果句中关系为r,则bs与vrelation相似度高b_s与v_{relation}相似度高bs与vrelation相似度高,没有则低
- 权重:
- ωi=WaT(tanh[bi;vrelation])+ba\omega_i=W^T_a(tanh[b_i;v_{relation}])+b_aωi=WaT(tanh[bi;vrelation])+ba
- αi=exp(ωi)Σj=1qexp(ωj)\alpha_i=\frac{exp(\omega_i)}{\Sigma_{j=1}^qexp(\omega_j)}αi=Σj=1qexp(ωj)exp(ωi)
- 输出:bˉ=Σi=1qαibi\bar{b}=\Sigma_{i=1}^q\alpha_ib_ibˉ=Σi=1qαibi
- 输入:
- Softmax Classifier
- o=WsTbˉ+bso=W^T_s\bar{b}+b_so=WsTbˉ+bs
- p(ri∣B;θ)=exp(oi)Σj=1noexp(oj)p(r_i|B;\theta)=\frac{exp(o_i)}{\Sigma_{j=1}^{n_o}exp(o_j)}p(ri∣B;θ)=Σj=1noexp(oj)exp(oi)
- Attention Layer
- 实体描述
- 输入:
- 实体和描述中的词的嵌入可以有word_embedding得到
- 实体描述:由远程监督得到
- 来源:Freebase和wikipeidia
- 去除模棱两可的(含may refer to)
- CNN:d_i由CNN计算得到,Wd
- 目标:让实体的表示和他的描述尽可能接近
- 得到了实体描述对(ei,di)(e_i,d_i)(ei,di)
- 损失函数:Le=Σi=1∣D∣∣∣ei−di∣∣22L_e=\Sigma_{i=1}^{|D|}||e_i-d_i||_2^2Le=Σi=1∣D∣∣∣ei−di∣∣22
- 输入:
- PCNNs Module
- 任务定义
3.7 Chinese_NRE(MG_lattice)
- Chinese NRE(MG lattice多粒度点阵)
- 中文关系抽取
- 神经网络
- 多粒度
- 基于字符+基于词
- 解决的问题:
- 分段错误(分词?)
- 多粒度:将词级信息融入到字符序列输入中
- 多义性
- 借助外部语言库
- open-sourced HowNet API (Qi et al., 2019)
- 得到一个含义一个嵌入
- 分段错误(分词?)
- 输入
-
character
- 每个字的嵌入->一个句子
- Skip-gram model (Mikolov et al., 2013).
- 位置嵌入position feature–pi1={i−b1i<b10b1≤i≤e1i−e1i>e1p_i^1=\begin{cases}i-b^1&& i<b^1\\0&& b^1\leq i\leq e^1\\i-e^1&&i>e^1\end{cases}pi1=⎩⎪⎨⎪⎧i−b10i−e1i<b1b1≤i≤e1i>e1
- 最终输入x=concate[xce,xp1,xp2]x=concate[x_{ce},x_{p1},x_{p2}]x=concate[xce,xp1,xp2]
-
word
- 文本中所有出现在词典上的单词–>word2vec–>向量表示wb,e−−>xb,eww_{b,e}-->x_{b,e}^wwb,e−−>xb,ew
- word2vec:不考虑多义词
- 用HowNet作为外部知识库纳入model–>一个含义对应一个向量
- 操作
- 给定单词wb,ew_{b,e}wb,e
- 通过HowNet检索,得到他的K个含义
- 每个含义映射到一个向量xb,e,ksensex_{b,e,k}^{sense}xb,e,ksense(SAT模型,基于skip-gram)
- SAT (Sememe Attention over Target)
- 得到他的含义向量集合:xb,esense={xb,e,1sense,...,xb,e,Ksense}x_{b,e}^{sense}=\{x_{b,e,1}^{sense},...,x_{b,e,K}^{sense}\}xb,esense={xb,e,1sense,...,xb,e,Ksense}
- 这就是wb,ew_{b,e}wb,e的表示
-
- encoder
- 基于字符的LSTM
- {ijc=σ(Wixjc+Uihj−1c+bi)(输入门)ojc=σ(Woxjc+Uohj−1c+bo)(输出门)fjc=σ(Wfxjc+Ufhj−1c+bf)(遗忘门)c~jc=tanh(Wcxjc+Uchj−1c+bc)cjc=fjc⨀cj−1c+ijc⨀c~jchjc=ojc⨀tanh(cjc)\begin{cases}i_j^c=\sigma(W_ix_j^c+U_ih_{j-1}^c+b_i)(输入门)\\ o_j^c=\sigma(W_ox_j^c+U_oh_{j-1}^c+b_o)(输出门)\\ f_j^c=\sigma(W_fx_j^c+U_fh_{j-1}^c+b_f)(遗忘门)\\ \tilde{c}_j^c=tanh(W_cx_j^c+U_ch_{j-1}^c+b_c)\end{cases}\\ c_j^c=f_j^c\bigodot c_{j-1}^c+i_j^c\bigodot \tilde{c}_j^c\\ h_j^c=o_j^c\bigodot tanh(c_j^c)⎩⎪⎪⎪⎨⎪⎪⎪⎧ijc=σ(Wixjc+Uihj−1c+bi)(输入门)ojc=σ(Woxjc+Uohj−1c+bo)(输出门)fjc=σ(Wfxjc+Ufhj−1c+bf)(遗忘门)c~jc=tanh(Wcxjc+Uchj−1c+bc)cjc=fjc⨀cj−1c+ijc⨀c~jchjc=ojc⨀tanh(cjc)
- base lattice LSTM encoder(在上面基本LSTM的基础上)
- xb,ew=ew(wb,e)嵌入x_{b,e}^w=e^w(w_{b,e})嵌入xb,ew=ew(wb,e)嵌入
- {ib,ew=σ(Wixb,ew+Uihbc+bi)(输入门)fb,ew=σ(Wfxb,ew+Ufhbc+bf)(遗忘门)c~b,ew=tanh(Wcxb,ew+Uchbc+bc)cb,ew=fb,ew⨀cbc+ib,ew⨀c~b,ewb∈{b′∣wb′,e∈D}\begin{cases}i_{b,e}^w=\sigma(W_ix_{b,e}^w+U_ih_{b}^c+b_i)(输入门)\\ f_{b,e}^w=\sigma(W_fx_{b,e}^w+U_fh_{b}^c+b_f)(遗忘门)\\ \tilde{c}_{b,e}^w=tanh(W_cx_{b,e}^w+U_ch_{b}^c+b_c)\end{cases}\\ c_{b,e}^w=f_{b,e}^w\bigodot c_{b}^c+i_{b,e}^w\bigodot \tilde{c}_{b,e}^w\\ b\in \{b'|w_{b',e} \in D\}⎩⎪⎨⎪⎧ib,ew=σ(Wixb,ew+Uihbc+bi)(输入门)fb,ew=σ(Wfxb,ew+Ufhbc+bf)(遗忘门)c~b,ew=tanh(Wcxb,ew+Uchbc+bc)cb,ew=fb,ew⨀cbc+ib,ew⨀c~b,ewb∈{b′∣wb′,e∈D}
- 为了控制每个词的贡献,需要额外的门:
ib,ec=σ(Wixec+Uihb,ew+bl)cec=Σb∈{b′∣wb′,e∈D}αb,ec⨀cb,ew+αec⨀c~ecαb,ec=exp(ib,ec)exp(ib,ec+Σb′∈{b′∣wb′,e∈D}exp(ib′,ec)αec=exp(iec)exp(iec+Σb′∈{b′∣wb′,e∈D}exp(ib′,ec)i_{b,e}^c=\sigma(W_ix_{e}^c+U_ih_{b,e}^w+b^l)\\ c_e^c=\Sigma_{b\in \{b'|w_{b',e} \in D\}}\alpha_{b,e}^c \bigodot c_{b,e}^w+\alpha_e^c\bigodot \tilde{c}_e^c\\ \alpha_{b,e}^c=\frac{exp(i_{b,e}^c)}{exp(i_{b,e}^c+\Sigma_{b'\in \{b'|w_{b',e} \in D\}}exp(i_{b',e}^c)}\\ \alpha_{e}^c=\frac{exp(i_{e}^c)}{exp(i_{e}^c+\Sigma_{b'\in \{b'|w_{b',e} \in D\}}exp(i_{b',e}^c)}ib,ec=σ(Wixec+Uihb,ew+bl)cec=Σb∈{b′∣wb′,e∈D}αb,ec⨀cb,ew+αec⨀c~ecαb,ec=exp(ib,ec+Σb′∈{b′∣wb′,e∈D}exp(ib′,ec)exp(ib,ec)αec=exp(iec+Σb′∈{b′∣wb′,e∈D}exp(ib′,ec)exp(iec) - 最后得到隐层表示hjc=ojc⨀tanh(cjc)−−j对应于句子中每个characterh_j^c=o_j^c\bigodot tanh(c_j^c)--j对应于句子中每个characterhjc=ojc⨀tanh(cjc)−−j对应于句子中每个character
- MG lattice LSTM encoder
- basic一个单词一个向量,不考虑多义词,MG考虑
- {ib,e,ksense=σ(Wixb,e,ksense+Uihbc+bi)(输入门)fb,e,ksense=σ(Wfxb,e,ksense+Ufhbc+bf)(遗忘门)c~b,e,ksense=tanh(Wcxb,e,ksense+Uchbc+bc)cb,e,ksense=fb,e,ksense⨀cbc+ib,e,ksense⨀c~b,e,ksenseb∈{b′∣wb′,e∈D}\begin{cases}i_{b,e,k}^{sense}=\sigma(W_ix_{b,e,k}^{sense}+U_ih_{b}^c+b_i)(输入门)\\ f_{b,e,k}^{sense}=\sigma(W_fx_{b,e,k}^{sense}+U_fh_{b}^c+b_f)(遗忘门)\\ \tilde{c}_{b,e,k}^{sense}=tanh(W_cx_{b,e,k}^{sense}+U_ch_{b}^c+b_c)\end{cases}\\ c_{b,e,k}^{sense}=f_{b,e,k}^{sense}\bigodot c_{b}^c+i_{b,e,k}^{sense}\bigodot \tilde{c}_{b,e,k}^{sense}\\ b\in \{b'|w_{b',e} \in D\}⎩⎪⎨⎪⎧ib,e,ksense=σ(Wixb,e,ksense+Uihbc+bi)(输入门)fb,e,ksense=σ(Wfxb,e,ksense+Ufhbc+bf)(遗忘门)c~b,e,ksense=tanh(Wcxb,e,ksense+Uchbc+bc)cb,e,ksense=fb,e,ksense⨀cbc+ib,e,ksense⨀c~b,e,ksenseb∈{b′∣wb′,e∈D}
- cb,esense=Σkαb,e,ksense⨀cb,e,ksensealphab,e,ksense=exp(ib,e,ksense)Σk′Kexp(ib,e,k′sense)cec=Σb∈{b′∣wb′,e∈D}αb,esense⨀cb,esense+αec⨀c~ecc_{b,e}^{sense}=\Sigma_k\alpha_{b,e,k}^{sense} \bigodot c_{b,e,k}^{sense}\\ alpha_{b,e,k}^{sense}=\frac{exp(i_{b,e,k}^{sense})}{\Sigma_{k'}^Kexp(i_{b,e,k'}^{sense})}\\ c_e^c=\Sigma_{b\in \{b'|w_{b',e} \in D\}}\alpha_{b,e}^{sense} \bigodot c_{b,e}^{sense} +\alpha_e^c\bigodot \tilde{c}_e^ccb,esense=Σkαb,e,ksense⨀cb,e,ksensealphab,e,ksense=Σk′Kexp(ib,e,k′sense)exp(ib,e,ksense)cec=Σb∈{b′∣wb′,e∈D}αb,esense⨀cb,esense+αec⨀c~ec
- 最后得到隐层表示hjc=ojc⨀tanh(cjc)−−j对应于句子中每个characterh_j^c=o_j^c\bigodot tanh(c_j^c)--j对应于句子中每个characterhjc=ojc⨀tanh(cjc)−−j对应于句子中每个character
- 基于字符的LSTM
- 关系分类器
- 上面得到了字符级的h
- attention连接:
- H=tanh(h)α=softmax(wTH)h∗=hαTH=tanh(h)\\ \alpha=softmax(w^TH)\\ h^*=h\alpha^TH=tanh(h)α=softmax(wTH)h∗=hαT
- 概率
- o=Wh∗+bp(y∣s)=softmax(o)o=Wh^*+b\\p(y|s)=softmax(o)o=Wh∗+bp(y∣s)=softmax(o)
- 损失函数
- J(θ)=Σi=1Tlogp(y(i)∣S(i),θ)J(\theta)=\Sigma_{i=1}^Tlogp(y^{(i)}|S^{(i)},\theta)J(θ)=Σi=1Tlogp(y(i)∣S(i),θ)
3.8 DISTRE
- DISTRE
- 假设:这些知识是识别更多关系的重要特征
- 我们假设,经过预训练的语言模型可为远程监督提供更强的信号,并基于无监督的预训练中获得的知识更好地指导关系提取。用隐式特征替换显式语言和辅助信息可改善域和语言的独立性,并可能增加公认关系的多样性。
- 做法:将GPT扩展到远程监督
- 选择性注意机制+GPT
- 选择性注意机制:用以处理多实例
- 这样可以最大程度地减少显式特征提取,并减少错误累积的风险。
- 选择性注意机制:用以处理多实例
- self-attention的体系结构允许模型有效地捕获远程依赖关系,
- 而语言模型则可以利用有关在无监督的预训练过程中获得的实体与概念之间的关系的知识。
- 选择性注意机制+GPT
- 数据集:NYT10
- 本文贡献
- 通过汇总句子级别的信息并有选择地关注以产生袋子级别的预测(第3节),我们将GPT扩展为处理远程监管数据集的袋子级别,多实例训练和预测。
- 我们在NYT10数据集上评估了精细调整的语言模型,并证明了它与RESIDE(Vashishth等人,2018)和PCNN + ATT(Lin等人,2016)相比,在持续评估中(§4,§5.1)获得了最新的AUC。
- 我们通过对排名预测进行手动评估来跟踪这些结果,这表明我们的模型预测了一组更多样化的关系,并且在较高的召回水平下表现尤其出色(第5.2节)。
- 假设:这些知识是识别更多关系的重要特征
- model
- D={(xi,headi,taili,ri)}i=1Nxi−tokenheadi,taili−−头实体和尾实体D=\{(x_i,head_i,tail_i,r_i)\}_{i=1}^N\\x_i-token\\head_i,tail_i--头实体和尾实体D={(xi,headi,taili,ri)}i=1Nxi−tokenheadi,taili−−头实体和尾实体
- 标签r不可靠,所以用bag_level
- bag:S=(x1,x2,...,xn)−−有同样的r(head,tail)的一组句子S=(x_1,x_2,...,x_n)--有同样的r(head,tail)的一组句子S=(x1,x2,...,xn)−−有同样的r(head,tail)的一组句子
- 包的表达式:s=Σi=1nαisi,si是xi的表达(hL)s=\Sigma_{i=1}^n \alpha_is_i,s_i是x_i的表达(h_L)s=Σi=1nαisi,si是xi的表达(hL)
- αi=exp(sir)Σj=1nexp(sjr)\alpha_i=\frac{exp(s_ir)}{\Sigma_{j=1}^nexp(s_jr)}αi=Σj=1nexp(sjr)exp(sir)
- 包的表达式:s=Σi=1nαisi,si是xi的表达(hL)s=\Sigma_{i=1}^n \alpha_is_i,s_i是x_i的表达(h_L)s=Σi=1nαisi,si是xi的表达(hL)
- P(l∣S,θ)=softmax(Wrs+b)L2(D)=Σi=1∣S∣logP(li∣Si,θ)L(D)=λ∗L1(D)+L2(D)P(l|S,\theta)=softmax(W_rs+b)\\ L_2(D)=\Sigma_{i=1}^{|S|} log P(l_i|S_i,\theta)\\ L(D)=\lambda*L_1(D)+L_2(D)P(l∣S,θ)=softmax(Wrs+b)L2(D)=Σi=1∣S∣logP(li∣Si,θ)L(D)=λ∗L1(D)+L2(D)
- 输入表达:
- 字节对编码(BPE)对输入文本进行标记化(Sennrich et al。,2016)。
- BPE算法创建以单个字符开头的子单词标记的词汇表。
- 然后,该算法将最频繁出现的令牌迭代合并到新令牌中,直到达到预定的词汇量为止。
- 对于每个令牌,我们通过将相应的令牌嵌入和位置嵌入相加来获得其输入表示。
3.9 n-gram based attention model (多词实体)
- n-gram based attention model that captures multi-word entity names in a sentence.
- 继序列到序列架构(Bahdanau et al。,2015)成功用于从结构化数据生成句子(Marcheggiani和Perez-Beltrachini,2018; Trisedya et al。,2018)之后,我们采用这种架构进行相反的工作,也就是从句子中提取三元组。
- 输入:句子
- 输出:三元组
- 应用情景:h,t为KB中已有实体,r为关系列表中的关系,<h,r,t>不存在于KB中
- 目的:发现h,t中更多的关系
- 要求:三元组中的关系,实体要规范,可以映射到KB中对应的ID上
- 提取+嵌入+消歧(规范化)–从句子到KB的端到端
- 架构:encoder-decoder的translation model
- 标准的encoder-decoder无法处理多词实体/谓词
- n-gram attention–得到单词级的信息
- 基于n-gram的注意力形式,该形式可以计算注意力权重的ngram组合来捕获语音或名词短语上下文,从而补充标准注意力模型的单词级注意力。
- 因此,我们的模型可以更好地捕获实体和关系的多词上下文。
- pre-train
- 单词:skip gram
- 嵌入:TransE
- 优点:
- 首先,嵌入捕获可单词和实体之间的关系,这对于命名实体消除歧义至关重要。
- 其次,实体嵌入保留了实体之间的关系,这有助于建立一个高度准确的分类器来过滤无效的提取的三元组。
- 数据不足:远程监督
- 为了解决缺少完全标记的训练数据的问题,我们采用了远程监督来生成对齐的句子对和三对作为训练数据。
- 增强
- 我们通过co-reference resolution (Clark和Manning,2016)
- co-reference resolution有助于提取带有隐式实体名称的句子,从而扩大候选句子的集合以与KB中现有的三元组对齐。
- dictionary-based paraphrase detection(Ganitkevitch等,2013; Grycner和Weikum,2016
- 有助于过滤不表达实体之间任何关系的句子。
- 我们通过co-reference resolution (Clark和Manning,2016)
- 贡献
- 联合关系抽取+消歧的model:该模型减少了关系提取和NED之间的错误传播,而现有方法则容易发生这种错误传播。
- 基于n-gram的注意力模型:
- 以有效地将实体及其关系的多词提及映射到唯一标识的实体和谓词中。
- 我们建议联合学习单词和实体嵌入,以捕获单词和实体之间的关系,以消除命名实体的歧义。
- 我们进一步提出一种改进的波束搜索和三元组分类器,以生成高质量的三元组。
- 我们在两个真实世界的数据集上评估提出的模型。
- 我们将远程监控与co-reference resolution和dictionary-based paraphrase detection相结合,以获取高质量的训练数据。
- 实验结果表明,我们的模型始终优于神经关系提取(Lin等人,2016)和最新的NED模型(Hoffart等人,2011; Kolitsas等人,2018)的强大基线。
3.10 Duration:Vashishtha, S., et al. (2019)
- Duration,Vashishtha, S., et al. (2019)
- 用于:时间关系表示
- 特点:将事件持续时间放在首位或居中
- 参考:Allen(1983)关于时间间隔表示
- 改变:为绝对的时间关系标注文本—>
- 将事件映射到其可能的持续时间上,
- 并将事件对直接映射到实际值的相对时间线
- 由持续时间来预测关系ok
- 由关系来预测持续时间降低了性能
- 目的:
- 对于句子中提到的每对事件,我们旨在一起预测这些事件的相对时间表及其持续时间。
- 然后,我们使用一个单独的模型从相对时间线中导出文档时间线
- Relative timelines
- The relative timeline model:
- 事件模型:
- 持续时间模型:
- 关系模型:
- 用于:
- 上下文嵌入:来自ELMO(Peters et al., 2018)的tune–>D维度
- embedding:三个M维上下文嵌入的concate
- 多层点积注意力:用于句子的embedding-H
- H=tanh(ELMo(s)WTUNE+bTUNE)WTUNE∈R3M×DbTUNE∈RN×DH=tanh(ELMo(s)W^{TUNE}+b^{TUNE}) \\W^{TUNE}\in \mathbb{R}^{3M\times D} \\b^{TUNE}\in \mathbb{R}^{N\times D}H=tanh(ELMo(s)WTUNE+bTUNE)WTUNE∈R3M×DbTUNE∈RN×D
- Event model
- 谓词k所指的事件表示为gpredk∈RDg_{pred_k}\in \mathbb{R}^Dgpredk∈RD–由点积注意力的变体建立
- 公式:apredkSPAN=tanh(AOREDSPANhROOT(predk)+bPREDSPAN)αpredk=softmax(HSPAN(predk)apredkSPANgpredk=[hROOT(predk);αpredkHSPAN(predk)]AOREDSPAN∈RD×DbPREDSPAN∈RDhROOT(predk)是隐层表达:第k个谓词的root的HSPAN(predk):stacking整个谓词的隐层表达a_{pred_k}^{SPAN}=tanh(A_{ORED}^{SPAN}h_{ROOT(pred_k)}+b_{PRED}^{SPAN})\\ \alpha_{pred_k}=softmax(H_{SPAN(pred_k)}a_{pred_k}^{SPAN}\\ g_{pred_k}=[h_{ROOT(pred_k)};\alpha_{pred_k}H_{SPAN(pred_k)}]\\ A_{ORED}^{SPAN}\in \mathbb{R}^{D\times D}\\ b_{PRED}^{SPAN}\in \mathbb{R}^{D}\\ h_{ROOT(pred_k)}是隐层表达:第k个谓词的root的\\ H_{SPAN(pred_k)}:stacking整个谓词的隐层表达apredkSPAN=tanh(AOREDSPANhROOT(predk)+bPREDSPAN)αpredk=softmax(HSPAN(predk)apredkSPANgpredk=[hROOT(predk);αpredkHSPAN(predk)]AOREDSPAN∈RD×DbPREDSPAN∈RDhROOT(predk)是隐层表达:第k个谓词的root的HSPAN(predk):stacking整个谓词的隐层表达
- eg:举例来说,
- my dog has been sick for about 3 days now
- 图2中目前sick的谓词以sick为根,因此我们将生病的隐藏表示形式表示为hROOT(predk)h_{ROOT(pred_k)}hROOT(predk)。
- 类似地,HSPAN(predk):H_{SPAN(pred_k)}:HSPAN(predk):等同于been sick for now的隐藏状态表示堆叠在一起。
- 然后,如果模型得知时态信息很重要,则been可能会引起注意。
- Duration model
- 谓词k所代表的事件的历时gdurkg_{dur_k}gdurk–与事件模型类似
- H:不是堆叠整个谓词的表达,而是堆叠整个句子的表达
- apredkSPAN=tanh(ADURSENTgpredk+bDURSENT)αdurk=softmax(HapredkSENT)gdurk=[gpredk;αdurkH]ADURSENT∈RD×size(gpredk)bDURSENT∈RDa_{pred_k}^{SPAN}=tanh(A_{DUR}^{SENT}g_{pred_k}+b_{DUR}^{SENT})\\ \alpha_{dur_k}=softmax(Ha_{pred_k}^{SENT})\\ g_{dur_k}=[g_{pred_k};\alpha_{dur_k}H]\\ A_{DUR}^{SENT}\in \mathbb{R}^{D\times size(g_{pred_k})}\\ b_{DUR}^{SENT}\in \mathbb{R}^{D}apredkSPAN=tanh(ADURSENTgpredk+bDURSENT)αdurk=softmax(HapredkSENT)gdurk=[gpredk;αdurkH]ADURSENT∈RD×size(gpredk)bDURSENT∈RD
- 绝对持续时间的两个model
- softmax model
- 无二项式模型的那个约束
- MLP:vdur+k=ReLU(WDUR(1)gdurk+bDUR(1))v_{dur+k}=ReLU(W_{DUR}^{(1)}g_{dur_k}+b_{DUR}^{(1)})vdur+k=ReLU(WDUR(1)gdurk+bDUR(1))
- 产生11个持续时间的概率:p=softmax(WDUR(2)vdurk+bDUR(2))p=softmax(W_{DUR}^{(2)}v_{dur_k}+b_{DUR}^{(2)})p=softmax(WDUR(2)vdurk+bDUR(2))
- 二项式model
- 二项式模型要求:11个持续时间值的概率pdurkp_{dur_k}pdurk在持续时间rank中是凹的
- RELu-MLP:π=σ(wDUR(2)vdurk+bDUR(2))\pi=\sigma(w_{DUR}^{(2)}v_{dur_k}+b_{DUR}^{(2)})π=σ(wDUR(2)vdurk+bDUR(2))–这是个值而不是向量
- 概率:pc=Cncπn(1−π)(n−c)p_c=C_n^c\pi^n(1-\pi)^{(n-c)}pc=Cncπn(1−π)(n−c)
- loss:Ldur(dk;p)=−logpdkL_{dur}(d_k;p)=-log p_{d_k}Ldur(dk;p)=−logpdk
- 11个持续时间rank
- stant (0), seconds (1), minutes (2), …, centuries (9), forever (10)
- – and n is the maximum class rank (10)
- softmax model
- Relation model
- 谓词i和谓词j所指事件的关系
- similar attention mechanism
- areli,jSENT=tanh(ARELSENT[gpredi;gpredj]+bRELSENT)αreli,j=softmax(Hareli,jSENT)greli,j=[gpredi;gpredj;αrelijH]ARELSENT∈RD×2size(gpredk)bRELSENT∈RDa_{rel_{i,j}}^{SENT}=tanh(A_{REL}^{SENT}[g_{pred_i};g_{pred_j}]+b_{REL}^{SENT})\\ \alpha_{rel_{i,j}}=softmax(Ha_{rel_{i,j}}^{SENT})\\ g_{rel_{i,j}}=[g_{pred_i};g_{pred_j};\alpha_{rel_{ij}}H]\\ A_{REL}^{SENT}\in \mathbb{R}^{D\times 2size(g_{pred_k})}\\ b_{REL}^{SENT}\in \mathbb{R}^Dareli,jSENT=tanh(ARELSENT[gpredi;gpredj]+bRELSENT)αreli,j=softmax(Hareli,jSENT)greli,j=[gpredi;gpredj;αrelijH]ARELSENT∈RD×2size(gpredk)bRELSENT∈RD
- 我们的时间模型背后的主要思想是将事件和状态直接映射到时间轴,我们通过参考间隔[0,1]表示该时间轴
- 对situation k,开始点b_k<=e_k
- MLP:[βi^,δi^,βj^,δj^]=ReLU(MLP(grelij))−−开始和持续时间[\hat{\beta_i},\hat{\delta_i},\hat{\beta_j},\hat{\delta_j}]=ReLU(MLP(g_{rel_{ij}}))--开始和持续时间[βi^,δi^,βj^,δj^]=ReLU(MLP(grelij))−−开始和持续时间
- sij^=[bi^,ei^,bj^,ej^][bk^,ek^]=[σ(βk^),σ(βk^+∣δk^∣)]−−开始和结束sij^=normalize(sij^)\hat{s_{ij}}=[\hat{b_i},\hat{e_i},\hat{b_j},\hat{e_j}]\\ [\hat{b_k},\hat{e_k}]=[\sigma(\hat{\beta_k}),\sigma(\hat{\beta_k}+|\hat{\delta_k}|)]--开始和结束\\ \hat{s_{ij}}=normalize(\hat{s_{ij}})sij^=[bi^,ei^,bj^,ej^][bk^,ek^]=[σ(βk^),σ(βk^+∣δk^∣)]−−开始和结束sij^=normalize(sij^)
- 损失函数:Lrel(sij;sij^)=∣(bi−bj)−(bi^−bj^)∣+∣(ei−bj)−(ei^−bj^)∣+∣(ej−bi)−(ej^−bi^)∣+∣(ei−ej)−(ei^−ej^)∣L_{rel}(s_{ij};\hat{s_{ij}})=|(b_i-b_j)-(\hat{b_i}-\hat{b_j})|+|(e_i-b_j)-(\hat{e_i}-\hat{b_j})|+|(e_j-b_i)-(\hat{e_j}-\hat{b_i})|+|(e_i-e_j)-(\hat{e_i}-\hat{e_j})|Lrel(sij;sij^)=∣(bi−bj)−(bi^−bj^)∣+∣(ei−bj)−(ei^−bj^)∣+∣(ej−bi)−(ej^−bi^)∣+∣(ei−ej)−(ei^−ej^)∣
- 对situation k,开始点b_k<=e_k
- final loss:L=Ldur(dk;p)+2Lrel(sij;sij^)=−logpdk+∣(bi−bj)−(bi^−bj^)∣+∣(ei−bj)−(ei^−bj^)∣+∣(ej−bi)−(ej^−bi^)∣+∣(ei−ej)−(ei^−ej^)∣L=L_{dur}(d_k;p)+2L_{rel}(s_{ij};\hat{s_{ij}})\\=-log p_{d_k}+|(b_i-b_j)-(\hat{b_i}-\hat{b_j})|+|(e_i-b_j)-(\hat{e_i}-\hat{b_j})|+|(e_j-b_i)-(\hat{e_j}-\hat{b_i})|+|(e_i-e_j)-(\hat{e_i}-\hat{e_j})|L=Ldur(dk;p)+2Lrel(sij;sij^)=−logpdk+∣(bi−bj)−(bi^−bj^)∣+∣(ei−bj)−(ei^−bj^)∣+∣(ej−bi)−(ej^−bi^)∣+∣(ei−ej)−(ei^−ej^)∣
- The relative timeline model:
- Duration-relation connections
- 我们还尝试了四种架构,其中持续时间模型和关系模型在Dur->Rel或Rel->Dur两个方向中相互连接
- Dur->Rel架构
- 2种方法
- (i)另外将谓词i和谓词j的二项式持续时间概率连接起来
- grelij=[gpredi;gpredj;αreli,jH;pi;pj]g_{rel_{ij}}=[g_{pred_i};g_{pred_j};\alpha_{rel_{i,j}}H;p_i;p_j]grelij=[gpredi;gpredj;αreli,jH;pi;pj]
- (ii)完全不使用关系表示模型。
- grelij=[pi;pj]g_{rel_{ij}}=[p_i;p_j]grelij=[pi;pj]
- (i)另外将谓词i和谓词j的二项式持续时间概率连接起来
- 2种方法
- Rel->Dur架构
- (i)通过连接关系模型中的bk^\hat{b_k}bk^和ek^\hat{e_k}ek^来修改gdurkg_{dur_k}gdurk
- gdurk=[gpredk;αdurkH;bk^;ek^]g_{dur_k}=[g_{pred_k};\alpha_{dur_k}H;\hat{b_k};\hat{e_k}]gdurk=[gpredk;αdurkH;bk^;ek^]
- (ii)我们完全不使用持续时间表示模型,而是使用预测的相对从关系模型获得的持续时间ek^−bk^\hat{e_k}-\hat{b_k}ek^−bk^,并通过二项分布模型。
- πdurk=ek^−bk^\pi_{dur_k}=\hat{e_k}-\hat{b_k}πdurk=ek^−bk^
- (i)通过连接关系模型中的bk^\hat{b_k}bk^和ek^\hat{e_k}ek^来修改gdurkg_{dur_k}gdurk
- Document timelines
- UDST开发集中的文档引入了隐藏的文档时间线,两个方法:
- (i)实际的成对滑块注释actual pairwise slider annotations
- (ii)由UDS-T开发集上性能最佳的模型预测的滑块值。
- 假设一个隐层时间线T∈R+nd×2,2−b和持续时间,nd:文档中谓词的总数T\in \mathbb{R}_+^{n_d\times 2},2-b和持续时间,n_d:文档中谓词的总数T∈R+nd×2,2−b和持续时间,nd:文档中谓词的总数
- 通过锚定所有谓词的起点,使这些潜在时间线与相对时间线相连,以使文档中始终存在以0为起点的谓词,并为每个事件i和j定义辅助变量
- τij=[ti1,ti1+ti2,tj1,tj1+tj2]sij^=τij−min(τij)max(τij−min(τij))(归一化)\tau_{ij}=[t_{i1},t_{i1}+t_{i2},t_{j1},t_{j1}+t_{j2}]\\ \hat{s_{ij}}=\frac{\tau_{ij}-min(\tau_{ij})}{max(\tau_{ij}-min(\tau_{ij}))}(归一化)τij=[ti1,ti1+ti2,tj1,tj1+tj2]sij^=max(τij−min(τij))τij−min(τij)(归一化)
- 根据关系损失为每一个文档学习T
- 进一步约束T:
- 二项式分布来预测持续时间
- πk=σ(clog(tk2))\pi_k=\sigma(clog(t_{k_2}))πk=σ(clog(tk2))
- UDST开发集中的文档引入了隐藏的文档时间线,两个方法:
3.11DSGAN(远程监督,句子级去噪)
- DSGAN
- 目标:区分句子是不是好样本
- 只对标注为T的样本做区分,将FP重新归于负类
- 假设:标注为真的样本,多数为TP
- 生成器:区分句子是TP还是FP,无需监督
- 策略梯度:因为涉及离散采样
- 输入:word-embedding
- 判别器:
- 将生成器生成的样本标注为F
- 原来的样本,标注为T
- 训练判别器
- 如果生成集合中,TP多,而剩余集合中FP多,则鉴别器分类能力下降的很快
- 贡献
- 我们是第一个考虑对抗性学习去噪远程监督关系提取数据集的人。
- 我们的方法是句子级和模式诊断,因此它可以用作任何关系提取器(即插即用技术)。
- 我们证明我们的方法可以在没有任何监督信息下生成一个干净的数据集,从而提高最近提出的神经关系提取器的性能。
- 目标:区分句子是不是好样本
- 预训练:生成器和判别器
* 必须
* 目标:得到更好的初始化参数,容易收敛
* 判别器:远程监督数据集的positive set P和negtive set NDN^DND
* 生成器:
* 预训练到精度达到90%
* 使用P和另一个negtive set NGN^GNG
* 让生成器对P过拟合
* 目标:让生成器在训练过程开始时错误地给出所有有噪声的DS的阳性样本高概率
* 之后会通过对抗学习降低FP的这个概率 - 网络
- CNN:
- 参数比RNN少
- 语言理解能力强
- 输入:句子+实体对
- 使用:word embedding + position embedding
- CNN:
- 生成器
- 与计算机视觉的区别
- 不用生成全新的句子(图),只需要从集合中判别出TP即可
- 是“从概率分布中抽样 ”的离散的GANs
- 与计算机视觉的区别
- 句子sjs_jsj是TP的概率
- 生成器:PG(sj)P_G(s_j)PG(sj)
- 判别器:PD(sj)P_D(s_j)PD(sj)
- 1个epoch扫描一次P
- 更有效的训练+更多反馈
- P–>划分成N个batch
- 处理完一个batch,更新一次参数θG,θD\theta_G,\theta_DθG,θD
- 目标函数
- 生成器
- 对一个batchBiB_iBi,生成器得到他的概率分布{PG(sj)}j=1,...,∣Bi∣\{P_G(s_j)\}_{j=1,...,|B_i|}{PG(sj)}j=1,...,∣Bi∣
- 依据这个概率分布采样,得到集合T
- T={sj},sjPG(sj),j=1,2,...,∣Bi∣T=\{s_j\},s_j~P_G(s_j),j=1,2,...,|B_i|T={sj},sj PG(sj),j=1,2,...,∣Bi∣–对G而言是正样本
- PG(sj)P_G(s_j)PG(sj)大的,是生成器视为正例的句子,但对判别器而言是负例
- 为了挑战判别器,损失函数(最大化):LG=Σsj∈TlogpD(sj)L_G=\Sigma_{s_j\in T}logp_D(s_j)LG=Σsj∈TlogpD(sj)
- LG=Σsj∈TlogpG(sj)L_G=\Sigma_{s_j\in T}logp_G(s_j)LG=Σsj∈TlogpG(sj)–感觉应该是G,原文是D
- 判别器:
- 样本:
- T:对D而言是负样本
- F=Bi−TF=B_i-TF=Bi−T:正样本
- 损失:
- 与二分类相同
- LD=−(Σsj∈(Bi−T)logpD(sj)+Σsj∈Tlog(1−pD(sj)))L_D=-(\Sigma_{s_j\in(B_i-T)}log p_D(s_j)+\Sigma_{s_j\in T}log(1-p_D(s_j)))LD=−(Σsj∈(Bi−T)logpD(sj)+Σsj∈Tlog(1−pD(sj)))(最小化)
- 可以用任何梯度的方法优化
- epoch:
- 与先前工作中的鉴别器的常见设置不同,
- 我们的鉴别器在每个epoch开始时加载相同的预训练参数集
- 原因1:想要的是强大的生成器而不是判别器
- 原因2:生成器只采样,不生成全新的数据
- 所以,判别器相对容易崩溃
- 假设:一个判别器在一个epoch内具有最大的性能下降时,就会产生最稳定的生成器
- 样本:
- 为保证前提条件相同,每个epoch的B相同(batch划分相同)
- 生成器
- 优化
- 生成器:
- 目标:从参数化概率分布中最大化样本的给定函数的期望。(类似一步强化学习)
- 训练:策略梯度策略
- 类比到强化学习中
- sjs_jsj:状态
- PG(sj)P_G(s_j)PG(sj):策略
- 奖励:(两个角度来定义)
- 从对抗训练角度,希望判别器判别生成器生成的为1(但对判别器来说,标注为0)
- r1=1∣T∣Σsj∈TpD(sj)−b1r_1=\frac{1}{|T|}\Sigma_{s_j\in T}p_D(s_j)-b_1r1=∣T∣1Σsj∈TpD(sj)−b1,b1:可以减小方差
- 来自NDN^DND的预测概率的平均值
- p~=1∣ND∣Σsj∈NDpD(sj)\tilde{p}=\frac{1}{|N^D|}\Sigma_{s_j\in N^D}p_D(s_j)p~=∣ND∣1Σsj∈NDpD(sj)
- NDN^DND:参与判别器的预训练过程,但不参与对抗训练过程
- 当判别器的分类能力降低,NDN^DND判别为0的准确率逐渐下降–>p~\tilde{p}p~增加了–>生成器更好
- r2=η(p~ik−b2),b2=maxp~im,m=1,...,k−1r_2=\eta(\tilde{p}_i^k-b_2),b_2=max{\tilde{p}_i^m},m=1,...,k-1r2=η(p~ik−b2),b2=maxp~im,m=1,...,k−1
- 从对抗训练角度,希望判别器判别生成器生成的为1(但对判别器来说,标注为0)
- 梯度:∇θDLG=Σsj∈BiEsj−pG(sj)r∇θGlogpG(sj)=1∣T∣Σsj∈Tr∇θGlogpG(sj)\nabla_{\theta_D}L_G\\=\Sigma_{s_j\in B_i}E_{s_j-p_G(s_j)}r\nabla_{\theta_G}log p_G(s_j)\\=\frac{1}{|T|}\Sigma_{s_j\in T}r\nabla_{\theta_G}log p_G(s_j)∇θDLG=Σsj∈BiEsj−pG(sj)r∇θGlogpG(sj)=∣T∣1Σsj∈Tr∇θGlogpG(sj)
- 类比到强化学习中
- 生成器:
3.12 DIAG-NRE(RL,远程监督,半自动化模式提取)
- 神经模式诊断框架DIAG-NRE
- 为常见的NRE模型在DS和WLF之间构建了桥梁(半自动化模式)
- 目标:减轻模式编写的人工工作量
- 效果:可以和专家协同从噪声数据中总结和改进来得到高质量的关系模式(去噪)
- 减少人类专家的工作量和难度
- 需要的人类注释也少
- 还给噪声的行为提炼出了模式
- 工作流:
- 模式提取:用强化学习从NRE模型中提取潜在的模式
- 模式提炼:人类专家注释一部分主动选择的示例(主动学习,会向人要吗?)
- DIAG-NRE->WLF->NRE Model
- 贡献:
- 通过自动生成模式来简化人类专家的模式编写工作;
- 通过只需要少量的人工注释就可以快速将其归纳为新的关系类型;
- 提出显着和可解释的性能改进以及直观的诊断分析。
- 对大量FN的噪声数据集处理效果好
- 与其他的关系模式挖掘的区别:
- 1)仅基于RL,
- 2)不依赖任何词法或句法注释
- 3)通过预测NRE模型可以了解模式的重要性
- 模式提取
- 构建一个模式提取代理
- 从上述的NRE模型–>提取特定于关系的模式
- 思想:在保证原始目标预测的前提下,擦除无关的token
- 建模:token擦除决策过程,以RL优化(如图3)
- 实例s,第i列(第i个嵌入)
- Action:对每个xi采取行动ai:xi=[wi;pi]−−>xi^=[w^i;pi]x_i=[w_i;p_i]-->\hat{x_i}=[\hat{w}_i;p_i]xi=[wi;pi]−−>xi^=[w^i;pi]
- 行动:0:retaining,1:erasing
- 擦除的i:hatwi=0hat{w}_i=0hatwi=0–删除语义
- 行动序列:a=[a1;a2;...;aT]a=[a_1;a_2;...;a_T]a=[a1;a2;...;aT]–保留下来的token数量为T^\hat{T}T^
- Reward:
- 目标:找到保留原始预测一致性的最简单序列(预测不变的前提下删除更多的token)
- R(a∣x)=log(Pϕ(r∣x^)Pϕ(r∣x))⏟+η(1−T^T)⏟=PredictionConfidence+SparsityR(a|x)={\underbrace{log(\frac{P_{\phi}(r|\hat{x})}{P_{\phi}(r|x)})}}+\underbrace{\eta(1-\frac{\hat{T}}{T})}\\={Prediction Confidence}+{Sparsity}R(a∣x)=log(Pϕ(r∣x)Pϕ(r∣x^))+η(1−TT^)=PredictionConfidence+Sparsity
- State:
- 要求:独立于NRE;应需要合并当前实例的完整信息
- 输入表示x用作状态
- Agent:
- 用基于策略的RL来训练基于神经网络的代理
- 并行计算πΘ(ai∣x):采取某个行动的概率\pi_\Theta(a_i|x):采取某个行动的概率πΘ(ai∣x):采取某个行动的概率
- 行动序列:πΘ(a∣x)=Πi=1TπΘ(ai∣x),Θ:agent网络的参数\pi_\Theta(a|x)=\Pi_{i=1}^T\pi_\Theta(a_i|x),\Theta:agent网络的参数πΘ(a∣x)=Πi=1TπΘ(ai∣x),Θ:agent网络的参数
- 网络:可在决策时丰富上下文信息,双向LSTM:x->h
- h→=[h→1,h→2,...,h→T]=Forward−LSTM(x)h←=[h←1,h←2,...,h←T]=Backward−LSTM(x)h=[h1,h2,...,hT]=Concatenate(h→,h←)\stackrel{\rightarrow}{h}=[\stackrel{\rightarrow}{h}_1,\stackrel{\rightarrow}{h}_2,...,\stackrel{\rightarrow}{h}_T]=Forward-LSTM(x)\\ \stackrel{\leftarrow}{h}=[\stackrel{\leftarrow}{h}_1,\stackrel{\leftarrow}{h}_2,...,\stackrel{\leftarrow}{h}_T]=Backward-LSTM(x)\\ h=[h_1,h_2,...,h_T]=Concatenate(\stackrel{\rightarrow}{h},\stackrel{\leftarrow}{h})h→=[h→1,h→2,...,h→T]=Forward−LSTM(x)h←=[h←1,h←2,...,h←T]=Backward−LSTM(x)h=[h1,h2,...,hT]=Concatenate(h→,h←)
- Attention:将h聚合为c
- ci=Σj=1Tαjihjαji=ejiΣk=1Tekieji=vαTtanh(Wxxi+Whhj)vα是个参数c_i=\Sigma_{j=1}^T\alpha_j^ih_j\\ \alpha_j^i=\frac{e_j^i}{\Sigma_{k=1}^Te_k^i}\\ e_j^i=v_\alpha^Ttanh(W_xx_i+W_hh_j)\\ v_\alpha是个参数ci=Σj=1Tαjihjαji=Σk=1Tekiejieji=vαTtanh(Wxxi+Whhj)vα是个参数
- 最终表示:z=[z1,...,zT],zi=[xi;ci]z=[z_1,...,z_T],z_i=[x_i;c_i]z=[z1,...,zT],zi=[xi;ci]
- 每个行动的概率:
- oi=sigmoid(WoTzi+bo)πΘ(ai∣x)=oiai(1−oi)(1−ai)o_i=sigmoid(W_o^Tz_i+b_o) \\\pi_\Theta(a_i|x)=o_i^{a_i}(1-o_i)^{(1-a_i)}oi=sigmoid(WoTzi+bo)πΘ(ai∣x)=oiai(1−oi)(1−ai)
- 优化
- 强化学习算法+策略梯度方法来优化参数
- 关键:梯度公式+BP
- 目标函数:L(Θ)=Es[EπΘ(a∣x)R(a∣x)]L(\Theta)=E_s[E_{\pi_\Theta(a|x)}R(a|x)]L(Θ)=Es[EπΘ(a∣x)R(a∣x)]
- 梯度:∇ΘL(Θ)\nabla_\Theta L(\Theta)∇ΘL(Θ)
- 平衡:利用ϵ贪婪技巧来平衡勘探和开发
- 模式归纳
- 给定实体和ai:
- 用相应实体类型替换原始实体对
- 评估代理–>保留了相对距离的保留token(如图3)
- 擦除的替换为PAD
- 为了启用通用位置只是,将两个保留token之间的相对距离分为四类
- 0距离
- 短距离(1-3)
- 中距离(4-9)
- 长距离(>10
- 这种格式,可以包含多种信息:(实体类型,关键token,相对距离)
- 给定实体和ai:
- 构建一个模式提取代理
- 模式优化
-
人类在循环之中,系统会向人类求助(主动学习)
-
模式层次结构Pattern Hierarchy.
- 模式提取:实例级别
- 数据集级别:聚合后存在冗余
- 使用模式层次结构合并冗余模式
- 层次结构:父模式涵盖了子模式匹配的所有实例
- 若父已经有了足够的关系支持信号,则可不用人工标注子模式
-
Human Annotation.
- 通过人类专家注释少量主动选择的实例
- 为了定量评估模式的质量
- 系统请求nr∗nan_r*n_anr∗na个模式的人类标注
- 代表性越高,模式涵盖的实例数越多–按模式的实例数选择最具代表性的nrn_rnr个模式
- 一个关系nrn_rnr个模式
- 每个模式,随机选出nan_ana个实例进行人类标注
- 代表性越高,模式涵盖的实例数越多–按模式的实例数选择最具代表性的nrn_rnr个模式
- 质量分类
- 正模式集合:精度>ph>p_h>ph
- 负模式集合:<pl<p_l<pl(和实例匹配不好的模式)
- 划分是为了WLF
- 超参数:(nr,na,ph,pl)(n_r,n_a,p_h,p_l)(nr,na,ph,pl)
-
- 弱标签融合
- 目标:融合来自多个标签来源(包括DS和模式)的弱标签,以产生去噪标签。
- 本文WLF中采用data programing(DP)(Ratner et al。,2016)
- DP输入单元:标签函数
- 输入实例
- 输出标签:(+1:正,-1:负或0:未知)
- 本文中
- DS:+1,-1,0
- 正模式集合:+1,0
- 负模式集合:-1,0
- 训练:在少量人类标注的标签上训练
- 由此获得了去噪标签
3.13 CNN+MTL+Tag(关系识别关系分类联合模型,多任务,不平衡数据)
- CNN+MTL+Tag:Ye, W., et al. (2019)
- 动机:
- 数据不平衡
- 区分识别正负例很重要
- 先识别再分类比直接分类更容易
- 一个句子有多个关系和实体
- 数据不平衡
- 做法
- 训练一个关系识别与关系分类的联合模型(多任务体系结构)
- 关系识别:交叉熵
- 关系分类:rank loss
- 使用BIO-embedding来丰富输入表示
- 实体出现在句子中的模式,可以提供有用的语义信息
- 训练一个关系识别与关系分类的联合模型(多任务体系结构)
- 贡献:
- 多任务体系结构
- 1.我们提出了一种多任务体系结构,该体系结构共同训练模型以执行具有交叉熵损失的关系识别和具有等级损失的关系分类任务,从而可以成功减轻具有过多负面实例的负面影响。
- BIO-embedding
- 2.我们结合了NER任务中按字符/按词的BIO标签的嵌入,以丰富输入表示,这不仅对我们的模型而且对其他模型也非常有效。我们认为BIO标签嵌入可能是字符/单词表示的通用部分,就像近年来许多研究人员将使用的实体位置嵌入(Zeng等,2014)一样。
- 多任务体系结构
- 架构
- 中文:以字处理
- 英文:按单词处理
- 输入:
- 一个句子
- 句子中的实体(多个)
- 目标实体(e1,e2)–想要预测这两个实体之间的关系
- 嵌入:拼接(dw+2dp+dt)
- word-emebdding:随机初始化,dw
- position embedding:与目标实体的相对距离,dp
- BIO embedding:实体的标注序列–嵌入(BIO),dt
- 卷积层
- 多卷积核
- 对每一个卷积核F=[f1,f2,...,fk]F=[f_1,f_2,...,f_k]F=[f1,f2,...,fk](窗口大小k)
- 输入序列长n(句子长)
- 运算:ti=g(Σj=0k−1fj+1Twj+i+b)t_i=g(\Sigma_{j=0}^{k-1}f_{j+1}^Tw_{j+i}+b)ti=g(Σj=0k−1fj+1Twj+i+b)
- 输出的序列T={t1,t2,...,tn−k+1}T=\{t_1,t_2,...,t_{n-k+1}\}T={t1,t2,...,tn−k+1}
- 本文使用了padding保证句子长不变,输出仍为n(表示为c)
- 最大池化:对每个通道池化减少维数
- 输出表示为r,维度为过滤器的总数(卷积核的个数* 每个卷积核的数量)
- 多任务层
- 关系识别:交叉熵
- 正例1,负例-1,
- 预测q(分类器输出)和实际p(one-hot表示)
- 交叉熵:H(p,q)=−Σc∈Cp(c)log(q(c))H(p,q)=-\Sigma_{c\in C}p(c)log(q(c))H(p,q)=−Σc∈Cp(c)log(q(c))
- 损失函数:loss1=−Σ(p(1)log(q(1)+p(0)log(q(0)))loss_1=-\Sigma(p(1)log(q(1)+p(0)log(q(0)))loss1=−Σ(p(1)log(q(1)+p(0)log(q(0)))
- 关系分类:rank loss
- the pairwise ranking loss (dos Santos et al., 2015)
- 得分:sc=rT[Wclasses]cs_c=r^T[W^{classes}]_csc=rT[Wclasses]c
- W^{classes}:要学习的矩阵,对应于class c的列向量,维度=r的维度、
- 上一层的输出句子的表示r,其类别为c的得分
- 损失函数:
- L+=log(1+exp(γ(m+−sy+)))L−=log(1+exp(γ(m−+sy−)))其在正确的类别标签y+,不正确的类别标签y−,m+,m−为边距marginsy+增加L+降低,当sy+>m+时,L+趋近于0sy−减少L−降低,当sy−<−m+时,L−趋近于0鼓励sy+>m+且sy−<−m+L^+=log(1+exp(\gamma(m^+-s_{y^+})))\\ L^-=log(1+exp(\gamma(m^-+s_{y^-})))\\ 其在正确的类别标签y^+,不正确的类别标签y^-,m^+,m^-为边距margin\\ s_{y^+}增加L^+降低,当s_{y^+}>m^+时,L^+趋近于0 s_{y^-}减少L^-降低,当s_{y^-}<-m^+时,L^-趋近于0\\ 鼓励s_{y^+}>m^+且s_{y^-}<-m^+L+=log(1+exp(γ(m+−sy+)))L−=log(1+exp(γ(m−+sy−)))其在正确的类别标签y+,不正确的类别标签y−,m+,m−为边距marginsy+增加L+降低,当sy+>m+时,L+趋近于0sy−减少L−降低,当sy−<−m+时,L−趋近于0鼓励sy+>m+且sy−<−m+
- 对负例,仅计算L−L^-L−
- 正确的类:得分高的
- loss2=Σ(L++L−)loss_2=\Sigma(L^++L^-)loss2=Σ(L++L−)
- 得分:sc=rT[Wclasses]cs_c=r^T[W^{classes}]_csc=rT[Wclasses]c
- the pairwise ranking loss (dos Santos et al., 2015)
- 总的损失函数L=αloss1+βloss2L=\alpha loss_1+\beta loss_2L=αloss1+βloss2
- 预测
- P={argmaxc(sc)max(sc)≥θOthermax(sc)<θP=\begin{cases}argmax_c(s_c)&& max(s_c)\geq \theta\\ Other&&max(s_c)<\theta \end{cases}P={argmaxc(sc)Othermax(sc)≥θmax(sc)<θ
- 关系识别:交叉熵
- 动机:
3.14 基于图的walk方法,句子内多关系,考虑关系间作用,2018
- Christopoulou, F., et al. (2018)
- 模型:基于图的walk-based神经网络
- 用于:句子内存在多个实体对的情况
- 特点:
- 可以同时处理句内多个对的情况
- 考虑他们之间的相互作用
- 构建图:
- 节点:实体(句子内的所有实体)
- 边:全联接的,用实体对周围的位置敏感上下文(position-aware contexts)表示
- walk
- 步长:1–为了考虑两个实体间的不同关系路径
- 扩散迭代
- 假设:实体间的关系,可以直接获取,也可通过其他相关对间接获得(如图1)
- 例子中实体间以介词链接
- 图的方法:从已有关系推断新的关系
- 问题:关系抽取没有预先定义的关系,
- 建立图:
- 节点:实体提及
- 边:有向边:实体提及的有序对
- 初始化:实体提及+上下文(注意力机制)
- 迭代:聚合得到两个实体间最多步长1的表示
- 贡献:
- 提出:基于图形和walk的神经网络模型,考虑了同一个句子多个实体对之间的关系
- 迭代算法:边的构建(聚合得到两个实体间最多步长1的表示)
- 不使用外部工具下,效果与最新的模型好
- 本文
- 总目标:通过使用实体对之间的中间关系链来支持实体对之间的关系
- 实现
- 输入:单词的表示
- 输出:句子中每对实体对的表示
- 做法:将目标对、上下文单词、它们相对实体的位置和它们之间的walk结合起来分类(提取关系)
- 结构
- 嵌入层,
- 单词:嵌入向量w,维度:nwn_wnw
- 语义实体类型:嵌入向量t,维度:ntn_tnt—(BIO嵌入??还是什么)
- 相对位置:嵌入向量p,维度:npn_pnp
- BLSTM层,
- 输入:word embedding
- 输出:h(单词表示,考虑了单词序列)
- et=[h←t;h→t]e_t=[\stackrel{\leftarrow}{h}_t;\stackrel{\rightarrow}{h}_t]et=[h←t;h→t]
- tip:不在BLSTM层编码目标对依赖信息
- 降低成本(句子数目小于对的数目
- 可在句子对中共享序列层:使模型可以间接地学习同一句子中相对词之间的隐藏依赖关系
- 边表示层,
- 实体表示:
- e=1∣I∣Σi∈IeiI是组成实体e的单词索引的集合e=\frac{1}{|I|}\Sigma_{i\in I} e_i\\I是组成实体e的单词索引的集合e=∣I∣1Σi∈IeiI是组成实体e的单词索引的集合
- 实体表示(单词层面)、类型表示ti和相对位置
- 实体一vi=[ei;ti;pij]实体二vj=[ej;tj;pji]实体一v_i=[e_i;t_i;p_{ij}]\\实体二v_j=[e_j;t_j;p_{ji}]实体一vi=[ei;ti;pij]实体二vj=[ej;tj;pji]
- 上下文表示:vijzv_{ijz}vijz实体i和实体j的第z个上下文
- vijz=[ez;tz;pzi;pzj]v_{ijz}=[e_z;t_z;p_{zi};p_{zj}]vijz=[ez;tz;pzi;pzj]
- 组成一个三维的矩阵C(长i,宽j,深度为z)
- attention
- u=qTtanh(Cij)α=softmax(u)cij=CijαTu=q^Ttanh(C_{ij})\\ \alpha=softmax(u)\\ c_{ij}=C_{ij}\alpha^Tu=qTtanh(Cij)α=softmax(u)cij=CijαT
- !!:该注意机制与关系类型无关。我们将依赖关系的关注作为未来的工作。
- 链接:全连接层
- vij(1)=Ws[vi;vj;cij]v_{ij}^{(1)}=W_s[v_i;v_j;c_{ij}]vij(1)=Ws[vi;vj;cij](边,或实体之间长度1的表示)
- 目的:减少向量的维度
- 实体表示:
- 步行聚合层(walk aggregation layer)
- 目标:为两个目标实体之间的有限数量的不同长度步行生成单个表示
- 有向图:句子
- 节点:实体
- 边:实体之间的关系表示vij(1)v_{ij}^{(1)}vij(1)
- 目标对之间的长度1walk的表示vij(1)v_{ij}^{(1)}vij(1) ,用于构建块,一边在该对之间创建和聚合one-to-l length walk
- 基于walk的算法
- walk 构建
- f(vik(λ),vkj(λ))=σ(vik(λ)⊙(Wbvik(λ))),⊙:逐元素乘法f(v_{ik}^{(\lambda)},v_{kj}^{(\lambda)})=\sigma(v_{ik}^{(\lambda)}\odot(W_bv_{ik}^{(\lambda)})),\odot:逐元素乘法f(vik(λ),vkj(λ))=σ(vik(λ)⊙(Wbvik(λ))),⊙:逐元素乘法
- walk的长度变为:2−2λ2-2\lambda2−2λ
- vik(λ)的长度为:1−λv_{ik}^{(\lambda)}的长度为:1-\lambdavik(λ)的长度为:1−λ
- f(vik(λ),vkj(λ))=σ(vik(λ)⊙(Wbvik(λ))),⊙:逐元素乘法f(v_{ik}^{(\lambda)},v_{kj}^{(\lambda)})=\sigma(v_{ik}^{(\lambda)}\odot(W_bv_{ik}^{(\lambda)})),\odot:逐元素乘法f(vik(λ),vkj(λ))=σ(vik(λ)⊙(Wbvik(λ))),⊙:逐元素乘法
- walk 聚合
- vij(2λ)=βvij(λ)+(1−β)Σk≠i,jf(vik(λ),vkj(λ))v_{ij}^{(2\lambda)}=\beta v_{ij}^{(\lambda)}+(1-\beta)\Sigma_{k\neq i,j}f(v_{ik}^{(\lambda)},v_{kj}^{(\lambda)})vij(2λ)=βvij(λ)+(1−β)Σk=i,jf(vik(λ),vkj(λ))
- 从λ=1\lambda=1λ=1开始,使用上式,得到λ=2,重复至2λ=l,达到所需最大路径长度\lambda=2,重复至2\lambda=l,达到所需最大路径长度λ=2,重复至2λ=l,达到所需最大路径长度
- 理解:i-j联合i-k-j的路径,综合得到i-j的表示。迭代多次,趋于收敛
- walk 构建
- 最终的分类层
- y=softmax(Wrvij(l)+br),Wr∈Rnb×nry=softmax(W_rv_{ij}^{(l)}+b_r),W_r \in R^{n_b\times n_r}y=softmax(Wrvij(l)+br),Wr∈Rnb×nr
- nb是vij(l)的维度,nr:关系总数n_b是v_{ij}^{(l)}的维度,n_r:关系总数nb是vij(l)的维度,nr:关系总数
- 2r+1个类:考虑双向+一个无关系
- y=softmax(Wrvij(l)+br),Wr∈Rnb×nry=softmax(W_rv_{ij}^{(l)}+b_r),W_r \in R^{n_b\times n_r}y=softmax(Wrvij(l)+br),Wr∈Rnb×nr
- 嵌入层,
3.15 BiLSTM-ED+CNN,2017
- LSTM-ED+CNN
- 优点:
- 联合模型:无错误传递
- 混合神经网络:不用nlp工具(依赖树)
- LSTM-decoder:可以获取标签之间的长关系依赖
- 结构
- 共享编码层:BiLSTM,获取实体的上下文信息
- 实体抽取:LSTM解码器
- decoder:也用Lstm,可以获得标签之间的长关系
- 关系分类:CNN
- 优点:
- NER:LSTM decoder
- 输入:
- BiLSTM encoder:hth_tht
- 先前预测的标签:Tt−1T_{t-1}Tt−1
- decoder的前隐藏状态:st−1s_{t-1}st−1
- LSTM
- LSTM的公式
- it=δ(Wxiht+Whist−1+WtiTt−1+bi)<−−−这个变了ft=δ(Wxfxt+Whfst−1+Wcfct−1+bf)zt=tanh(Wxcxt+Whcst−1+bc)ct=ftct−1+itztot=δ(Wxoxt+Whoht−1+Wcoct+bo)st=ottanh(ct)i_t=\delta(W_{xi}h_t+W_{hi}s_{t-1}+W_{ti}T_{t-1}+b_i)<---这个变了\\ f_t=\delta(W_{xf}x_t+W_{hf}s_{t-1}+W_{cf}c_{t-1}+b_f)\\ z_t=tanh(W_{xc}x_t+W_{hc}s_{t-1}+b_c)\\ c_t=f_tc_{t-1}+i_tz_t\\ o_t=\delta(W_{xo}x_t+W_{ho}h_{t-1}+W_{co}c_t+b_o)\\ s_t=o_ttanh(c_t)it=δ(Wxiht+Whist−1+WtiTt−1+bi)<−−−这个变了ft=δ(Wxfxt+Whfst−1+Wcfct−1+bf)zt=tanh(Wxcxt+Whcst−1+bc)ct=ftct−1+itztot=δ(Wxoxt+Whoht−1+Wcoct+bo)st=ottanh(ct)
- 转换Tt=Wtsst+btsT_t=W_{ts}s_t+b_{ts}Tt=Wtsst+bts
- softmax:
- yt=WyTt+byy_t=W_yT_t+b_yyt=WyTt+by
- pti=exp(yti)Σj=1ntexp(ytj)p_t^i=\frac{exp(y_t^i)}{\Sigma_{j=1}^{nt}exp(y_t^j)}pti=Σj=1ntexp(ytj)exp(yti)
- LSTM的公式
- 因为T类似于tag embedding,而LSTM可以学习长期依赖–>类似于标签交互
- 输入:
- CNN
- 输入:LSTM编码出来的,实体的隐层表示h和实体之间的单词的嵌入表示q
- CNN:R=CNN([he1,we1,we1+1...we2,he2])R=CNN([h_{e1},w_{e1},w_{e1+1}...w_{e2},h_{e2}])R=CNN([he1,we1,we1+1...we2,he2])
- s=[he1,we1,we1+1...we2,he2]卷积:zl(i)=σ(Wc(i)×sl:l+k−1+br(i)),filters的尺寸(k,d),i−−第i个filters结果:z(i)=[z1(i),...,zl−k+1(i)]max−pooling:zmax(i)=max{z(i)}=max{z1(i),...,zl−k+1(i)}s=[h_{e1},w_{e1},w_{e1+1}...w_{e2},h_{e2}]\\ 卷积:z_l^{(i)}=\sigma(W_c^{(i)}\times s_{l:l+k-1}+br^{(i)}),filters的尺寸(k,d),i--第i个filters\\ 结果:z^{(i)}=[z^{(i)}_1,...,z^{(i)}_{l-k+1}]\\ max-pooling:z_{max}^{(i)}=max\{z^{(i)}\}=max\{z^{(i)}_1,...,z^{(i)}_{l-k+1}\}s=[he1,we1,we1+1...we2,he2]卷积:zl(i)=σ(Wc(i)×sl:l+k−1+br(i)),filters的尺寸(k,d),i−−第i个filters结果:z(i)=[z1(i),...,zl−k+1(i)]max−pooling:zmax(i)=max{z(i)}=max{z1(i),...,zl−k+1(i)}–把句子长度所在的维度pool了,获取最显著特征
- 结合多个卷积核(softmax+dropout)
- Rs=[zmax(1),...,zmax(nr)]R_s=[z_{max}^{(1)},...,z_{max}^{(nr)}]Rs=[zmax(1),...,zmax(nr)]
- yr=WR⋅(Rs∘r)+bR−−∘是元素级乘法y_r=W_R\cdot (R_s\circ r)+b_R--\circ是元素级乘法yr=WR⋅(Rs∘r)+bR−−∘是元素级乘法
- pri=exp(yri)Σj=1ncexp(yrj)p_r^i=\frac{exp(y_r^i)}{\Sigma_{j=1}^{nc}exp(y_r^j)}pri=Σj=1ncexp(yrj)exp(yri)
- !!:
- 实体内有多个单词:隐层表示(h)相加以表示实体向量
- 目标函数:最大化似然函数
- ner:Lner=maxΣj=1∣D∣Σt=1Ljlog(pt(j)=yt(j)∣xj,Θner)L_{ner}=max\Sigma_{j=1}^{|D|}\Sigma_{t=1}^{L_j}log(p_t^{(j)}=y_t^{(j)}|x_j,\Theta_{ner})Lner=maxΣj=1∣D∣Σt=1Ljlog(pt(j)=yt(j)∣xj,Θner)
- RC:Lrc=maxΣj=1∣D∣log(pr(j)=yr(j)∣xj,Θrc)L_{rc}=max\Sigma_{j=1}^{|D|}log(p_r^{(j)}=y_r^{(j)}|x_j,\Theta_{rc})Lrc=maxΣj=1∣D∣log(pr(j)=yr(j)∣xj,Θrc)
- 先训练ner,再训练RC
- 如果两个实体的距离>LmaxL_{max}Lmax,则不可能存在关系如图4
- 优化方法:Hinton在[52]中提出的RMSprop
4.关系提取
数据集
4.1 句子级
- TACRED数据集:(收费的-可能的购买链接?)
- 介绍
- TACRED数据集有超过106K个实例,它引入了41种关系类型和一种特殊的“无关系”类型来描述实例中提及对之间的关系。主题提及分为“个人”和“组织”两类,而对象提及分为16种细粒度类型,包括“日期”、“位置”等。
- 大型句子级提取任务
- 使用过它的model:
- AGGCNs
- (Zhang et al., 2018)
- 介绍
- Smeval-10 Task 8
- 句子级提取任务
- 介绍
- 它包含10717个实例,包含9个关系和一个特殊的“other”类。
- 比TACRED小,仅为1/10
- 使用过它的model:
- AGGCNs
- (Hendrickx et al., 2010)
4.2 文档级-句间关系提取
-
化学-疾病关系数据集(CDR):
- CDR数据集是为BioCreative V challenge开发的文档级、句间关系提取数据集(Wei et al., 2015)。
- 应用于此的:
- Sahu, S. K., et al. (2019)
- 得分函数:bi-affine pairwise scoring to detect relations.
- model(对比)
- SVM (Xu et al., 2016b),
- ensemble of feature-based and neural-based models (Zhou et al., 2016a),
- CNN and Maximum Entropy (Gu et al., 2017),
- Piece-wise CNN (Li et al., 2018)
- Transformer (Verga et al., 2018)
- CNN-RE, a re-implementation from Kim (2014) and Zhou et al. (2016a)
- RNN-RE, a reimplementation from Sahu and Anand (2018).
- Sahu, S. K., et al. (2019)
-
CHR数据集(Sahu, S. K., et al. (2019).)
- 来自PubMed摘要和题目名
- 数据集由来自PubMed的12094篇摘要及其标题组成。化学品的注释是使用语义分面搜索引擎Thalia的后端执行的。化合物是从注释实体中选择的,并与图形数据库Biochem4j保持一致,Biochem4j是一个免费可用的数据库,集成了UniProt、KEGG和NCBI分类法等多种资源。如果在Biochem4j中识别出两个相关的化学实体,则它们将被视为数据集中的阳性实例,否则将被视为阴性实例。总的来说,语料库包含超过100,000个注释的化学物质和30,000个反应。
-
DocRED
- 基线+docRED数据集
- 介绍
- 用于:大规模文档集句间关系提取
- 来源:wikipedia和wikidata
- 特征:
- 标记实体和关系,文档集最大的人类标注纯文本数据集
- 要求从多个句子中提取实体并推断关系
- 提供大规模远程监督数据,使之可用于监督和弱监督情景
4.3 n-ary关系
- PubMed (Peng et al., 2017)
- n元关系
- 包含从PubMed中提取的6,987个三元关系实例和6,087个二元关系实例。
- 介绍
- 大多数实例包含多个句子,每个实例都被分配了以下五种标签中的一种,包括抵抗或不响应、灵敏度、响应、抵抗和无。我们考虑两个具体的评价任务,即:二类n元关系提取和多类n元关系提取。对于二元n元关系提取,(Peng et al., 2017)将四个关系类分组为yes,将none处理为no来对多类标签进行二值化。
- model
- AGGCNs
- (Peng et al., 2017)
4.4 层次关系
- RESUME的新数据集。
- 我们从IPO招股说明书中描述管理团队的章节中提取了841段。
- 每个段落都描述了一位高管的一些工作经历。
- 我们希望从简历中提取结构数据。
- 四种类型的实体:
- 人(行政人员的姓名),
- 公司(行政人员工作/工作的公司),
- 职位(他/她持有/持有的职位)和
- 时间(执行的时间段)占据/占据那个位置)。
- 值得注意的是,一个人可以在不同的时间段内为不同的公司工作,并且一个人可以在不同的时间段内为同一公司担任不同的职位。
4.5 其他
-
数据集
- Reidel dataset(Riedel et al。,2010)
- Freebase的三元组+NYT的句子
- Reidel dataset(Riedel et al。,2010)
-
UW
- 远程监督
-
NYT
- NYT2
- NYT
- 用于
- 传统信息抽取
- 开放信息抽取
- 远程监督
- 介绍https://pan.baidu.com/s/1Mu46NOtrrJhqN68s9WfLKg
- NYT数据集是关于远程监督关系抽取任务的广泛使用的数据集。该数据集是通过将freebase中的关系与纽约时报(NYT)语料库对齐而生成的。纽约时报New York Times数据集包含150篇来自纽约时报的商业文章。抓取了从2009年11月到2010年1月纽约时报网站上的所有文章。在句子拆分和标记化之后,使用斯坦福NER标记器(URL:http://nlp.stanford.edu/ner/index.shtml)来标识PER和ORG从每个句子中的命名实体。对于包含多个标记的命名实体,我们将它们连接成单个标记。然后,我们将同一句子中出现的每一对(PER,ORG)实体作为单个候选关系实例,PER实体被视为ARG-1,ORG实体被视为ARG-2。
- 数据集有53个关系,包括N A关系,表示实例关系不可用。
- 训练集有522611个句子,281270个实体对和18252个关系事实。在测试集中,有172448个句子,96678个实体对和1950个关系事实。
- GraphRel用
- (Lin等人,2016; Liu等人,2017; Wu等人,2017; Feng) et al。,2018)。
- Zhang, N., et al. (2019)
- DISTRE
-
WebNLG
- python
-
- GraphRel用
- GraphRel用
-
ACE04定义了7种实体类型,包括人员(PER),组织(ORG),地理实体(GPE),位置(loc),设施(FAC),武器(WEA)和车辆(VEH)。
- 对于每对实体,它定义了7个关系类别,包括物理(PHYS),人 - 社会(PERSOC),就业 - 组织(EMP-ORG),代理 - 工件(ART),PER / ORG Affliation(OTHER-AFF) ,GPE- Affliation(GPE-AFF)和话语(DISC)。
-
ACE05建立在ACE04之上。
- ACE 2005
- 7种实体+6种关系
- 它保留了ACE04的PER-SOC,ART和GPE-AFF类别,但将PHYS分为PHYS和新的关系类别PART-WHOLE。
- 它还删除了DISC,并将EMP-ORG和OTHER-AFF合并为一个新的EMP-ORG类别。
- 数据不平衡
- 正负例分错:30.20%FN,62.80%FP和7.00%分类错,所以区分正负例很重要
- 一个句子多个实体:平均每个句子中有4.9个实体和1.34个关系提及
- 句子内多个关系
- ACE 2005
-
至于CoNLL04,
- 它定义了四种实体类型(LOC,ORG,PER和OTHERS)和
- 五种关系类别(LOCATED IN,WORK FOR,ORGBASED IN,LIVE IN)和KILL)。
-
对于ACE04和ACE05,我们遵循Li和Ji(2014)以及Miwa和Bansal(2016)4中的培训/开发/测试分组。
-
ecml数据集–Freebase与NYT对齐
- 远程监督
- Distant Supervision for Relation Extraction with Sentence-Level Attention and Entity Descriptions
不平衡
4.6中文
- 中文的数据集
- Chinese SanWen (Xu et al., 2017), code的data
- 包含837篇中国文献文章中的9种关系类型,其中695篇文章用于培训,84篇用于测试,其余58篇用于验证。ACE 2005数据集是从新闻专线,广播和网络日志中收集的,包含8023个关系事实和18个关系子类型。我们随机选择75%来训练模型,剩下的用于评估。
- ACE 2005 Chinese corpus (LDC2006T06)
- FinRE.
- 为了在测试域中实现更多样化,我们在新浪财经2中手动注释来自2647个财务新闻的FinRE数据集,分别用13486,3727和1489个关系实例进行培训,测试和验证。FinRE包含44个不同的关系,包括特殊关系NA,表示标记的实体对之间没有关系。
- Chinese SanWen (Xu et al., 2017), code的data
4.7 时间关系(事件的)
- TEMPROB
- 引入动词之间的前后关系(时间顺序
- 引入这类常识的先验知识
- EventCausality
- 可以转化为时间关系的(因果->时间
- 时间关系数据集
- 大多基于TimeML标准的
- TimeBank
- 是使用此标准构建的最早的大型语料库之一,
- 旨在捕获事件之间的“显着”时间关系(Pustejovsky等,2003)
- 稀疏
- TemEval比赛(有数据集
- covering relations between all the events and times in a sentence.
- 基于TimeBank
- TimeBank-Dense
- 这种稀疏性已通过语料库解决
- 其中注释器标记了所有本地边缘,而无歧义(Cassidy等,2014)。
- TimeBank-Dense不会捕获事件和时间关系上的完整图形,
- 而是试图通过捕获一个句子内以及相邻句子之间的所有关系来实现完整性。
- <—本文的灵感
- Hong et al. (2016) build a cross-document event corpus
- 涵盖了细粒度的事件-事件关系和具有更多事件类型和子类型的角色
- (另见Fokkens等人,2013)。
- TimeBank
- UDS-T数据集(本文)
- 结果数据集-通用分解语义时间(UDS-T)-是迄今为止最大的时间关系数据集,
- 比基于TimeML标准的好
- 涵盖了所有的通用依赖性(Silveira等人,2014; De Marneffe等人,2014; Nivre等人,2015 )English Web Treebank(Bies等,2012)。
- UD-EWT的优点:
- (i)涵盖了各种流派的文本;
- (ii)它包含黄金标准的通用依赖性解析;
- (iii)它与使用相同谓词提取标准的各种其他语义注释兼容
- (White等人,2016; Zhang等人,2017; Rudinger等人,2018; Govindarajan等人,2019)。
- UD-EWT的优点:
- 大多基于TimeML标准的
5.各种model的效果
- 基于特征的model
- 对于不平衡的数据集:倾向于得到更高的precision,但recall低
- 神经model:
- 可以得到一个均衡的precision和recall
5.1 n-ary
5.1.1 PubMed (Peng et al., 2017)
- cross是句间
- single是句内
5.2 句子级别
5.2.1 TACRED
5.2.2 SemEval
5.3 文档级别(句子间)
5.3.1CDR
- CDR
- 得分函数:bi-affine pairwise scoring to detect relations.
- model
- SVM (Xu et al., 2016b),
- ensemble of feature-based and neural-based models (Zhou et al., 2016a),
- CNN and Maximum Entropy (Gu et al., 2017),
- Piece-wise CNN (Li et al., 2018)
- Transformer (Verga et al., 2018)
- CNN-RE, a re-implementation from Kim (2014) and Zhou et al. (2016a)
- RNN-RE, a reimplementation from Sahu and Anand (2018).
5.3.2 CHR
- CDR
- 得分函数:bi-affine pairwise scoring to detect relations.
- model
- SVM (Xu et al., 2016b),
- ensemble of feature-based and neural-based models (Zhou et al., 2016a),
- CNN and Maximum Entropy (Gu et al., 2017),
- Piece-wise CNN (Li et al., 2018)
- Transformer (Verga et al., 2018)
- CNN-RE, a re-implementation from Kim (2014) and Zhou et al. (2016a)
- RNN-RE, a reimplementation from Sahu and Anand (2018).
5.3.3 DocRED
5.4层次关系
- RESUME
5.5其他
5.5.1 NYT
- APCNN+D(2017,远程监督)
- GraphRel–用于重叠关系
- PCNN/CNN+KATT–用于长尾关系
- DIAG-NRE(远程监督去噪)
5.5.2 WebNLG
5.5.3 ACE(不平衡数据,一个句子多个实体)
- BiLSTM-ED+CNN,2017
- multi-turn QA
5.5.3.1 ACE2005
- Christopoulou, F., et al. (2018)
- MTL+BIO tag
- 中文
- MTL+BIO tag
- MTL+BIO tag
5.5.3.1.2用于跨领域关系抽取
- 使用过这个数据集的:
- (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的另外一半
- –研究跨领域关系抽取
- 多数模型使用word2vec
- 语法结构作用重大:基于结构的模型>基于序列的模型 and 基于特征的模型
- CEON-LSTM:在各个领域表现都好,对RE有效
- 使用p<0.01,
- * 一起训练还是只用来初始化word embedding?
- EA-BERT是Entity-Aware BERT
- Bert有用:和表1比,均有提升
- CEON-LSTM:在各个领域表现都好,对RE有效
* 使用p<0.01,
5.5.4 CoNLL-04
5.5.5 UW
- DIAG-NRE(远程监督去噪)
5.6中文
5.7时间关系
6.nlp工具
- 句子拆分:GENIA Splitter
- 句子标记:GENIA tagger (Tsuruoka et al., 2005)
- 词性标注+依赖树
- spaCy(Honnibal and Johnson, 2015)
- stanford词性标注
- 词性含义
- 句法依赖:使用带有谓词-参数结构的Enju语法分析器(Miyao和Tsujii, 2008)获得了句法依赖关系。
- 指代消解:使用Stanford CoreNLP软件构建Coreference类型边缘(Manning et al., 2014)。
一个联合抽取的汇总介绍