【论文解读】基于图Transformer从知识图谱中生成文本

来自:纸鱼AI

论文Text Generation from Knowledge Graphs with Graph Transformers发表于2019年自然语言处理顶级会议之一NAACL,本文将对其进行解读,这是原文链接(https://arxiv.org/pdf/1904.02342.pdf)。

背景

生成表达复杂含义的多句文本需要结构化的表征作为输入,本文使用知识图谱作为输入的表征,研究一个端到端的graph-to-text生成系统,并将其应用到科技类文本写作领域。作者使用一个科技类文章数据集的摘要部分,使用一个IE来为每个摘要提取信息,再将其重构成知识图谱的形式。作者通过实验表明,将IE抽取到知识用图来表示会比直接使用实体有更好的生成效果。

graph-to-text的一个重要任务是从 Abstract Meaning Representation  (AMR)  graph生成内容,其中图的编码方法主要有graph convolution encoder,graph attention encoder,graph LSTM,本文的模型是graph attention encoder的一个延伸。

数据集

作者构建了一个Abstract GENeration Dataset(AGENDA),该数据包含40kAI会议的论文标题和摘要。对于数据集中的每篇摘要,首先使用SciIE来获取摘要中的命名实体及实体之间的关系(Compare, Used-for, Feature-of, Hyponymof, Evaluate-for, and Conjunction),随后将得到的这些组织成无连接带标签图的形式。

【论文解读】基于图Transformer从知识图谱中生成文本_第1张图片

模型

GraphWriter模型总览

【论文解读】基于图Transformer从知识图谱中生成文本_第2张图片

编码器

构建图

将之前数据集中的无连接带标签图,转化为有连接无标签图,具体做法为:原图中的每个表示关系的边用两个节点替代,一个表示正向的关系,一个表示反向的关系;增加一个与所有实体节点连接全局向量节点,该向量将会被用来作为解码器的初始输入。下图中 表示实体节点, 表示关系, 表示全局向量节点

【论文解读】基于图Transformer从知识图谱中生成文本_第3张图片

终得到的有连接,无标签图为G=(V,E),其中V表示实体/关系/全局向量节点,E接矩阵(注意这里的G和V区别上述图中的G和v)。

Graph Transformer

【论文解读】基于图Transformer从知识图谱中生成文本_第4张图片

Graph Transformer由L个Block Network叠加构成,在每个Block内,节点的嵌入 首先送入Graph Attention模块。这里使用多头自注意力机制,每个节点表征 通过与其连接的节点使用注意力,来得到上下文相关的表征。得到的表征随后再送入正则化层和一个两层的前馈神经网络层。最后一层的得到的 即表示上下文后的实体,关系,全局向量节点。

【论文解读】基于图Transformer从知识图谱中生成文本_第5张图片

解码器

在每个时间步t使用隐藏状态 来计算图和标题的上下文向量  和 ,其中  通过  使用多头注意力得到,

【论文解读】基于图Transformer从知识图谱中生成文本_第6张图片

 也通过类似的方式得到,最终的上下文向量是两者的叠加 。随后使用类似pointer-network的方法来生成一个新词或复制一个词,


实验

实验包含自动和人工评估,在自动评估中,GraphWriter代表本篇文章的模型,GAT中将Graph Transformer encoder使用一个Graph Attention Network替换,Entity Writer仅使用到了实体和标题没有图的关系信息,Rewriter仅仅使用了文章的标题,

【论文解读】基于图Transformer从知识图谱中生成文本_第7张图片

从上图可以看到,使用标题,实体,关系的模型(GraphWriter和GAT)的表现要显著好于使用更少信息的模型。人工评估中,使用Best-Worst Scaling,

【论文解读】基于图Transformer从知识图谱中生成文本_第8张图片

参考

[1] Koncel-Kedziorski R, Bekal D, Luan Y, et al. Text generation from knowledge graphs with graph transformers[J]. arXiv preprint arXiv:1904.02342, 2019.


说个正事哈


由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:(1)点击页面最上方“深度学习自然语言处理”,进入公众号主页。(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。记得备注呦
推荐两个专辑给大家:专辑 | 李宏毅人类语言处理2020笔记专辑 | NLP论文解读

整理不易,还望给个在看!

你可能感兴趣的:(算法,python,机器学习,人工智能,自然语言处理)