通过特定任务和开放世界知识增强文本生成
论文:TEGTOK: Augmenting Text Generation via Task-specific and Open-world Knowledge
代码:https://github.com/lxchtan/TEGTOK
摘要
生成自然且信息丰富的文本一直是NLP中的一个长期问题。许多工作致力于将预训练语言模型(PLMs)与各种开放世界知识(如知识图谱或wiki页面)结合起来。然而,他们访问和操作特定任务知识的能力仍然局限于下游任务,因为这种类型的知识通常在PLMs中没有很好地覆盖,并且很难获得。为解决该问题,论文提出在统一框架中通过特定任务和开放世界知识增强文本生成。该模型通过密集检索从两类知识源中选择知识条目,并基于PLMs分别注入到输入编码和输出解码阶段。在这两种知识的帮助下,模型可以学习生成什么以及如何生成。在对话生成和问题生成两个文本生成任务以及两个数据集上的实验表明,该方法取得了比各种基线模型更好的性能。
挑战
- 尽管目前的生成模型能够使用编码器-解码器架构或语言模型生成自然和流畅的目标序列,但它们通常只提供有限的知识来生成所需的输出。因此,在许多现实世界的场景中,文本生成的性能仍然远远不能令人满意。
- 尽管开放世界知识(如结构化知识库,ConceptNet或非结构化文档,如来自维基百科的文档)在大多数情况下可以改善生成过程,但其效果仍局限于涉及较少实体或抽象语义的情况。另一方面,人类生成文本的过程往往基于一种以上的知识感知。除了世界知识,特定于任务的知识也作为重要的信息源,通常在PLMs中没有很好地覆盖,并且很难通过微调获得。
解决方法
基于上述问题,本文提出了augmentation TExt Generation via Task-specific and Open-world Knowledge (TEGTOK)。
- 假设世界知识是非结构化的维基百科文档,提供了输入序列中提到的实体的补充信息或背景知识。特定于任务的知识是一个预先构建的索引,与领域相关,并作为指导文本生成的示范性信息源。它可以根据不同的任务或领域进行灵活调整,例如对话生成中的上下文-反应对或问题生成中的篇章-问题对。
- 受开放域问答任务中密集检索方法成功的启发,使用预训练编码器将输入文本和知识条目转换为密集表示向量,并采用快速最大内积搜索(MIPS)完成检索,以保证知识选择的有效性和效率。
- 最后,将这两类知识分别注入到源文本编码和目标文本解码阶段。通过这种方式,该模型可以在两类知识的帮助下,在统一的框架中学习如何生成以及生成什么。
基于图神经网络的子图引导的知识图谱问题生成
论文:Toward Subgraph Guided Knowledge Graph Question Generation with Graph Neural Networks
代码:https://github.com/liyuanfang/mhqg
摘要
知识图谱(KG)问题生成(QG)旨在从知识图谱和目标答案中生成自然语言问题。以往的工作大多集中在一个简单的设置上,即从单个KG三元组生成问题。本文专注于一个更现实的设置,旨在从KG子图中生成问题和目标答案。此外,之前的大多数工作都是基于RNN或Transformer模型来编码线性化的KG子图,这完全丢弃了KG子图的显式结构信息。为解决这个问题,本文建议应用双向Graph2Seq模型对KG子图进行编码。此外,用节点级复制机制增强了RNN解码器,允许直接将节点属性从KG子图复制到输出问题。自动和人工评估结果表明,所提出模型取得了新的最先进的分数,在两个QG基准上明显优于现有方法。实验结果还表明,作为一种数据增强的方法,QG模型可以持续地使问答(QA)任务受益。
挑战
- 第一个是如何学习KG子图的良好表示。KG子图具有复杂的底层结构,如节点属性和多关系边。每个节点和边可以有(很长)包含多个单词的关联文本。已有方法在生成简单问题时要么只考虑关键字列表或单个三元组,要么在生成多跳问题时简单地将KG子图视为三元组的集合,没有充分利用其丰富的结构信息。
- 第二个挑战是如何自动学习子图和自然语言问题之间的良好映射。例如,对于一个问题来说,直接从输入的KG子图中提到实体名称是很常见的。然而,对于以前的方法来说,精确地生成这样一个通常包含多个tokens的实体名称是具有挑战性的。
- 第三个挑战是如何有效地利用答案信息。给定一个包含多个三元组的KG子图,人们可以在不知道确切目标答案的情况下生成完全不同的问题。因此,有效利用答案信息对于生成更相关的问题至关重要。
解决方法
为了应对上述挑战,论文提出一种基于图神经网络(graph Neural Networks, GNNs)的子图引导的知识图谱问题生成方法。本文首次提出了具有新颖节点级复制机制的图到序列(Graph2Seq)架构,用于KG-QG任务,以应对第二个挑战。本文扩展了常规的基于的编GNN码器,以允许处理有向和多关系的KG子图,以解决第一个挑战。本文提出一种简单而优雅的方法,来利用答案中的上下文信息来有效处理第三个挑战。
贡献
- 针对子图引导的KG-QG问题,提出一种新的Graph2Seq模型。所提出的Graph2Seq模型采用双向图嵌入,设计了两种不同的GNN编码器,以有效编码具有有向和多关系边的KG子图。
- 用一种新的复制机制扩展了RNN解码器,允许在生成自然语言问题时从输入KG子图中采用整个节点属性。
- 研究了应用GNN编码器处理KG子图时初始化节点/边嵌入的两种不同方法。此外,研究了边缘方向对GNN编码器的影响。
- 实验结果表明,该模型在WebQuestions(WQ)和PathQuestions(PQ)上的BLEU-4得分分别从11.57和25.99提高到59.59。人工评估研究证实,与其他基线相比,该模型生成的问题更自然(在语义和语法上),也更相关。实验还表明,作为一种数据增强的方法,QG模型可以持续地使KBQA任务受益。
基于预训练语言模型的小样本知识图谱到文本生成
论文:Few-shot Knowledge Graph-to-Text Generation with Pretrained Language Models
代码:https://github.com/RUCAIBox/Few-Shot-KG2Text
摘要
研究如何自动生成描述知识图谱(KG)中事实的自然语言文本。考虑到小样本的设置,利用了预训练语言模型(PLMs)在语言理解和生成方面的出色能力。论文做出了三个主要的技术贡献,即表示对齐,以弥合知识图谱编码和PLMs之间的语义鸿沟;关系偏置的知识图谱线性化,以推导更好的输入表示;多任务学习用于学习知识图谱和文本之间的对应关系。在三个基准数据集上的广泛实验,证明了所提出模型在KG到文本生成任务上的有效性。特别是,所提出模型在全监督和小样本设置上都优于所有比较方法。
挑战
近年来,在众包平台和信息抽取(Information Extraction, IE)系统的帮助下,出现了大规模的知识图谱及其描述性文本的标注对,如WikiBio和WebNLG Challenge。可以为给定的知识图谱产生信息丰富和流畅的文本。将PLMs应用于小样本KG-to-text生成仍然面临两个挑战。
- 首先,PLMs通常在自然语言文本上进行预训练,而任务的KG输入是结构图。这种语义差距使得很难将知识图谱表示有效注入到PLMs中,特别是在标注实例有限的情况下。
- 其次,与许多其他文本生成任务不同,KG-to-text生成需要基于对KG事实的理解进行忠实的生成。它需要学习输入知识图谱和输出文本之间准确的语义对应关系,这在小样本的情况下会更加困难。
解决方法
为解决上述问题,论文提出一种基于PLMs的小样本知识图谱到文本的生成模型。
- 首先,为了弥合语义鸿沟,通过学习知识图谱表示(由GNN编码)和基于PLMs的实体表示之间的对应关系来加强表示对齐。
- 为了将KG输入到PLMs中,提出一种关系偏置的广度优先搜索(RBFS)策略,将KG线性化为一个良好规划的实体序列。
- 最后,在多任务学习框架下联合训练初级文本生成任务和辅助知识图谱重建任务。这一步进一步增强了输入KG和输出文本之间的语义对应关系,基于此模型可以生成关于KG的忠实文本。
面向知识图谱文本生成的图-文本联合表示学习
论文:JointGT: Graph-Text Joint Representation Learning for Text Generation from Knowledge Graphs
代码:https://github.com/thu-coai/JointGT
摘要
现有的用于知识图谱到文本(KG-to-text)生成的预训练模型只是在KG-to-text数据集上对文本到文本的预训练模型进行微调,如BART或T5,这些模型在编码期间在很大程度上忽略了图结构,并且缺乏详细的预训练任务来明确建模图-文本对齐。为解决这些问题,论文提出一种图-文本联合表示学习模型JointGT。在编码过程中,设计了一个结构感知的语义聚合模块,插入到每个Transformer层中,以保持图结构。提出了三个新的预训练任务,以明确地增强图-文本对齐,包括各自的文本/图重建,以及通过最优传输在嵌入空间中的图-文本对齐。实验表明,JointGT在各种KG-to-text数据集上获得了最新的性能。
背景
知识图谱到文本(KG-to-text)生成旨在生成与输入图一致的高质量文本。该任务需要同时对图结构和内容进行编码,并在解码过程中有效利用输入图。作为连接知识图谱和文本的主要自然语言生成(NLG)任务,该任务可以进一步促进知识图谱在更真实的NLG场景中的适用性,如以知识为基础的对话生成和故事生成。
由于图-文本并行数据量有限,典型的神经文本生成模型很难从头开始学习源实体/关系和目标标记之间的对齐。最近的工作依靠构建通用的预训练语言模型来进行知识图谱到文本的生成。最常见和最简单的方法是将输入图线性化为文本序列,并直接在KG-to-text数据集上微调基于文本到文本Transformer的预训练模型,如GPT, BART或T5。得益于在大规模未标记文本语料库上的自监督预训练,预训练语言模型可以通过简单的微调生成高质量的文本,并优于其他具有复杂结构的模型。
挑战
尽管微调预训练模型在KG-to-text数据集上的性能优越,但构建用于KG-to-text生成的预训练模型仍然面临两个主要挑战:
- 编码过程中结构信息丢失。大多数现有的预训练模型通过双向Transformer捕捉上下文信息,其中包括全注意力连接。由于没有明确考虑每对输入实体之间的关系,这种模型结构在对知识图谱进行编码时可能会忽略结构信息。
- 缺乏显式的图-文本对齐。现有的关于文本生成预训练模型的工作通常采用自编码或自回归文本重建来学习文本-文本对齐,对损坏的文本序列进行编码并解码原始序列。由于知识图谱可能具有比文本序列更复杂的结构,因此很难直接使用基于文本重构的预训练任务来显式地学习图-文本对齐。
解决方法
论文提出一种图-文本联合表示学习框架JointGT来应对上述挑战。
- 首先,为缓解编码过程中的结构信息损失,在每个Transformer层设计了一个简单的结构感知语义聚合模块,以根据图结构聚合上下文信息。
- 其次,提出了三个预训练任务,包括图增强文本重建、文本增强图重建和图-文本嵌入对齐,以显式地建立知识图谱和文本序列之间的联系。前两个任务期望增强离散词汇空间中的图-文本对齐,其中模型需要根据观察到的文本/图信息来预测图/文本的掩码信息。第三个任务旨在通过最优传输在连续嵌入空间中对图-文本对齐进行建模,以匹配图和文本的隐藏表示。
贡献
- 提出一种新的预训练模型JointGT,用于KG-to-text生成任务。该模型采用结构感知的语义聚合模块在每个Transformer层对输入图的结构进行建模,并利用三个预训练任务在离散和连续空间中显式学习图-文本对齐。
- 在WebNLG、WebQuestions和PathQuestions等KG-to-text生成数据集上进行了实验。结果表明,JointGT在知识图谱到文本的生成上取得了新的最先进的性能。
基于知识增强提示学习的统一会话推荐系统
论文:Towards Unified Conversational Recommender Systems via Knowledge-Enhanced Prompt Learning
代码:https://github.com/RUCAIBox/UniCRS
摘要
会话推荐系统(CRS)旨在通过自然语言对话主动得出用户偏好并推荐高质量items。通常,CRS由推荐模块和对话模块组成,前者用于预测用户的偏好项目,后者用于生成适当的回复。为了开发有效的CRS,必须将这两个模块无缝集成。现有工作要么设计语义对齐策略,要么在两个模块之间共享知识资源和表示。然而,这些方法仍然依赖于不同的体系结构或技术来开发这两个模块,使得难以进行有效的模块集成。
针对该问题,论文提出了一种基于知识增强提示学习的统一CRS模型UniCRS。该方法将推荐和对话子任务统一到提示学习范式中,并利用基于固定预训练语言模型的知识增强提示,以统一的方法完成这两个子任务。在提示设计中,融合了知识表示、任务特定的软tokens和对话上下文,可以提供足够的上下文信息使PLM适应CRS任务。此外,对于推荐子任务,还将生成的响应模板作为提示信息的重要组成部分,以增强两个子任务之间的信息交互。在两个公开的CRS数据集上进行了广泛的实验,证明了所提方法的有效性。
背景
随着智能助手的广泛应用,会话推荐系统(conversational recommender systems, CRSs)已经成为一个新兴的研究课题,它通过自然语言会话向用户提供推荐服务。从功能上看,CRSs应该能够完成两大子任务:从候选集预测items到用户的推荐子任务和生成合适问题或回答的对话子任务。
为了完成这两个子任务,现有方法通常为每个子任务设置两个独立的模块,即推荐模块和对话模块。由于这两个子任务是高度耦合的,一个有能力的CRS应该能够无缝地集成这两个模块,以便在它们之间共享有用的功能或知识。一类工作将共享的知识资源(如知识图谱和评论)及其表示结合起来,以增强语义交互。另一类工作设计了特殊的表示对齐策略,如预训练任务和正则化项(如互信息最大化和对比学习),以保证两个模块的语义一致性。
挑战
尽管现有的CRS方法取得了一定的进展,但推荐模块和会话模块之间的语义不一致问题并没有得到很好的解决。图1显示了一个典型的CRS模型KGSF的预测不一致的情况,该模型利用互信息最大化来对齐语义表示。虽然推荐模块预测了电影《冰雪奇缘2》(2019),但对话模块似乎没有意识到这样的推荐结果,并生成了一个不匹配的响应,其中包含另一部电影《漂亮女人》(1990)。即使可以利用启发式约束来强制推荐电影的生成,也无法从根本上解决两个模块之间的语义不一致问题。从本质上讲,这种问题是由现有方法中的两个主要问题引起的。首先,这些方法大多采用不同的体系结构或技术来开发两个模块,即使有一些共享的知识或组件,仍然难以有效地将两个模块无缝关联。其次,一个模块产生的结果不能被另一个模块感知和利用。例如,在KGSF中预测推荐结果时,无法利用生成的响应。综上所述,语义不一致的根源在于两个模块的架构设计和工作机制不同。
解决方法
为了解决上述问题,论文旨在开发一个更有效的CRS,以统一的方式实现推荐和对话模块。对于CRS来说,由于这两个子任务的目标是在相同的会话语义基础上实现特定的目标,因此开发一种基于提示学习的统一CRS方法是可行的。论文提出了一种基于知识增强提示学习的统一CRS模型(UniCRS)。
论文中对于基础PLM,使用DialoGPT,因为它已经在大规模对话语料库上进行了预训练。在该方法中,基本PLM在解决两个子任务时是固定的,不需要微调或持续的预训练。为了更好地将任务知识注入到基础PLM中,首先设计了一个语义融合模块,用于捕获对话文本中单词与知识图谱中实体之间的语义关联;该方法的主要技术贡献在于以提示学习的形式制定了两个子任务,并为每个子任务设计了特定的提示。在提示设计中,包含对话上下文(specific tokens)、任务特定的软tokens(latent vectors)和融合的知识表示(latent vectors),可以提供关于对话上下文、任务指令和背景知识的充分语义信息。此外,在推荐时,将对话模块生成的回复模板整合到提示中,进一步增强了两个子任务之间的信息交互。
贡献
实验结果表明,所提出的UniCRS在推荐和对话子任务上的表现优于其他几种有竞争力的方法,特别是在训练数据有限的情况下。本文的主要贡献如下:
- 根据作者所知,这是第一次以一种通用的提示学习方式开发出一个统一的CRS。
- 将CRS的子任务规范化为提示学习的统一形式,并设计了针对特定任务的提示和相应的优化方法。
- 在两个公开的CRS数据集上进行了广泛的实验,证明了所提方法在推荐和对话任务上的有效性。