春節對聯哪家強,人工智慧對得狂!

2020-12-11 雷鋒網


(雷鋒網出品)對聯傳統源遠流長,一幅寫春聯的需要極高的文學素養,不僅要求平仄齊整、意境對稱,還要表達闢邪除災、迎祥納福的美好願望。但是對於現代人來說,由於對傳統文學的生疏和缺乏對對聯的練習,對對聯變得不容易了。

但是人工智慧技術普及的今天,攻克對聯難關早就有人來嘗試進行了。其中最為著名,最富有文學氣息的當屬微軟亞洲研究院的對聯繫統,其由微軟亞洲研究院副院長周明負責開發,並能夠利用本交互方式可以隨意修改下聯和橫批。如下圖所示,就「千江有水千江月」一對就可對出「萬裡無雲萬裡天」。

地址:http://duilian.msra.cn/default.htm

不過,在新奇以及個性化方面不如最近新崛起的百度春聯繫統,百度開發的對聯繫統有刷臉出對聯以及藏頭對聯等系統。如下圖所示,以人工智慧為題眼,AI給出的一幅對聯。

手機打開喲:https://aichunlian.cctv.com/?from=singlemessage&isappinstalled=0

不僅能刷臉生成對聯,還可以預測合成你20歲年紀模樣。雷鋒網(公眾號:雷鋒網)用李飛飛博士的一張照片試了一下,可以在下方滾動區域清晰的看到每一步的文字。結果顯示預測年齡為32歲,AI給顏值打80分。另外,生成的李博士20歲的照片頗為青春(* ̄︶ ̄)。

當然,還有去年非常火的個人版AI對聯,設計者是本科畢業於黑龍江大學計算機專業,碩士畢業於英國萊斯特大學讀計算機碩士的王斌。從測試結果(如下圖)來看,對於一般的對聯效果也是槓槓滴~

對聯地址:https://ai.binwang.me/couplet/

雷鋒網介紹,這個AI的訓練,是基於深度學習seq2seq模型,用到了TensorFlow和Python 3.6,代碼已經開源,你可以自行打開下面的GitHub地址下載開原始碼嘗試訓練。另外,訓練它所用的數據集來自一位名為馮重樸_梨味齋散葉的博主的新浪博客,總共包含超過70萬副對聯。

開原始碼:

https://github.com/wb14123/seq2seq-couplet

訓練數據集:https://github.com/wb14123/couplet-dataset

所以想自己寫春聯的,但又憋不出大招的小夥伴,可以使用上述任一AI系統打造出屬於你自己的對聯。

AI對聯背後的技術

關於AI對聯所採用的技術,微軟周明在博客中曾經寫過這樣一段話:「我設計了一個簡單的模型,把對聯的生成過程看作是一個翻譯的過程。給定一個上聯,根據字的對應和詞的對應,生成很多選字和候選詞,得到一個從左到右相互關聯的詞圖,然後根據一個動態規划算法,求一個最好的下聯出來。

從上述文字我們可以知道,AI對聯採用的是一系列機器翻譯算法。和不同語言之間的翻譯不同的是,給出上聯,AI對出下聯是同種語言之間的翻譯。

這也就是說對聯繫統的水平直接依賴於機器翻譯系統的發展歷程。

機器翻譯的最初的源頭可以追溯到1949年,那時的技術主流都是基於規則的機器翻譯, 最常見的做法就是直接根據詞典逐字翻譯,但是這種翻譯方法效果確實不太好。「規則派」敗北之後,日本京都大學的長尾真教授提出了基於實例的機器翻譯,即只要存上足夠多的例句,即使遇到不完全匹配的句子,也可以比對例句,只要替換不一樣的詞的翻譯就可以。但這種方式並沒有掀起多大的風浪。

1993年發布的《機器翻譯的數學理論》論文中提出了由五種以詞為單位的統計模型,其思路主要是把翻譯當成機率問題,這種翻譯方式雖然在當時風靡一時,但真正掀起革命的還是2014年深度學習的興起。

