乐府 ——预训练语言模型在诗词对联生成中的应用
公众号 系统之神与我同在
背景简介
中文传统诗歌对联生成:
在格律、平仄、押韵方面具有严格的要求
常规的诗歌对联生成模型加入规则对格式进行限制
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生成的宋词示例(单次生成,未经人工筛选)
乐府 ——预训练语言模型在诗词对联生成中的应用相关推荐
- 业界分享 | 阿里达摩院:超大规模预训练语言模型落地实践
2021年3月,阿里达摩院机器智能实验室AliceMind家族发布了最新训练的270亿参数规模的中文语言理解和生成统一模型--PLUG,但随着预训练模型规模越来越大,如何将大规模的预训练模型在下游任务 ...
- 微软提出AdaLM,用于开发小型、快速且有效的领域预训练语言模型
©作者 | 常馨 学校 | 北京邮电大学硕士生 研究方向 | NLP.信息检索 论文标题: Adapt-and-Distill: Developing Small, Fast and Effectiv ...
- EMNLP 2021 | 大道至简:微软提出可生成高质量文本表示的预训练语言模型
©作者 | 常馨 学校 | 北京邮电大学硕士生 研究方向 | NLP.信息检索 Abstract 基于自动编码器的语言模型在 Dense Retrieval(DR)中受到越来越多的关注,因为其训练编码 ...
- 论文浅尝 | 探索将预训练语言模型用于事件抽取和事件生成
论文笔记整理:郝凯龙,南京大学硕士 链接:https://www.aclweb.org/anthology/P19-1522.pdf 动机 传统的 ACE 事件抽取任务依赖于人工标注的数据,耗费大量的 ...
- NLP判断语言情绪_网易严选nlp预训练语言模型的应用
随着2018年底bert的发布,预训练(pre-train)成为nlp领域最为热门的方向之一,大规模的无监督语料加上少量有标注的语料成为了nlp模型的标配.本文将介绍几种常见的语言模型的基本原理和使用 ...
- 手把手系列!大规模预训练语言模型
最有价值的AI技术之一 预训练语言大模型 在如今的AI圈子里,人们对于AI技术的追求不仅体现在学术水平的领先性上,还越发强调技术是否能落地.是否给能人类生产生活带来实际的价值.可以看到,无论是学术圈和 ...
- NLP之PLUG:阿里达摩院发布最大中文预训练语言模型PLUG的简介、架构组成、模型训练、使用方法之详细攻略
NLP之PLUG:阿里达摩院发布最大中文预训练语言模型PLUG的简介.架构组成.模型训练.使用方法之详细攻略 目录 PLUG的简介 PLUG的得分 PLUG的特点 PLUG的架构组成 PLUG的模型训 ...
- 预训练语言模型在网易严选的应用
导读:随着Bert的发布,预训练 ( pre-train ) 成为NLP领域最为热门的方向之一,大规模的无监督语料加上少量有标注的语料成为了NLP模型的标配.本文将介绍几种常见的语言模型的基本原理和使 ...
- 自己动手实现20G中文预训练语言模型示例
起初,我和大部分人一样,使用的是像Google这样的大公司提供的Pre-training Language Model.用起来也确实方便,随便接个下游任务,都比自己使用Embedding lookup ...
最新文章
- 微信小程序之apply和call ( 附示例代码和注释讲解) apply call bind
- MATLAB_no.1:入门作业_histeq():_imhist()_(男孩的三个图,以及文字描述)
- 【IOS 开发】Object - C 数组使用详解
- MySQL 技术篇- linux下mysql数据库利用binlog文件进行数据回滚实例演示,binlog恢复数据库的两种方式
- MySQL TEXT数据类型的最大长度
- java异常 json,记一个toJSONString异常
- C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
- 计算机专业中职好就业不,内江计算机专业中职好不好
- Microsoft Dynamics CRM 2015 之安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错...
- python创建虚拟环境打包_用虚拟环境保存库文件--Python打包-阿里云开发者社区
- mysql中Group_concat,查找列名,将字符串转换为数字比较大小等杂项记录
- ubuntu装python3_ubuntu16.04安装python3的包报错
- R语言|ggtreeExtra包绘制进化树
- uci2019计算机录取,美国加州大学这九所分校2019最新录取数据
- 如何反编译 cocos creator 生成 的jsc文件/反编译jsc文件(一)
- android cs,CS 1.6移植安卓手机:附安装教程
- JS实现视频弹幕效果
- Ubuntu 安装搜狗中文输入法
- 海斯凯尔获B轮融资 另类学霸创业记!
- 吐血整理:人工智能、机器学习领域13个常见概念
热门文章
- cocos2d-x创建精灵动画
- 【一天掌握CommandLine】文件操作
- leaflet百度坐标转天地图坐标(bd09转大地2000)(leaflet篇.56)
- Ubuntu20.04系统离线安装ssh-server
- 画家问题 pku1681
- 实例讲解SQL注入攻击
- 3G技术必将加速中小企业信息化进程
- 消费宝张建勇:Testin云测助力打造成消费者“盲选”最优商家
- VUE动态切换皮肤 VUE动态切换背景图片 操作 / VUE 主题切换
- java计算机毕业设计基于ssm的少儿编程管理系统(源代码+数据库+Lw文档)