author: 张俊林
在我看到第一篇Encoder-Decoder模型的论文的时候,我就觉得用这个来作对联自动生成是再合适不过的了,做诗词应该也是比较适合的,但是相对诗词,用它来做对联肯定更合适。今天的文章就讲讲这方面的内容。这篇文章主体内容是2015年底形成的,本来我的打算是收集些训练数据,让Encoder-Decoder+Attention生成些对联把这篇文章补充些例子再发出去,不过因为精力原因,迟迟没有做这个实验,短期内可能也没时间做,所以干脆就现在分享出来,哪位有精力和兴趣可以实际做一下试试,这看上去没啥实际用处,但是还是挺好玩的一件事。不过我确信用这个模型做对联生成一定可以做好。
为什么说Encoder-Decoder模型适合作对联呢?因为相对诗词等任务来说,对联要求严格的上下联对仗,老话不是说了吗,以前儿童诗词启蒙时都要学一些对仗规则,比如:天对地,雨对风,大陆对长空,王八对绿豆,八戒对悟空(后面两句是本文作者诗才大发胡诌的,请未成年儿童切勿模仿或者在有大人监督场景下模仿@^^@)。这种严格的对仗关系意味着极强的映射规律性,而这个用RNN和Encoder-Decoder来说正好是能够发挥它们长处的地方,所以说Encoder-Decoder加上RNN配置是非常适合用来做对联的。
对联的严格对仗性可以给个小故事,大家直观感受下:
相传解缙少时家贫,其家有片对着地主家的一片竹林,于是他作了副对联:“门对千杆竹,家藏万卷书”。地主心说:我幼儿园肄业文凭,你在我面前你这么装有文化好吗?于是不爽,命人把竹子砍短,解缙灵机一动把对联加了一个字,改成:“门对千杆竹短,家藏万卷书长”。地主气不打一处来,放出功夫熊猫把竹子全吃了,解缙又改对联:“门对千杆竹短无,家藏万卷书长有”。气得地主直跳脚骂娘。
从这个故事我们可以归纳出中心思想就是:从古至今,有钱就是大爷,可以随便砍伐树木破坏生态而不被法律制裁@^^@…..不对,跑偏了,中心思想应该是:肄业的同学都容易创业成功,成为新时达的地主老财,而好好上学的大都免不了家贫的结局…..也不对,你看我这三观都歪到引力波都达不到的宇宙之外了,中心思想是:对联是有极强的对仗性的。而这种对仗性代表了什么?代表了语言单元之间极强的规律性,而这是非常适合通过机器来学习并容易做好的事情,这是为何我坚信用Encoder-Decoder做对联一定能够做好的原因。
|Encoder-Decoder模型
Encoder-Decoder框架可