使用Encoder-Decoder模型自動生成對聯的思路
在我看到第壹篇Encoder-Decoder模型的論文的時候,我就覺得用這個來作對聯自動生成是再合適不過的了,做詩詞應該也是比較適合的,但是相對詩詞,用它來做對聯肯定更合適。今天的文章就講講這方面的內容。這篇文章主體內容是2015年底形成的,本來我的打算是收集些訓練數據,讓Encoder-Decoder+Attention生成些對聯把這篇文章補充些例子再發出去,不過因為精力原因,遲遲沒有做這個實驗,短期內可能也沒時間做,所以幹脆就現在分享出來,哪位有精力和興趣可以實際做壹下試試,這看上去沒啥實際用處,但是還是挺好玩的壹件事。不過我確信用這個模型做對聯生成壹定可以做好。
為什麽說Encoder-Decoder模型適合作對聯呢?因為相對詩詞等任務來說,對聯要求嚴格的上下聯對仗,老話不是說了嗎,以前兒童詩詞啟蒙時都要學壹些對仗規則,比如:天對地,雨對風,大陸對長空,王八對綠豆,八戒對悟空(後面兩句是本文作者詩才大發胡謅的,請未成年兒童切勿模仿或者在有大人監督場景下模仿@^^@)。這種嚴格的對仗關系意味著極強的映射規律性,而這個用RNN和Encoder-Decoder來說正好是能夠發揮它們長處的地方,所以說Encoder-Decoder加上RNN配置是非常適合用來做對聯的。
對聯的嚴格對仗性可以給個小故事,大家直觀感受下:
相傳解縉少時家貧,其家有片對著地主家的壹片竹林,於是他作了副對聯:“門對千桿竹,家藏萬卷書”。地主心說:我幼兒園肄業文憑,妳在我面前妳這麽裝有文化好嗎?於是不爽,命人把竹子砍短,解縉靈機壹動把對聯加了壹個字,改成:“門對千桿竹短,家藏萬卷書長”。地主氣不打壹處來,放出功夫熊貓把竹子全吃了,解縉又改對聯:“門對千桿竹短無,家藏萬卷書長有”。氣得地主直跳腳罵娘。
從這個故事我們可以歸納出中心思想就是:從古至今,有錢就是大爺,可以隨便砍伐樹木破壞生態而不被法律制裁@^^@…..不對,跑偏了,中心思想應該是:肄業的同學都容易創業成功,成為新時達的地主老財,而好好上學的大都免不了家貧的結局…..也不對,妳看我這三觀都歪到引力波都達不到的宇宙之外了,中心思想是:對聯是有極強的對仗性的。而這種對仗性代表了什麽?代表了語言單元之間極強的規律性,而這是非常適合通過機器來學習並容易做好的事情,這是為何我堅信用Encoder-Decoder做對聯壹定能夠做好的原因。
。。。。。。