鼠年春节临近,来试试新的基于 GPT2-Chinese 自动对联系统:自动写对联(输入开头进行对联自动生成)和自动对对联(输入上联自动写下联)。老的自动对联功能是去年基于深度学习机器翻译模型上线的一个自动对对联的对话模块:风云三尺剑,花鸟一床书---对联数据集和自动对联机器人。

这一年来,以BERT为代表的预训练模型不断推陈出新,席卷整个自然语言处理(NLP)领域,这其中NLP的难题之一自然语言生成(NLG)也得到了很大的助力,特别是去年上半年 OpenAI 的 GPT-2 的推出,非常惊艳,不过 GPT-2 的模型主要是基于英文领域的语料训练的,虽然到目前为止已经发布了含有15亿参数的完整模型,对于英文领域的自动文本生成非常有帮助,但是对于中文领域的NLG来说还是很受限。

回到中文领域,我们之前推荐过AINLP技术交流群杜则尧同学的开源项目:GPT2-Chinese:【Github】GPT2-Chinese:中文的GPT2训练代码 ,这个项目可以针对中文数据进行 GPT-2 模型的训练,可以写诗,新闻,小说,或是训练通用语言模型。所以对于自动对联生成来说,我能想到的就是基于 GPT2-Chinese 和对联数据训练一份对联领域的 GPT2 模型,用于对联自动生成:写对联和对对联。幸运的是,对联数据已经有了,依然是我们去年使用过 couplet-dataset ,特别感谢提供这份数据的同学,这份对联数据包含70多万条对联,唯一可惜的是没有横批,要是有横批,就可以制造更完整的自动写对联和对对联系统了。

特别需要说明的是,这里并不是基于一个大的中文 GPT-2 模型进行特定领域 finetune 的,虽然目前已经有了大型的中文 GPT-2 预训练模型:gpt2-ml ,但是和 GPT2-Chinese 是两个体系,而 GPT2-Chinese 目前还不支持这个大模型的迁移。关于如何使用 GPT2-Chinese 进行对联数据的 GPT2 模型训练,可以直接参考该项目的代码和文档,写得非常清楚,如果有问题,可以查看一下 issue,我遇到的问题基本上就是通过文档和 issue 解决的,这里提几个注意的点:

1)训练数据可以按 GPT2-Chinese 训练数据的格式要求写个脚本进行转换,可以加一些标记符,譬如开头,结尾以及上联下联之间的分隔符,这样在生成的时候可以基于这些标记符做trick;
2)训练时请将参数 min-length 设置为一个较小的数字,默认为128,由于对联数据长度比较短,按默认的设置训练后只会得到乱码,这里直接设置为1;
3)根据自己GPU显存的大小调整 batch_size 和配置参数,  batch_size 默认为8,训练时在1080TI的机器上会出现OOM,将其设置为4就可以完全跑通了,其他参数不用动;

对联 GPT-2 模型训练完成后,可以直接基于 GPT2-Chinese 里面的 generate.py 脚本进行测试,很方便,我基于 generate.py 和 flask-restful 写了一个 GPT2 的 Server 版本,对接到 AINLP 公众号后台了,感兴趣的同学可以关注 AINLP 公众号,直接进行测试:

关键词“写对联”触发对联生成,例如输入“写对联鼠年”,对联模型会基于“鼠年”进行自动续写,会给出以“鼠年”开头大概3个对联:

关键词“对对联”触发基于上联对下联,例如输入“对对联 一帆风顺年年好”,会给出大概3个候选对联:

当然你可以用“上联”触发老的对联版本进行对比:

至于两个版本的效果,欢迎多做对比,如果遇到了很棒的机器生成对联,欢迎留言分享。最后,欢迎关注AINLP公众号,测试自动生成对联和自动对对联功能:

关于AINLP对话功能模块,感兴趣的同学还可以参考:

腾讯词向量和相似词、相似度、词语游戏系列
相似词查询:玩转腾讯 AI Lab 中文词向量
玩转腾讯词向量:词语相似度计算和在线查询
腾讯词向量实战:通过Annoy进行索引和快速查询
玩转腾讯词向量:Game of Words(词语的加减游戏)
词向量游戏:梅西-阿根廷+葡萄牙=?
腾讯 800 万中文词向量 API Demo 搭建

NLP相关工具及在线测试(公众号对话测试)
五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP
中文分词工具在线PK新增:FoolNLTK、LTP、StanfordCoreNLP
Python中文分词工具大合集:安装、使用和测试
八款中文词性标注工具使用及在线测试
百度深度学习中文词法分析工具LAC试用之旅
来,试试百度的深度学习情感分析工具
AINLP公众号新增SnowNLP情感分析模块

自动对联及作诗机
风云三尺剑,花鸟一床书---对联数据集和自动对联机器人
自动对联活动获奖结果以及机器对联赏析
"自动作诗机"上线,代码和数据都是公开的