2016年穀歌正式宣布將所有統計機器翻譯下架,神經網絡機器翻譯上位,成為現代機器翻譯的絕對主流。具體來說,目前市面上的AI對聯基本上都是基於attention機制的seq2seq模型的序列生成任務訓練而成。seq2seq模型又叫Encoder-Decoder。

關於此模型AI科技評論之前曾經寫過一篇文章詳細介紹,尚未理解的讀者請戳此《完全圖解RNN、RNN變體、Seq2Seq、Attention機制》閱讀。

現在我們也把關鍵部分摘要如下:Encoder-Decoder結構先將輸入數據編碼成一個上下文向量c:

得到c有多種方式,最簡單的方法就是把Encoder的最後一個隱狀態賦值給c,還可以對最後的隱狀態做一個變換得到c,也可以對所有的隱狀態做變換。

拿到c之後,就用另一個網絡對其進行解碼,這部分網絡結構被稱為Decoder。具體做法就是將c當做之前的初始狀態h0輸入到Decoder中:

還有一種做法是將c當做每一步的輸入:

由於這種Encoder-Decoder結構不限制輸入和輸出的序列長度,因此應用的範圍非常廣泛。

Attention機制

在Encoder-Decoder結構中,Encoder把所有的輸入序列都編碼成一個統一的語義特徵c再解碼,因此,c中必須包含原始序列中的所有信息,它的長度就成了限制模型性能的瓶頸。如機器翻譯問題,當要翻譯的句子較長時,一個c可能存不下那麼多信息,就會造成翻譯精度的下降。

Attention機制通過在每個時間輸入不同的c來解決這個問題,下圖是帶有Attention機制的Decoder:

每一個c會自動去選取與當前所要輸出的y最合適的上下文信息。具體來說,我們用aij衡量Encoder中第j階段的hj和解碼時第i階段的相關性,最終Decoder中第i階段的輸入的上下文信息 ci就來自於所有 hj 對 aij  的加權和。以機器翻譯為例(將中文翻譯成英文):

輸入的序列是「我愛中國」,因此,Encoder中的h1、h2、h3、h4就可以分別看做是「我」、「愛」、「中」、「國」所代表的信息。在翻譯成英語時,第一個上下文c1應該和「我」這個字最相關,因此對應的a11就比較大,而相應的 a12、a13、a14就比較小。c2應該和「愛」最相關,因此對應的a22就比較大。最後的c3和h3、h4最相關,因此a33、a34的值就比較大。

至此,關於Attention模型,我們就只剩最後一個問題了,那就是:這些權重aij是怎麼來的?

事實上,aij同樣是從模型中學出的,它實際和Decoder的第i-1階段的隱狀態、Encoder第j個階段的隱狀態有關。

