乐府 ——预训练语言模型在诗词对联生成中的应用

乐府 ——预训练语言模型在诗词对联生成中的应用_第1张图片

公众号 系统之神与我同在

背景简介
中文传统诗歌对联生成:

在格律、平仄、押韵方面具有严格的要求
常规的诗歌对联生成模型加入规则对格式进行限制
GPT
GPT(包括GPT-2、GPT-3)是由OpenAI 推出的大规模预训练语言模型, 其具备强大的文本生成能力

乐府作诗机训练流程
第一步:在大规模中文语料上预训练中文GPT模型

第二步:使用小规模的古诗词语料,在GPT模型上进行微调

乐府 ——预训练语言模型在诗词对联生成中的应用_第2张图片
第一步:预训练中文GPT 模型

·训练语料:30GB 中文文本
·单向Transformer
·模型大小:
·Layer=12
·Hidden size= 768
·Intermediate size =3076
·Attention head = 12
·总参数量:1.1亿
乐府 ——预训练语言模型在诗词对联生成中的应用_第3张图片
第二步:使用古诗词数据进行模型微调
乐府 ——预训练语言模型在诗词对联生成中的应用_第4张图片
诗歌生成流程
乐府 ——预训练语言模型在诗词对联生成中的应用_第5张图片
乐府诗歌生成的优点

格律、押韵、平仄等等格式层面表现非常好。
生成诗歌的多样性很高。
在深层次的内容、意境、氛围、引经据典等艺术层面,也经常有出人意料 的表现。
生成高质量诗歌的概率很高,不需要从大量生成的例子中挑选少数好例子。
经常可以生成普通人难以辨别真假的诗歌。
乐府 ——预训练语言模型在诗词对联生成中的应用_第6张图片
乐府诗歌生成的主要不足之处

诗歌质量对输入标题较为敏感 ,如标题中出现古诗中常见的意象,如秋、竹、月、莲花、送别等等,通 常能创作出意境贴切的诗歌。
有时在语义的连贯性会出现前后不一致,例如输入中秋为主题, 尾句描写的景色并非属于秋天。
乐府 ——预训练语言模型在诗词对联生成中的应用_第7张图片
模型开源

开源链接:https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/NEZHA-Gen-TensorFlow

开源内容包括:

预训练的中文GPT模型
PMLM在乐府写宋词中的尝试
GPT模型能完成宋词生成吗?

难度非常大
宋词格式种类多。
训练数据少。历史上宋词总量很少,平均每个词牌的训练数据只有十几 二十首(一个近体诗格式四五万首),GPT模型无法从少量的数据中学到 丰富的格式变化( 6首钗头凤词牌)
我们发表于ACL2020的模型可以完成宋词生成的问题
BERT的训练方式——Masked Language Model (MLM)

MLM模型定义:部分词被替换成掩码[MASK],模型预测被掩码处理部分的原词。
传统的MLM模型(如BERT)假设每个词被掩盖的概率是固定的值 =0.15
乐府 ——预训练语言模型在诗词对联生成中的应用_第8张图片
PMLM

Probabilistically Masked Language Model (PMLM) (注:PMLM已收录至ACL2020)

PMLM基本思想:对MLM进行泛化,假设每个词被掩盖的概率值r独立地服从一个连续的先验概率分布,即 ~ ( )。

掩码生成过程:

掩码生成模块内置了先验概率p®
对于每个输入的句子 ,从p®采样每个词被掩盖的概率值 ∈ [0,1] ,每个词按照概率r被掩码处理,即被掩码处理的概率为r
PMLM的特例:

BERT可看做PMLM在p®为狄拉克函数时候的特例
p®为0~1之间的uniform distribution时,uniform-PMLM数学上等效于autoregressive permutated language model (APLM)(论文中已证明)
GPT是一个autoregressive language model,但是不具备”permutated”的特性
注:胶片接下来的内容,PMLM均代指uniform-PMLM乐府 ——预训练语言模型在诗词对联生成中的应用_第9张图片
任意字序的文本生成

GPT只能按照从左往右的常规顺序 进行生成。
给定的context只能置于开头 ,模型接着开头生成篇章。
乐府 ——预训练语言模型在诗词对联生成中的应用_第10张图片
PMLM可以进行任意顺序的填词式的文本生成。

给定的context可以放置在篇章的任意位置,模型接着填充给定context 词中间的空白,完成篇章生成。
乐府 ——预训练语言模型在诗词对联生成中的应用_第11张图片
上面的例子中,即使限制任意两个 context词之间都包含14个词,但是PMLM依然可以生成流程通顺的篇章。
无序样本生成
乐府 ——预训练语言模型在诗词对联生成中的应用_第12张图片
任意字序的文本生成方式的应用
例:PMLM可用于格式要求严格的文本生成场景

以基于GPT和基于PMLM的宋词生成模型对比为例
我们基于GPT的诗歌生成模型“乐府1.0” 可以生成格式正确的近体诗。但“乐府1.0”无法 实现宋词的生成。通过引入PMLM技术,将乐府升级为2.0版本,支持宋词的生成。
宋词生成是比近体诗生成难度大很多的任务。原因在于历史上宋词总量很少,平均每个词牌
的训练数据只有十几二十首(一个近体诗格式四五万首),GPT模型无法从少量的数据中学到
丰富的格式变化( 6首钗头凤词牌)。
PMLM通过先填入标点符号框定格式,随后填充中间文本的方式,避开让模型学习格式的问 题,可以实现格式完全正确的宋词生成。
一首PMLM以“赤壁怀古”为标题生成的词:
乐府 ——预训练语言模型在诗词对联生成中的应用_第13张图片
生成质量的评估
乐府 ——预训练语言模型在诗词对联生成中的应用_第14张图片
PMLM生成的宋词示例(单次生成,未经人工筛选)

你可能感兴趣的:(语言模型,自然语言处理,深度学习)