来源:HyperAI超神经
春节接近尾声,你是否还沉浸在年味里?
到腊月二十九、三十,家家户户贴上了 红红的春联,春节就正式拉开了序幕。
春联也称为‘对联’、‘门对’、‘楹联’,是汉语所独有的一种艺术形式,有着悠久的历史。2005 年,中国国务院把楹联习俗,列为第一批国家非物质文化遗产名录。
对联对联,讲究的就是‘成对’,要对仗工整,平仄协调。不过现代人的对对联技能,已经远不如古代的文人墨客,甚至有时候可能连上下联都傻傻分不清楚。而聪明的 AI 已经学会自己写对联了。
70 万条对联数据
教会 AI 对对子
在现有公开的对联数据集中,以冯重朴_梨味斋散叶_的博客所发布的 couplet-dataset 数据最为庞大、使用也最为广泛。




这份数据集共包含 70 余万条对联数据,按字切分。
数据集分为训练集、测试集以及词汇表。
其中,如上图节选内容所示,训练集分输入、输出两部分,分别为对联的上联与下联,按次序一一对应,测试集同理。
数据集详细信息如下:
couplet-dataset
对联数据集
数据来源:冯重朴_梨味斋散叶
包含数量:70 万条对联
数据格式:.txt
数据大小:59.7 MB(压缩文件 27.4 MB)
地址:https://hyper.ai/datasets/14547
这个数据集已经成为对联数据中的‘团宠’,被众多 AI 工程师、团队用来作为写对联模型的训练数据集,华为的乐府春联亦是用该数据集训练而来,可通过以上地址下载该数据集。不过有一个小小的遗憾是,这一数据集中没有横批,还需要各位自己发挥。
AI:没有我对不出来的对联
一位名叫王斌的程序员,爬取和使用该对联数据集,用 GTX 1080 Ti 训练了 4 天,得到了一个自动对对联模型。效果如何?我们来测试一下。





测试地址:https://ai.binwang.me/couplet/
这位程序员还将该项目在 GitHub 开源:
https://github.com/wb14123/couplet-dataset
另外一位工程师,则基于 GPT2-Chinese 和该对联数据集,训练了一份对联领域的 GPT-2 模型,可自动生成对联。
它将其 server 版本对接到微信公众号 AINLP 后台,可以直接在对话框进行测试。
输入关键词‘写对联’,可触发对联自动生成,例如输入‘写对联金牛’,对联模型会基于‘金牛’进行自动续写,给出以‘金牛’开头的 3 个对联:



输入‘对对联 + 一组上联’,可得到三组对联,比如:




目前看来,对于一些经典对联,AI 能做到对仗比较工整,且想象力丰富,对于同一上联,可对出多个不同下联;而对于一些不常在对联中出现的字词,AI 表现有些随意牵强。当然,让 AI 对‘人工智能’什么的,也的确是有些为难人家了。
华为团队开发的 AI 对联,也是以 Couplet-dataset 对联数据集作为训练数据。该模型可以根据给定主题,生成对联。以下分别是输入‘新春快乐’、‘平安健康’、‘一夜暴富’主题的生成结果,可滑动查看:



明年,你要不要也训练一个自己的 AI 写春联模型,为家人写副对联呢?