夸夸聊天机器人及其他技能
一行Python代码实现夸夸聊天机器人
为了夸夸聊天机器人,爬了一份夸夸语料库
夸夸聊天机器人升级:从随机到准个性化
来,试试语音(识别)聊天(机器人)
来,试试成语接龙
推荐一份中文数据,来试试汉字、词语、成语、歇后语在线检索
AINLP公众号新增"狗屁不通文章生成器"接口
来,试试彩虹屁生成器

如果对AINLP公众号的文章感兴趣,也欢迎参考我们的年度阅读清单:AINLP年度阅读收藏清单。

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。

鼠年春节,用 GPT-2 自动写对联和对对联相关推荐

  1. 当我尝试写一个自动写小说的AI,长路漫漫的踩坑之路 ToT

    起因 事情是这样的,前几天我在刷B站的时候看到一个大佬用训练了一个自动写高考作文的AI 链接: https://www.bilibili.com/video/BV1pr4y1w7uM 那我就想既然别人 ...

  2. 国人独有(写诗、对对联)--国学中的深度学习项目

    中华文化博大精深,今天就要分享下国人才会使用的深度学习项目,一个是自动写诗的项目,一个是出上联,对下联的对对联项目项目. ** 1.自动写诗 ** tensorflow_poems项目是能够完成中文古 ...

  3. LoveLive!出了一篇AI论文:生成模型自动写曲谱

    视学算法报道 编辑:泽南.小舟 我们终于知道那些折磨人的乐谱是怎么来的了 -- 都是 AI 生成的. 知名偶像企划 LoveLive! 发 AI 论文了,是的没错. 最近,预印版论文平台 arXiv ...

  4. Pytorch+LSTM+AI自动写诗实战

    文章目录 1.数据集和任务定义 2.读取数据集 3.数据预处理 4.数据制作 5.定义网络结构: 6.测试网络 7.可视化 8.总结 1.数据集和任务定义 本次采用的是唐诗数据集,一共有接近60000 ...

  5. 鼠年春节90后们很忙:加班、看春晚、找工作都是主力

    [TechWeb]1月20日  百度发布了<好运中国年:百度 App 鼠年春节大数据报告>,报告通过对春节前国民搜索行为与资讯关注指数的洞察分析,呈现鼠年春节网友生活的新趋势与新格局. 报 ...

  6. 方维模板修改,发布分享、主题有商品时,标签需自动写到input里,不要再手动去点击添加,手动点击可取消...

    方维模板修改,发布分享.主题有商品时,标签需自动写到input里,不要再手动去点击添加,手动点击可取消 方维购物分享系统模板修改,发布分享.主题有商品时,标签需自动写到input里,不要再手动去点击添 ...

  7. 推荐一个自动写paper的软件,让IEEE吐血泪奔

    网址:http://pdos.csail.mit.edu/scigen/ 在网页上,只要输入作者名,电脑就可以自动为你生成一篇"SCI级别"的computer science论文, ...

  8. 机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)...

    摘要: 最近互联网上出现一个热词就是"freestyle",源于一个比拼rap的综艺节目.在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴 ...

  9. 新媒体运营 | 6个自动写文案的宝藏网站,助你摆脱灵感枯竭

    想入行自媒体的伙伴们,快速涨粉就要写好文案:写不出文案?灵感枯竭?加班N个小时了.如果大家也有以上的苦恼,快码住学习. 给大家分享一些自动写文章的宝藏网站.相信这个可以帮助到大家找回灵感,准时下班!上 ...

最新文章

  1. 淘宝——移动端页面终端适配
  2. 太简单!日常小动作让你摆脱程序员职业病
  3. 解决方案需求提升 安防工程细节化事项要了解
  4. J2EE互联网产品打造
  5. 洛谷P1527 [国家集训队] 矩阵乘法 [整体二分,二维树状数组]
  6. C++主流预处理,编译和链接过程
  7. 图书ISBN号码检验(洛谷P1055题题解,Java语言描述)
  8. Python的基本语法汇总
  9. 在SQL SERVER里面用命令查包含某字段的表
  10. OSPF区域内拓扑计算原理与实验
  11. 大型网站的 HTTPS 实践(三):基于协议和配置的优化
  12. ZendStudio 安装
  13. A Belief Propagation Algorithm for Multipath-Based SLAM IEEE TWC2019阅读
  14. Excel 数据库函数
  15. bmp格式的图片怎么转jpg格式?怎么快速转图片格式?
  16. 企业微信自建应用手动授权,获取用户详细信息
  17. 企业数字化转型 CIO需遵循三大原则
  18. 从Linux角度以及JVM源码,深入NIO的细节
  19. 程序员算法趣味题:落单的男女
  20. 红色的反色是青色引申出PS怎么反色之教程

热门文章

  1. 中国机器人市场今年或超60亿美元,5年来平均增长率28%
  2. 给大家介绍一款开源的熟人/陌生人社交平台
  3. comsol射孔完井案例
  4. Slicer学习笔记(四十)slicer从volume生成labelmap并显示
  5. python疲劳检测
  6. vivo x6plus支持html,vivox6plusd是不是全网通
  7. 色彩、印刷类重要网站
  8. python的实用加密模块
  9. 无线电综合测试仪哪个品牌好
  10. 【每日早报】2019/07/11