CoAI

预训练语言模型

  • 2020年12月06日 17:18

研究领域概述


近年来,大规模预训练语言模型在NLP领域的各项任务上均取得了很好的性能。以ELMo, GPT, BERT为代表的预训练模型利用大量无标注语料进行预训练,以得到可适用于各类任务的通用语言表示,实际使用时仅需要将其微调至下游任务的训练数据即可。ELMo [1]作为预训练模型的早期工作之一,利用LSTM分别训练正向和反向语言模型,并综合两个语言模型得到最终的语言表示。GPT[2]采用Transformer解码器的结构,以单向语言模型作为优化目标来训练模型,在自然语言理解和自然语言生成任务上均取得了较好的性能。BERT采用双向Transformer编码器结构,设计了掩码语言模型(Masked Language Model)和下句预测(Next Sentence Prediction)这两个优化目标,大幅提升了神经网络模型在各类自然语言理解任务上的最优性能。

16.png

ELMo, GPT, BERT模型结构示意图[3]

后续工作从多个方向对现有的预训练模型进行改进,如:知识增强(ERNIE, KnowBERT)、改进优化目标(XLNet, SpanBERT)、模型压缩(ALBERT)等。除此之外,预训练语言模型也被适配至各类NLP任务上,如对话生成(DialoGPT, CDial-GPT)、情感分析(SentiBERT, SentiLARE)等,以得到任务相关的语言表示或语言生成模型。关于预训练模型的研究已成为NLP领域目前最活跃的方向之一。

[1] Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer: Deep Contextualized Word Representations. NAACL-HLT 2018.

[2] Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever. Improving Language Understanding by Generative Pre-Training.

[3] Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL-HLT 2019.

我们的工作


Language Generation with Multi-Hop Reasoning (EMNLP 2020) 

人类语言通常涉及各种常识知识。例如当人类在讲故事或者对日常生活中的场景进行解释时,通常会联系相关的背景常识知识进行推理。目前将语言模型在大规模语料上预训练然后在下游任务上微调的范式在许多文本生成任务上取得了显著的效果。尽管语言模型通过在大量语料上预训练隐式地学习到了一定的知识,然而这种获取知识的方式没有显式利用知识库和知识图谱,因此较为低效。在语言生成领域,目前已有的增强预训练模型常识知识的方法是将预训练模型在常识知识库中的知识三元组上进行进一步的后训练。本研究提出利用更丰富的常识知识图谱信息,在文本生成时显式地在知识图谱中的关系路径上进行多跳推理,并利用图谱中的相关实体用于文本生成。我们在故事生成、解释生成、溯因常识推理等任务上进行了实验,自动文本生成评测指标和人工指标均表明所提出的模型能够更好地在生成中利用常识知识。

在本研究中,我们关注一类条件文本生成任务,即给定输入源文本X,目标是生成一段目标文本Y。我们额外增加一个知识图谱G=(V,E)的输入为模型在生成时提供常识知识的信息。下图为模型框架图。

15.png

模型分为四个部分:(a)使用预训练的语言模型对上下文进行建模,根据输入和当前生成的目标文本前缀计算当前步骤的解码器隐状态。(b)使用图卷积神经网络对输入的知识图谱进行编码得到图结构感知的实体向量表示和关系向量表示。(c)多跳推理模块结合实体表示、关系表示和当前的解码器隐状态,在知识图谱上进行多跳推理,并在图上计算归一化的实体概率分布。(d)利用解码器隐状态计算词表上的概率分布和拷贝概率,根据图谱上实体分布选择拷贝相关的实体用于当前词的生成。自动指标和人工评测均表明所提出的模型比现有基线模型取得了一定的提升。下图给出了一个案例分析,展示了模型在两跳路径上推理的过程。

image.png

工作细节详见https://www.aclweb.org/anthology/2020.emnlp-main.54/

A Knowledge-Enhanced Pretraining Model for Commonsense(EMNLP 2020) 

常识故事生成是一个重要但有挑战性的任务,它要求在给定开头的情况下扩展出合理的故事情节。尽管现有的语言生成模型(如GPT-2)已经能够生成具有良好的局部连贯性的故事,但是这些模型仍然难以在整个故事中规划全局连贯的事件序列,同时也常常倾向于生成简单通用的情节(如I had a great time”)。此前的研究已经表明,预训练的GPT-2能够在机器翻译、文本摘要等生成任务上达到较好的效果,但是这些任务的输入通常包含了生成目标文本所需的充分信息,而常识故事生成是典型的开放生成任务,输入仅仅提供了非常有限的信息。对于这类任务,GPT-2等现有的模型生成仍然会出现很多严重的问题,包括语句重复、逻辑冲突、缺少上下文一致性和相关性等如下图所示。尽管GPT-2也能够生成一些相关的概念,但是这些概念通常是简单通用的,而且从生成的故事全局来看缺乏逻辑性。因此,给定有限的信息作为输入,如果没有外部知识的指导,后续的生成任务将是非常困难的。这种困难主要在于根据有限的信息联想相关的常识知识,以及处理上下文实体、事件之间的因果和时序关系。 

1.png

许多研究工作已经表明显示地引入外部的常识知识能够提升语言理解能力和生成文本的长程连贯性。例如,借助常识知识库ConceptNetATOMIC,对于图1中给定的上文,许多潜在相关的概念(如run over”、“cross street”)就能够被推理和预测出来。这些知识库包含丰富的概念语义知识和常识推理知识,我们通过在从这些知识库中构建的常识样例上后训练,来用这样的常识知识增强GPT-2,对常识故事生成提供额外的关键信息。经验性的实验表明这样的训练方式能够提升生成故事的连贯性和逻辑性。同时,我们采用多任务学习的方式来解决处理因果和时序依赖的问题。除了普通的生成式优化目标之外,我们为GPT-2增加了一个额外的多标签分类优化目标,该优化目标要求区分人撰写的故事和因果时序上混乱的故事。该额外的分类任务使得我们的模型能够隐式地捕捉的逻辑性,即建模因果时序依赖、句间连贯性,同时避免重复。模型示意图如下:

2.png

工作细节详见https://www.mitpressjournals.org/doi/pdf/10.1162/tacl_a_00302


SentiLARE (EMNLP 2020)

详见平台工具

LCCC & CDial-GPT (NLPCC 2020 Best Student Paper Award)

详见平台工具


CoAI论文列表


A Large-Scale Chinese Short-Text Conversation Dataset

NLPCC 2020 Best Student Paper Award

Yida Wang, Pei Ke, Yinhe Zheng, Kaili Huang, Yong Jiang, Xiaoyan Zhu, Minlie Huang


SentiLARE: Sentiment-Aware Language Representation Learning with Linguistic Knowledge

EMNLP 2020

Pei Ke, Haozhe Ji, Siyang Liu, Xiaoyan Zhu, Minlie Huang


Language Generation with Multi-Hop Reasoning on Commonsense Knowledge Graph

EMNLP 2020

Haozhe Ji, Pei Ke, Shaohan Huang, Furu Wei, Xiaoyan Zhu, Minlie Huang


A Knowledge-Enhanced Pretraining Model for Commonsense Story Generation

TACL 2020

Jian Guan, Fei Huang, Zhihao Zhao, Xiaoyan Zhu, Minlie Huang


Generating Commonsense Explanation by Extracting Bridge Concepts from Reasoning Paths

AACL-IJCNLP 2020

Haozhe Ji, Pei Ke, Shaohan Huang, Furu Wei, Minlie Huang