Neural Language Modeling for Contextualized Temporal Graph Generation翻译
摘要
本文介绍了使用大规模预训练的语言模型来自动生成文档的事件级时间图的研究。尽管NLP任务中神经预训练方法取得了巨大成功,但其对事件图中时间推理的潜力并未得到充分探索。部分原因是难以获得具有人类标注的事件和时间链的大型训练语料。为了解决这一问题,我们通过使用现有的 IE/NLP工具来自动生成大量(89,000)的系统生成的 document-graph对,并提出了一种新的形式,以将上下文图生成问题作为sequence-to-sequence映射任务,从而使我们能够利用系统生成的训练数据微调预训练语言模型。我们的实验表明,我们的方法在生成结构和语义丰富的图方面非常有效。此外,对具有挑战性的手工标记,领域外语料的评估表明,我们的方法在几个度量标准上大幅度超过了现有方法。我们还通过调整它来回答阅读理解场景中的开放式时间问题,同样显示了我们方法在下游应用上的有效性。
1.介绍
事件图的时间推理对于分析复杂事件之间的相互作用并产生文本数据的相干解释至关重要。有一个有关在各种重要应用领域中使用时间信息的研究,包括主题检测和跟踪,信息提取,解析临床记录,话语分析和问答。
图是表示事件中的时间顺序的自然选择,其中节点是各个事件,并且边捕获诸如“之前”,“之后”或“同时”的时间关系。从文本文件中自动提取这些图形的代表性工作包括Chambers and Jurafsky (2009) 的早期工作,其主要关注从一系列文件的集合中构建事件链。一些最近工作的CAEVO和Cogcomptime,则是从输入文档中提取图。这些方法侧重于基于规则和统计的子模块,以提取动词中心的事件和它们之间的时间关系。作为NLP的新兴领域,大规模的预训练语言模型在解决挑战性的任务中(如常识知识图补全和面向任务的对话生成)已经取得了巨大成功。这些系统通常在特定任务的语料库上对大型语言模型进行微调。然而,尚未有工作来研究如何将这些技术用于时间图提取。
本文侧重于为每个文档生成事件级时间图的问题,并将此任务称为上下文图生成。我们通过提出下新的任务重定义,以将该任务作为序列到序列映射问题来解决这一开放挑战,这使我们能够为我们的任务利用大型预训练模型。此外,与现有方法不同,我们所提出的方法是完全端到端的,并消除了传统方法通常使用的子系统管道的需求。
我们还解决了一项相关的公开挑战任务,这是解决我们主要目标的先决条件:难以获得大量具有人类标注的事件和时间关系的训练图。为此,我们通过使用CAEVO自动生成大量的document-graph对,然后再使用一些基于规则的后处理步骤,用于修剪和去噪。然后,我们将每个训练对中的以DOT格式表示的字符串图进行编码,以将text-to-graph映射转换为 sequence-to-sequence映射。我们在document-graph对的这个数据集上微调GPT-2,这在系统生成测试集训练的强大基线上产生了大的性能增益,并且在TimeBankDense上多个度量标准中超过了CAEVO。图1显示了我们系统的输入文档和生成的图的示例。总之,我们的主要贡献是:
- 我们通过将问题重定义为序列到序列映射任务,第一次在该任务上提出了使用大型预训练的语言模型。
- 我们解决了难以获取大量人工标注的事件图的问题,自动生成了89,000个document-graph对的集合,这对于有效微调预训练模型是至关重要的。
- 我们在系统生成测试集(这使我们能够比较不同模型的相对性能)和人工标注的领域外数据集(TimeBank-Dense)的实验结果,显示了我们提出的方法在强大的基线上的优势 。此外,我们表明我们的方法可以在阅读理解数据集Torque中帮助开放式时间问题产生合理的答案。
2.相关工作
Temporal Graph Extraction。Tempeval-3引入了时间图提取的任务,并将其作为“用于评估从原始文本到TimeML注释这一端到端系统的最终任务”。在该任务中开发的显着系统包括CAEVO,然后是最近的Cogcomptime。CAEVO和Cogcomptime都使用几种基于统计和规则的方法,如事件提取器,依存性解析器,语义角色标注和时间表达式标识。我们的工作与这些系统的不同之处在于:i)与使用各个独立的子系统相反,我们将任务转换为Seq2Seq映射问题,并使用单个语言模型以端到端方式从文本中生成时间图,以省略所有的中间步骤。 ii)我们使用包含89,000个文件的语料库开发我们的系统,与CAEVO(36份文件)和Cogcomptime(276份)使用的数据集相比,大了300倍;iii)我们删除了CAEVO中包含的噪声事件,但没有将提取的事件限制为如Cogcomptime所做的任何特定语义轴;iv)最后,我们方法生成的图,其中节点并不是简单的动词,而是增强的事件短语,包含主题和每个动词的对象。我们使用CAEVO为我们的任务生成一个庞大的语料库来训练和评估我们的系统,这主要基于以下原因:i)我们发现CAEVO更具可扩展性,这是我们标注将近100k份文档任务的关键特性,ii)CAEVO从其输出中过度生成(而不是排除)动词,使我们能够灵活地过滤噪声事件而不会无意中遗漏任何关键事件。然而,我们的数据生成方法并非特定于CAEVO,其适用于任何其他类似的系统(包括Cogcomptime)。
Temporal relation extraction。我们注意到时间图提取问题与更受欢迎的时间关系提取(Temprel)任务不同,Temprel涉及分类两个已经提取的事件之间的时间链。 最优的Temprel系统使用神经方法,但通常使用少数文档进行开发和评估。一个值得注意的特例是,Vashishtha et al. (2019) 是通过使用 Amazon Mechanical Turks 来获得人工标注的16,000句话数据集。我们认为,在我们的工作中提供的技术可以扩展用于训练Temprel系统的语料库。
Language Models for Graph Generation。最近,Bosselut et al. (2019) 提出了COMET,这是一个使用常识知识图(ATOMIC和conceptnet)来微调GPT,以进行常识知识补全的系统。类似于COMET,我们采用大型语言模型进行此类条件文本生成任务。但是,我们的任务与COMET不同在于条件文本和生成文本的复杂性:我们目标是生成基于文档的时间图,而COMET是基于输入的事件或概念短语以及关系,来生成另一个事件或概念短语。Madaan et al. (2020) 和 Rajagopal et al. (2021) 旨在基于一个情况来生成事件影响图。类似于这个工作,这些方法依赖于预训练的语言模型来生成基于文本的结构化信息。与我们的方法不同,这些方法将生成过程分解为一系列自然语言查询过程。每个查询都会生成一个事件节点,最终组装到树中。相比之下,我们提出了一种方法来直接从文本中直接生成具有任意拓扑的图结构。另外,由这些方法生成的事件不存在于制作事件的文本中,事件提取并没有作为其主要焦点。You et al. (2018) 将图形式化为一个序列,以学习一个图的生成模型。类似于他们的工作,我们将图生成设计为自回归任务。然而,我们的目标是有条件生成时间图,而不是学习无条件的生成分布。最后,来自最近的研究趋势的启发,我们不会对模型或解码过程进行任何特定于图的修改,而是将该问题直接作为Seq2Seq映射任务。虽然我们的方法不依赖于任何特定的语言模型,但可以看到使用通过我们方法生成的数据集在GPT3上微调,所带来的增益是可观的。
3.Deriving Large-scale Dataset for the Temporal Graph Generation
Definitions and Notations。令G(V,E)\textbf G(\textbf V,\textbf E)G(V,E)是与文档D\textbf DD相关联的时间图,使得顶点V\textbf VV是文档D\textbf DD中的事件,并且边E\textbf EE是事件之间的时间关系。 E\textbf EE中的每个时间链都采用r(eq,et)r(e_q,e_t)r(eq,et)的形式,其中query事件eqe_qeq和目标事件ete_tet都在V\textbf VV中,rrr是时间关系(例如,before或after)。在这项工作中,我们定义了两个复杂度逐渐增加的相关任务:i)节点生成;ii)时间图生成:
Task 1: Node Generation。令r(eq,et)r(e_q,e_t)r(eq,et)是E\textbf EE中的边。令CrC_rCr是包含事件eqe_qeq或ete_tet或与它们相邻的文档D\textbf DD中的一组句子。给定由CrC_rCr,rrr和eqe_qeq组成的query,来生成ete_tet。
Task 2: Temporal Graph Generation。给定文档D\textbf DD,生成相应的时间图G(E,V)\textbf G(\textbf E,\textbf V)G(E,V)。
图1说明了这两个任务。任务1类似于知识图谱的补全。任务2明显更具挑战性,需要生成G\textbf GG的结构和语义。
任务的训练数据由元组{(xi,yi)}i=1N\{(x_i,y_i)\}^N_{i=1}{(xi,yi)}i=1N组成。对于任务1,xix_ixi是query字符(Cr,eq,r)(C_r,e_q,r)(Cr,eq,r)的拼接,yiy_iyi由事件ete_tet的字符组成。对于任务2,xix_ixi是第iii个文档Di\textbf D_iDi,yiy_iyi是相应的时间图Gi\textbf G_iGi。
我们使用New York Times (NYT) 标注的语料库来生成我们的Document-Graph对数据集。该语料拥有1987年至2007年之间的由NYT编辑和发布的180万篇文章。每篇文章都有一个人工分配的描述性术语清单,以捕获其主题。我们使用以下描述符来过滤文章: {“bomb”, “terrorism”, “murder”, “riots”, “hijacking”, “assassination”, “kidnapping”, “arson”, “vandalism”, “hate crime”, “serial murder”, “manslaughter”, “extortion”},最终生成了89,597篇文章,共有260万句子和6600万字符。对于每个文档D\textbf DD,我们使用CAEVO来提取由动词集合和提取的动词之间的时间关系集组成的密集时间图。CAEVO提取了六个时间关系:before,after,includes,is included,simultaneous和vague。
我们通过一系列修剪和增强操作,处理了由CAEVO提取的每种密集图:i)我们观察到由CAEVO提取的一些最常见的动词是所谓的报告动词,就像said,say和told,这并不会有助于事件的生成。例如,由CAEVO作为事件提取的所有动词的近10%都是said。要删除此类嘈杂事件,我们删除了具有最低倒转文档频率的五个动词,以及一组额外的light和reporting动词;II)为了使事件注释更丰富,我们与 (Chambers and Jurafsky, 2008) 相同,使用每个动词的名词短语和目标作为前缀和后缀。这种增强有助于向每个动词添加上下文,从而使避免事件语义含糊不清。例如,给定一个句子:AcalledB,afterwhichBcalledCA~called~B,~after~which~B~called~CA called B, after which B called C,CAEVO抽取了AFTER(called,called)AFTER(called,~called)AFTER(called, called)。通过使用提出的增强方法,关系变为AFTER(AcalledB,BcalledC)AFTER(A~called~B,~B~called~C)AFTER(A called B, B called C),这清楚地区分了两个不同的事件。我们将这一事件概念称为增强动词。至关重要的是,与先前的工作不同,我们的系统经过训练以提取这些增强的事件短语。我们还丢弃了没有主题或对象的所有动词;iii)如果抽取的关系具有小于0.50的置信度得分,则进行删除,并保留了由 Chambers et al. (2014)用高精度提取的基于规则的关系。最后,我们只保留 event-event 关系(丢弃动词和时间表达之间的链接),并丢弃vague关系,因为它们通常不会在提高文档中的时间序列的理解方面发挥任何作用。如表1所示,修剪噪声动词和关系后生成了稀疏和具有更多信息的图。
Creating Sub-graphs using Event Communities。我们发现为给定的文档生成的(修剪的)图通常具有几个子图,这些子图要么是完全独立的或具有高的内部链接密度。此外,我们发现这些子图中的每一个都在文档的不同部分。我们利用这种现象将每个子图映射到其正确的上下文,从而降低了数据中的噪声。
仅仅依赖于创建的子图间的连接仍然容易出现噪声,因为很大程度上不相关的子图通常通过单个事件连接。相反,我们提出了一种基于event communities检测的方式来将图分成子图,使得每个子图中的事件更密集地彼此连接。我们使用modularity 的概念学习这些event communities,这方法首先由(Newman and Girvan, 2004) 引入。 我们将modularity 优化的推导放到附录。
Datasets for Task 1 and Task 2。在使用了上面描述的裁剪和聚类操作之后,我们获取超过890,677个text-graph对的语料库,平均每份文档有120.31字符,每个图有3.33个事件和4.91条边。这些text-graph对构成了任务2的训练数据。我们从原始(未分开的)89K图中生成了任务1的数据(每个text-graph对为任务1提供多个示例)。在任务1数据中,近80%的queries (Cr,eq,r)(C_r,e_q,r)(Cr,eq,r)具有单独的答案ete_tet,近16%的query有两个不同的ete_tet。我们在训练数据中保留了具有多个真实ete_tet的示例,因为它们帮助模型学习连接到两个事件的不同时间模式。为了公平,我们同样在测试集中保留了这种情况。表2列出了数据集的统计信息。
3.1 Graph Representation
基于给定的文档,我们使用语言模型来生成用字符序列表示的每个图,因此这要求图用字符串表示。我们使用DOT语言来将每个图格式化为字符串。虽然我们的方法不依赖于任何特定的图表示格式,但我们使用DOT,因为它支持各种类型的图,并允许使用节点,边和图级别信息的增强图形。此外,被表示为DOT的图在NetworkX等流行的图形库中易于使用,使得可以使用该图来用于若干下游应用。图2给出了样例图和对应的DOT代码。边按其组成的节点在文档中出现的顺序列出。这一设计的灵感来自于我们发现对于绝大多数时间链,都出现在同一或相邻的句子中。因此,当按照文档中出现的顺序列出边时,这为自回归注意力机制增加了一个简单的归纳偏差,从而随着图生成的进行,注意力权重从左到右滑动。另外,固定顺序使得问题能够良好定义,因为这使得文档和图之间的映射变为确定性的。
4.Model
任务1和2的训练数据X\textbf XX都由元组{(xi,yi)}i=1N\{(\textbf x_i,\textbf y_i)\}^N_{i=1}{(xi,yi)}i=1N组成。对于任务1(节点生成任务),xi\textbf x_ixi表示上下文,源节点和关系的拼接。目标yi\textbf y_iyi由目标事件的字符组成。对于任务2(图生成任务),xi\textbf x_ixi是文档,yi\textbf y_iyi是用DOT表示的对应时间图。我们训练一个单独的条件语言模型来解决该任务。具体而言,给定形式为{(xi,yi)}\{(\textbf x_i,\textbf y_i)\}{(xi,yi)}的训练语料,我们的目标是估计分布pθ(yi∣xi)p_θ(\textbf y_i|\textbf x_i)pθ(yi∣xi)。给定一个训练样例(xi,yi)(\textbf x_i,\textbf y_i)(xi,yi),我们设置ui=xi∣∣yi\textbf u_i =\textbf x_i||\textbf y_iui=xi∣∣yi(∣∣||∣∣表示拼接)。然后,pθ(ui)p_θ(\textbf u_i)pθ(ui)可以使用链式法则分解为一系列自回归条件概率:pθ(ui)=∏k=1np(ui,k∣ui,<k)p_θ(\textbf u_i)=\prod^n_{k=1}p(u_{i,k} | \textbf u_{i,<k})pθ(ui)=∏k=1np(ui,k∣ui,<k),其中ui,ku_{i,k}ui,k表示第iii个序列的第kkk个字符,ui,<k\textbf u_{i,<k}ui,<k表示字符序列{u1,u2,...,uk−1}\{u_1,u_2,...,u_{k-1}\}{u1,u2,...,uk−1}。语言模型通常通过最小化X\textbf XX中每个序列ui\textbf u_iui上的交叉熵损失−logpθ(ui)-log~p_θ(\textbf u_i)−log pθ(ui)来训练。然而,交叉熵损失捕获了联合分布pθ(xi,yi)p_θ(\textbf x_i,\textbf y_i)pθ(xi,yi),并且没有与我们的学习条件分布pθ(yi∣xi)p_θ(\textbf y_i|\textbf x_i)pθ(yi∣xi)的目标保持一致。为了避免这一点,我们通过屏蔽了与输入xi\textbf x_ixi对应的损失项来训练我们的模型。令mi\textbf m_imi是每个序列uiu_iui的屏蔽向量,将xi\textbf x_ixi所处的位置处设置为0,否则为1。我们将屏蔽向量与我们的pθ(ui)p_θ(u_i)pθ(ui)的分解相结合,来定义屏蔽语言建模损失L\mathcal LL,该损失在训练语料X\textbf XX上最小化来估计最佳θθθ:
L(X)=−∑i=1∣X∣∑j=1∣xi∣+∣yi∣mi,jlog(pθ(ui,j∣ui,<j))\mathcal L(\textbf X)=-\sum^{|\textbf X|}_{i=1}\sum^{|x_i|+|y_i|}_{j=1}m_{i,j}log(p_{\theta}(u_{i,j}|\textbf u_{i,\lt j}))L(X)=−i=1∑∣X∣j=1∑∣xi∣+∣yi∣mi,jlog(pθ(ui,j∣ui,<j))
请注意,屏蔽损失的形式对模型结构是独立的,并且可以对对损失函数进行简单的改变来实现。在实践中,我们使用基于transformer架构的GPT-2进行我们的实现。对每个任务训练完毕的pθp_{\theta}pθ,给定(x)(\textbf x)(x),我们通过从pθ(y∣x)p_θ(\textbf y|\textbf x)pθ(y∣x)中使用核抽样来生成y\textbf yy。有关训练过程和模型结构更详细的信息,参见附录C.1。
Neural Language Modeling for Contextualized Temporal Graph Generation翻译相关推荐
- 详细介绍Deeper Text Understanding for IR with Contextual Neural Language Modeling
文章目录 1.简介 2.相关工作 3.使用BERT的文档搜索 4.实验设置 5.结果与讨论 5.1用于文档检索的预训练BERT 5.2理解自然语言查询 5.3理解搜索任务 6.结论 2022年圣诞节到 ...
- Paper简读 - ProGen: Language Modeling for Protein Generation
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/12 ...
- Causal Language Modeling和Conditional Generation有什么区别
和ChatGPT一起学习! 因果语言建模(Causal Language Modeling,简称CLM)和条件生成(Conditional Generation)是自然语言处理(NLP)和深度学习中的 ...
- LLMs:《PaLM: Scaling Language Modeling with Pathways》翻译与解读
LLMs:<PaLM: Scaling Language Modeling with Pathways>翻译与解读 导读:这项工作介绍了Pathways Language Model(Pa ...
- 论文Spatial-Temporal Transformer for Dynamic Scene Graph Generation
最近由于要做SGG方向,恰巧之前保存过这篇论文 2107.12309.pdf (arxiv.org)https://arxiv.org/pdf/2107.12309.pdf 代码地址: GitHub ...
- 论文阅读_Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition
Abstract 人体骨架动力学为人体动作识别提供了重要信息.传统的骨架建模方法通常依赖于手工制作的部件或遍历规则,从而导致表达能力有限和泛化困难.在这项工作中,我们提出了一种新的动态骨架模型,称为时 ...
- 论文阅读笔记-场景图谱-图谱生成:Scene Graph Generation from Objects, Phrases and Region Captions
文章目录 摘要 引言 正文部分 Conclusionn Li Y, Ouyang W, Zhou B等. Scene Graph Generation from Objects, Phrases an ...
- 青源Seminar丨NAACL专场:Language Modeling Summarization
NAACL是自然语言处理领域的顶级学术会议,为了进一步促进国际间学术交流,青源会将于8月4日上午09:00-12:20举办「青源Seminar丨NAACL专场线上分享会」,召集人为青源研究组成员.耶鲁 ...
- Transformers预训练模型使用:语言建模 Language Modeling
语言建模是一个将模型拟合到一个语料库的任务,这个语料库可以是特定领域,也可以是通用领域.所有主流的.基于transformer的模型(跟这个包transformers不是一个东西)都使用了语言建模的变 ...
最新文章
- Oracle 导表异常处理方案 (解决空表导出出错问题)
- 第二版地面站加入"参数列表"
- 《用户体验设计 本质、策略与经验》一导读
- 单片机会被淘汰吗?单片机现在还有用吗?
- python使用生成器生成浮点数列表、使用生成器生成(正)负的浮点数列表
- onkeypress属性添加报错_亚马逊运营过程中listing常见报错及应对策略汇总
- linux c 获取文件行数
- cherrypy 入门笔记(1) hello world
- SAP Spartacus 4.0 ng serve 之后,localhost 4200 会后面自动添上 electronics-spa 吗?
- day01 python基本概念
- vue学生作业-图书管理系统
- redis的hash类型
- 说下我常用的几个精简版系统的感受
- 名编辑电子杂志大师教程 | 添加搜索功能
- win10企业版如何安装应用商店-默认没有应用商店
- WIFI驱动详细设计说明书
- 4 Three.js一个案例详解
- 老徐WEB:CSS伪类和伪元素详解
- 有AI就不搬砖?超乎你的想象!道翰天琼认知智能机器人平台API接口大脑为您揭秘-1。
- k线顶分型 python_K线的顶分型与底分型(实例图解)
热门文章
- 用python海龟画笔绘制标准五星红旗
- MySQL-比较两个表不同的数据
- 微信小程序-搞懂wx:for wx:index wx:item
- 软件测试周刊(第84期):这个世界根本不存在“不会做”、“不能做”,只有“不想做”和“不敢做”,当你失去所有依靠的时候,你自然就什么都会了。
- Netcool为中国电子口岸构筑无忧网络管理平台
- 程序员必备:炫酷樱桃轴机械键盘,免费包邮送到家!
- 2017年双十一最全面的大数据分析报告在此!+2018年双十一已经开始,厚昌竞价托管教你如何应对流量流失?+2019年双十一大战一触即发:阿里、京东都有哪些套路和玩法
- storm显微镜成像原理_STORM和STED显微成像技术特点的比较.PDF
- 1 个自动化脚本搞死公司?原来如此!
- vue垂直布局_CSS水平垂直居中布局方案概述