同樣還是拿上面的機器翻譯舉例,a1j的計算(此時箭頭就表示對h'和 hj 同時做變換):

a2j 的計算:

a3j的計算:

以上就是帶有Attention的Encoder-Decoder模型計算的全過程。

關於解碼器和編碼器

解碼器和編碼器所用的網絡結構,在深度學習時代大多使用卷積網絡(CNN)和循環網絡(RNN),然而Google 提出了一種新的架構 Transformer也可以作為解碼器和編碼器。

註:Transformer最初由論文《Attention is All You Need》提出,漸漸有取代RNN成為NLP中主流模型的趨勢,現在更是谷歌雲TPU推薦的參考模型,包括谷歌給自己TPU打廣告的Bert就是Transformer模型。總的來說,在NLP任務上其性能比前兩個神經網絡的效果要好。

這徹底顛覆了過去的理念,沒用到 CNN 和 RNN,用更少的計算資源,取得了比過去的結構更好的結果。

Transformer引入有以下幾個特點:提出用注意力機制來直接學習源語言內部關係和目標語言內部關係,1.拋棄之前用 RNN 來學習;2.對存在多種不同關係的假設,而提出多頭 (Multi-head) 注意力機制,有點類似於 CNN 中多通道的概念;3..對詞語的位置,用了不同頻率的 sin 和 cos 函數進行編碼。

機器翻譯任重而道遠

從對聯的角度來看,當前的機器翻譯還有很大的改進方向,例如前段時間有句很火的上聯「莫言路遙餘秋雨」,我們用微軟對聯繫統輸入之後,就沒有答案。出現這種問題的原因在於算法和數據集。

然而我們把這個上聯輸入王斌版的對聯繫統,就會得到「看雲山遠處春風」的下聯。雖說給出了下聯,但是意境和上聯相比卻相差甚遠:「莫言路遙餘秋雨」的字面意思是近現代三位文人,意境是「不必言道路漫長空餘寂寥秋雨」,AI給出的下聯不僅在意境上無法呼應,字面意思也對應不上。

管中窺豹,僅此一例便能看出當前的機器翻譯存在一些問題,正如AI科技評論從百度處獲悉:「當前主要都是採用端到端序列生成的模型來自動寫對聯和寫詩,對於一般用戶來說生成的春聯或者詩歌讀起來也能朗朗上口,感覺也不錯。

從專業角度來說其實還有很大的改進空間,例如現有的模型都是基於語料學習生成的,而採集的春聯庫通常包含的詞彙是有限的,生成的春聯有一定的同質性,內容新意上有待繼續提升。其次是機器有時候會生成一些不符合常理的內容,對生成內容的理解也值得繼續深挖。」

宏觀到整個機器翻譯層面,不同語言之間的機器翻譯還存有很多技術難點亟待攻克,比如語序混亂、詞義不準確等。

當前的算法和算力的發展確實能夠解決一些特定的困難,但是機器翻譯的研究應在以下三個方面有所突破:大語境,而不再是孤立句子地處理;基於理解而不再是停留在句法分析的層面;高度專業化和專門化。

參考文獻:

https://www.jianshu.com/p/7e66bec3123b

http://www.citnews.com.cn/e/wap/show.php?classid=9&id=101568

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 春節對聯哪家強,人工智慧對得狂
    (雷鋒網出品)對聯傳統源遠流長,一幅寫春聯的需要極高的文學素養,不僅要求平仄齊整、意境對稱,還要表達闢邪除災、迎祥納福的美好願望。但是對於現代人來說,由於對傳統文學的生疏和缺乏對對聯的練習,對對聯變得不容易了。
  • 過大年,和人工智慧一起對對聯!
    春節貼春聯是中國人慶祝春節(過年)的特有習俗。但我真正對對聯有些認識和喜歡,不是從年年貼春聯開始的,而是從《唐伯虎點秋香》那段經典的對對子開始的。那工整又有韻律和意境的對子,配上有節奏的配樂讀出來著實讓人熱血沸騰,大呼過癮。
  • 春節對聯知識大全
    對聯,是一種由字數相同的兩句話組成的對仗工整,韻律協調,語義完整的文學形式。是我國人民普遍喜愛的一種民族文化形式。 這種對聯在春節時期應用最廣,稱之為春聯,"對聯","對子",是一種獨特的中國文學形式。它以工整、對偶、簡潔、精巧的文字描繪時代背景,抒發美好願望。
  • 春節貼對聯的講究!你貼對了嗎?|春節|對聯-知識百科-川北在線
    春節貼對聯的講究!你貼對了嗎?時間:2020-01-24 11:50   來源:今日頭條   責任編輯:毛青青 川北在線核心提示:原標題:春節貼對聯的講究!你貼對了嗎? 每到春節家家戶戶都將紅春聯貼於門上,辭舊迎新,增加喜慶的節日氣氛。那麼,馬上要過年了,2020年春節貼對聯有什麼講究?其寓意是什麼?
  • 腦迴路清奇的AI原來是這麼對對聯的
    《機智過人》中的AI對聯機器人「小薇」  對聯,中國傳統文化之一。春節臨近,家家戶戶都要貼春聯,不過這對聯如果是人工智慧對的,你能分辨出來嗎?  周翔說,人對對聯本質上跟AI也是一樣的,通過對詞彙的排列組合生成對聯,雖然人的詞彙和組合性能上沒有AI豐富,但人的聯想和創造力比AI強太多,所以對的對聯更加具有意境在裡面。「如果要從對對聯的規則上講,AI對對聯是工整、嚴格、沒有規則錯誤的,只是還缺少一些意境。」
  • 2021年春節哪天貼對聯最好?對聯可以提前貼嗎?
    註:圖文轉載自網絡, 感謝大家的閱讀,如有侵權,請聯繫刪除                        在春節來臨之前,家家戶戶都會把上一年貼的春聯撕下來,貼上新的對聯。春節貼對聯是有很多講究的,並不能隨隨便便亂貼的。那2021年春節哪天貼對聯最好?對聯可以提前貼嗎?
  • 2018狗年春節對聯集錦,2018狗年春節4字對聯大全
    眼看著就要到2018狗年春節了,春聯是家家戶戶過年必不可少的。有不少中國家庭都是自己寫春聯,那麼各種不同數字的春聯都有哪些呢,小編特地整理了2018狗年春節4字對聯大全,供大家參考。4、按因果關係區分也有對聯是按照因果關係來區分的,「因」是上聯,「果」是下聯。比如「方向正確城鄉富,政策英明衣食豐」,只有城鄉富了才會衣食豐,兩者有因果關係。
  • 2020年鼠年新年春節對聯
    小編整理有關鼠年新春對聯,提前祝全國人民鼠年新春吉祥! 2020新年春節對聯(帶橫批)(一) 1.上聯:精耕細作豐收歲 下聯:勤儉持家有餘年 橫批:國強富民 15. 上聯:發憤圖強興大業 下聯:勤勞致富建小康 橫批:科技致富 2020新年春節對聯(帶橫批)(二) 1.
  • 2017年雞年春節對聯怎麼寫? 經典吉祥的雞年春節對聯大全
    2017年雞年新春就要到了,很多家庭選擇自己寫對聯,既省錢又討喜,那麼雞年春節對聯怎麼寫呢?小編整理了經典吉祥的雞年春節對聯大全。一帆風順年年好下聯:萬事如意步步高【橫批】:吉星高照上聯:福星高照全家福省下聯:春光耀輝滿堂春【橫批】:春意盎然上聯:百年天地回元氣下聯:一統山河際太平【橫批】:國泰民安上聯:歡聲笑語賀新春下聯:歡聚一堂迎新年【橫批】:合家歡樂上聯:福星高照全家福省下聯:春光耀輝滿堂春【橫批】:春意盎然上聯:春滿人間百花吐豔下聯:福臨小院四季常安【橫批】:歡度春節
  • 2021春節除夕夜經典對聯及春聯
    在春節裡最受人們喜歡的便是貼上新的對聯了,不知你們的對聯是否準備好了呢,那麼你們知道關於2021春節除夕夜經典對聯及春聯內容還有哪些呢
  • 春節民俗聯播之——對聯
    對聯,又稱對偶、門對、春貼、春聯、對子、桃符、楹聯,是寫在紙、布上或刻在竹子、木頭、柱子上的對偶語句。對聯是漢族的傳統文化之一,也是中國傳統文化瑰寶。相傳起於五代後蜀主孟昶。一年春節,他在自家門板桃符上寫了兩句詞:「新年納餘慶,嘉節號長春」。因此,最早的對聯也稱作「桃符」。
  • 適合小學生的春節對聯
    適合小學生的春節對聯篇一:  陽春開物象 麗日煥新天  春風添畫意 歲月賦詩情
  • 春節貼對聯需要注意什麼
    春節即將到來,家家戶戶都開始要貼對聯迎接農曆新年。春節對聯張貼不止是為了喜慶,而且有很多的含義,那麼貼對聯到底應該有什麼講究呢。一、貼對聯的時間按照各地習俗的不同,過年貼對聯的時間也稍有差異。俗話說:「二十八,貼花花」,也有些地方的民謠裡有「二十九,貼倒酉(意即貼春聯)」一說,所以,對聯一般在臘月二十八、二十九貼。也有一種說法,春聯是大年三十早上貼的。一般來說,貼春聯還是在除夕那一天的早上6點到中午12點之間,貼之前要先把之前的舊春聯給撕掉,不要直接把新春聯貼在上面,這樣不吉利。把舊春聯撕破,表示破除不好的運,有除舊布新的意思。
  • 2019寧鄉中考各鄉鎮的高中考點對聯哪家強(附投票)
    昨天是2019年初中畢業升學考試的第一天今年中考我市共有初三學生13400人初二學生12312人將先後走進考場參加他們人生中的第一場大考為營造良好氛圍,鼓舞考生士氣,各考點都在校門口等地懸掛了對聯又是一年中考時,讓我們一起來看看,今年的中考考點對聯哪家強……書山有路已囊螢九載至此方舒千裡目學海無涯須映雪三冬於斯更上一層樓上聯緊扣中考主題,意為經過九年勤學苦讀,所有考生已經明確了學習目標和人生方向。激勵所有考生在此次考試中發揮水平、舒展理想。
  • 牛年新年對聯大禮包,2021年新年春節對聯大禮包
    牛年門窗貼,大師手繪春聯,雙面印刷,新年開運,禮盒包裝,吉祥對聯,喜慶福字貼,鴻運紅包,字跡清晰不易掉色,高端大氣,多種款式,原創設計傳承文化之美,喚醒新春之美,讓你一年喜氣洋洋!紅紅火火春節大禮包,一對生肖貼,2張福字,4張福字窗貼,1.1米和1.3米對聯各一副,年貨不用等,春節用品現在買能省好幾倍,追求每一個細節,福氣提前帶回家,讓年味更濃,紅紅火火過新年!新年家家戶戶需要的好東西~福字窗花貼紙,輕奢閃粉,閃耀新春,顏色鮮豔,樣式多種,可以自行選擇搭配,新年來啦,裝扮的美美噠,營造元旦新年的氛圍吧!
  • 聊一聊鄉村春節貼對聯的有趣故事
    每年春節在城市裡無非就是小家庭的團圓飯以及公共領域的娛樂活動,如看春晚等,基本上也體驗不到傳統春節的樂趣,總覺得和一般的節日沒啥區別,無非人情往來、吃吃喝喝。但是,回想以前的農村春節,那還是保留很多傳統的習俗,裡面有很多有趣的往事,可以拿出來說道說道。
  • 2021新春春節對聯這樣寫,絕對牛氣沖天
    如有侵權,請在後臺留言聯繫我們進行刪除,謝謝 春節是我們中華民族的傳統佳節,每當春節到來之際,會有貼春聯的習俗。下面是小編給大家帶來的2021新春春節對聯大全,供大家參考,我們一起來看看吧!新春春節對聯大全(一)1.  年年順景則源廣,歲歲平安福壽多。【吉星高照】2. 一帆風順年年好,萬事如意步步高。
  • 現代年輕人很不解,春節為何要貼對聯?
    對聯張貼樣式可能有些父母也只是隨口應答,父母不知,兒孫不解。筆者今天就和讀者對聯的歷史。對聯又稱為楹聯、對子,所以貼對聯又叫貼對子。對年時候貼的對聯一般都是寫在紙上,張貼在門口左右,並且匹配有橫批。除此外,對聯還有刻印在木頭上,並且用硃砂填塗其上,常見如某某亭子,某某宅院等等。
  • 2018經典春節對聯大全 這就叫歷史底蘊!
    川北在線核心提示:原標題:2018經典春節對聯大全 這就叫歷史底蘊! 對稱是對聯的最顯著表現形式,中國的建築美又多用對稱這一傳統的形式。建築與對聯結構相映成趣,這是聯文加橫批的又一個緣由。狗年春節馬上到了,下文為大家分享經典的春節對聯,敬請閱讀!
  • 2017雞年春節對聯大全匯總(帶橫批春聯)
    2017雞年春節對聯大全匯總(帶橫批春聯)  春節到了,家家戶戶都忙著貼春聯,2017年是雞年,包含「雞」字的春聯別具風採,那麼有哪些雞年帶雞字的對聯呢?小編整理了2017雞年辭舊迎新帶「雞」字的對聯帶橫批、雞年賀歲對聯等的最新對聯大全,希望大家喜歡:》》2017年雞年寶寶幾月出生好?