公众号 系统之神与我同在

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

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

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

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


第一步:预训练中文GPT 模型

·训练语料:30GB 中文文本
·单向Transformer
·模型大小:
·Layer=12
·Hidden size= 768
·Intermediate size =3076
·Attention head = 12
·总参数量:1.1亿

第二步:使用古诗词数据进行模型微调

诗歌生成流程

乐府诗歌生成的优点

格律、押韵、平仄等等格式层面表现非常好。
生成诗歌的多样性很高。
在深层次的内容、意境、氛围、引经据典等艺术层面,也经常有出人意料 的表现。
生成高质量诗歌的概率很高,不需要从大量生成的例子中挑选少数好例子。
经常可以生成普通人难以辨别真假的诗歌。

乐府诗歌生成的主要不足之处

诗歌质量对输入标题较为敏感 ,如标题中出现古诗中常见的意象,如秋、竹、月、莲花、送别等等,通 常能创作出意境贴切的诗歌。
有时在语义的连贯性会出现前后不一致,例如输入中秋为主题, 尾句描写的景色并非属于秋天。

模型开源

开源链接: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

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
任意字序的文本生成

GPT只能按照从左往右的常规顺序 进行生成。
给定的context只能置于开头 ,模型接着开头生成篇章。

PMLM可以进行任意顺序的填词式的文本生成。

给定的context可以放置在篇章的任意位置,模型接着填充给定context 词中间的空白,完成篇章生成。

上面的例子中,即使限制任意两个 context词之间都包含14个词,但是PMLM依然可以生成流程通顺的篇章。
无序样本生成

任意字序的文本生成方式的应用
例:PMLM可用于格式要求严格的文本生成场景

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

生成质量的评估

PMLM生成的宋词示例(单次生成,未经人工筛选)

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

  1. 业界分享 | 阿里达摩院:超大规模预训练语言模型落地实践

    2021年3月,阿里达摩院机器智能实验室AliceMind家族发布了最新训练的270亿参数规模的中文语言理解和生成统一模型--PLUG,但随着预训练模型规模越来越大,如何将大规模的预训练模型在下游任务 ...

  2. 微软提出AdaLM,用于开发小型、快速且有效的领域预训练语言模型

    ©作者 | 常馨 学校 | 北京邮电大学硕士生 研究方向 | NLP.信息检索 论文标题: Adapt-and-Distill: Developing Small, Fast and Effectiv ...

  3. EMNLP 2021 | 大道至简:微软提出可生成高质量文本表示的预训练语言模型

    ©作者 | 常馨 学校 | 北京邮电大学硕士生 研究方向 | NLP.信息检索 Abstract 基于自动编码器的语言模型在 Dense Retrieval(DR)中受到越来越多的关注,因为其训练编码 ...

  4. 论文浅尝 | 探索将预训练语言模型用于事件抽取和事件生成

    论文笔记整理:郝凯龙,南京大学硕士 链接:https://www.aclweb.org/anthology/P19-1522.pdf 动机 传统的 ACE 事件抽取任务依赖于人工标注的数据,耗费大量的 ...

  5. NLP判断语言情绪_网易严选nlp预训练语言模型的应用

    随着2018年底bert的发布,预训练(pre-train)成为nlp领域最为热门的方向之一,大规模的无监督语料加上少量有标注的语料成为了nlp模型的标配.本文将介绍几种常见的语言模型的基本原理和使用 ...

  6. 手把手系列!大规模预训练语言模型

    最有价值的AI技术之一 预训练语言大模型 在如今的AI圈子里,人们对于AI技术的追求不仅体现在学术水平的领先性上,还越发强调技术是否能落地.是否给能人类生产生活带来实际的价值.可以看到,无论是学术圈和 ...

  7. NLP之PLUG:阿里达摩院发布最大中文预训练语言模型PLUG的简介、架构组成、模型训练、使用方法之详细攻略

    NLP之PLUG:阿里达摩院发布最大中文预训练语言模型PLUG的简介.架构组成.模型训练.使用方法之详细攻略 目录 PLUG的简介 PLUG的得分 PLUG的特点 PLUG的架构组成 PLUG的模型训 ...

  8. 预训练语言模型在网易严选的应用

    导读:随着Bert的发布,预训练 ( pre-train ) 成为NLP领域最为热门的方向之一,大规模的无监督语料加上少量有标注的语料成为了NLP模型的标配.本文将介绍几种常见的语言模型的基本原理和使 ...

  9. 自己动手实现20G中文预训练语言模型示例

    起初,我和大部分人一样,使用的是像Google这样的大公司提供的Pre-training Language Model.用起来也确实方便,随便接个下游任务,都比自己使用Embedding lookup ...

最新文章

  1. 微信小程序之apply和call ( 附示例代码和注释讲解) apply call  bind
  2. MATLAB_no.1:入门作业_histeq():_imhist()_(男孩的三个图,以及文字描述)
  3. 【IOS 开发】Object - C 数组使用详解
  4. MySQL 技术篇- linux下mysql数据库利用binlog文件进行数据回滚实例演示,binlog恢复数据库的两种方式
  5. MySQL TEXT数据类型的最大长度
  6. java异常 json,记一个toJSONString异常
  7. C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
  8. 计算机专业中职好就业不,内江计算机专业中职好不好
  9. Microsoft Dynamics CRM 2015 之安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错...
  10. python创建虚拟环境打包_用虚拟环境保存库文件--Python打包-阿里云开发者社区
  11. mysql中Group_concat,查找列名,将字符串转换为数字比较大小等杂项记录
  12. ubuntu装python3_ubuntu16.04安装python3的包报错
  13. R语言|ggtreeExtra包绘制进化树
  14. uci2019计算机录取,美国加州大学这九所分校2019最新录取数据
  15. 如何反编译 cocos creator 生成 的jsc文件/反编译jsc文件(一)
  16. android cs,CS 1.6移植安卓手机:附安装教程
  17. JS实现视频弹幕效果
  18. Ubuntu 安装搜狗中文输入法
  19. 海斯凯尔获B轮融资 另类学霸创业记!
  20. 吐血整理:人工智能、机器学习领域13个常见概念

热门文章

  1. cocos2d-x创建精灵动画
  2. 【一天掌握CommandLine】文件操作
  3. leaflet百度坐标转天地图坐标(bd09转大地2000)(leaflet篇.56)
  4. Ubuntu20.04系统离线安装ssh-server
  5. 画家问题 pku1681
  6. 实例讲解SQL注入攻击
  7. 3G技术必将加速中小企业信息化进程
  8. 消费宝张建勇:Testin云测助力打造成消费者“盲选”最优商家
  9. VUE动态切换皮肤 VUE动态切换背景图片 操作 / VUE 主题切换
  10. java计算机毕业设计基于ssm的少儿编程管理系统(源代码+数据库+Lw文档)