【AI寫詩不只得獎還能出書】臺灣學生如何讓Chatbot小冰學會圖文創作



臺大資工所研究生吳肇中及網多所畢業生鄭文峰去年在微軟亞洲研究院實習時,靠519人詩作訓練語意模型,搭配電腦視覺技術解讀圖片,讓小冰機器人具備了看圖寫詩的能力(圖片來源/iThome)

「不會寫詩的人讓機器會寫詩了!」一同指導小冰寫詩研究的微軟亞洲研究員宋睿華笑著說,自己不是文學背景,更不會寫詩,卻讓AI學會寫詩,感覺非常奇妙。

小冰寫詩這項研究,是由臺灣大學徐宏民教授、林守德教授,和亞洲研究員宋睿華一同指導,臺灣大學資工研究所一年級研究生吳肇中及網路多媒體研究所畢業生鄭文峰,去年在微軟亞洲研究院實習時,一同完成的成果。

宋睿華表示,由於小說的素材比較容易從網路上取得,小冰從小說開始學習,研究團隊企圖讓小冰透過學習文學的語料,創造出獨特的小說,但是,因為小說的複雜度較高,且要維持故事情節一致性較為困難。

在一次與產品組的討論後,團隊轉而讓小冰自動寫新詩,甚至還加入圖片的想法,要用圖片激發更多創意,當系統輸入一張圖片時,便能自動產生與圖片主題相關的新詩。

他們總共收集了519位詩人的作品,高達9萬行的詩句作為資料集,先用電腦視覺技術將圖片擷取出多個物件,找出相對應的關鍵字,再利用詩句常出現的關鍵詞集,過濾出詩句常見的詞彙,以這些關鍵詞彙延伸,創造出4句新詩。

小冰總共學習了519位詩人的作品,經過1萬次的訓練,且每一輪訓練至需要0.6分鐘,將所有詩作讀1萬遍大約只需要100個小時,但是人類若要讀1萬次,則需要100年才能完成。

兼顧詩作的流暢性與創造力是難題,AI寫詩比下圍棋更具挑戰

開始著手進行研究後,鄭文峰表示,由於要讓小冰寫的詩具有創造力,就不能給予程式太多限制,導致雖然是用圖片觸發程式,但是產生的文字,卻不一定跟影像有關,若是刻意將程式調整與圖片高度相關,詩句的流暢性又會變得比較差。

因此,「要怎麼從中取捨最難的!」鄭文峰表示,訓練模型的過程中很難量化,詩的流暢性和圖片相關性的比率,一開始都是透過一次又一次的嘗試,再由人工判斷下一次語意模型該如何修正。

宋睿華表示,語言生成的難題比下圍棋更具有挑戰性,機器人寫作最困難的是,「寫作不像圍棋,有明顯的勝負可以判斷。」圍棋的可能性在一個有限的集合中,還能夠自我訓練,因為有勝負的標準可以判斷系統成果。

不過,「寫作這件事特別自由!」宋睿華指出,沒有一個標準可以判定什麼樣的詩屬於好詩,也很難判定語句是否通順、整首詩是否符合邏輯,她認為,這些都是尚未有答案的問題,即使自然語言技術目前可以判定詞語搭配句子文法,是否正確,但是整首詩的4句話,是否符合邏輯,目前還是個難題。

分析詞性序列比對過去詩集,產生流暢詩句

一開始的詩句生成模型,每一句都是用一個關鍵字來觸發,但是4句話組合起來,就會沒有語言邏輯在建置學習模型的階段,鄭文鋒試了許多方法試圖解決這項難題,舉例來說,他利用句子相互影響的關聯,來改善詩的邏輯通順程度,程式給予第一句話的狀態(State),會影響第二句的生成結果。

改用此模型後,有次詩句中在前面出現了「沉睡」,後面則出現「鼾聲」,當時團隊因為這項突破非常開心,不過,後來發現這個模型還是不太穩定,有時候會產生非常好的句子,有時候又會出現完全讀不懂的句子,以當時他們的評分系統來看,此模型的平均分卻只有30幾分。

由於該模型採用遞歸神經網路(RNN),根據前一個字串,預測下一個字,但是為了要有創新性,必沒有將系統設定成選擇關聯性最大的字,而是在10~15個較適合的字集中,隨機挑選一個,因此,有時候產生出來的句子並不符合文法規則。

以往,要解決這個問題,可以用N-gram 語言模型,從既有的詩集中,統計每兩個字連起來的詞彙機率,透過這個語言模型,自動判定每句話的詞彙是否常見。

而吳肇中和團隊想出了另一個創新的辦法,透過語意分析器(Parser),將既有的詩集的字句,大致分為名詞、動詞和形容詞等詞性,將詞性的序列建置成一個模型,小冰生成的句子就能根據詞性連續的序列規則,大致判斷出該句子是否符合常見的詞性序列,如此一來,系統就能自動斷詩句流暢程度,減少產生出一些不通順的句子。

系統自動產生出來的詩句,一開始都是由團隊內部,用人工的方式判斷句子的流暢度,等系統較穩定,可以產生較通順的句子後,再請專業的詩人評分,若是大規模的評分,一次大約會邀請30位詩人,整個研究前後總共歷經了20次的評分,隨後,這項研究得到微軟小冰專案經理的關注,建議團隊在網路上張貼小冰的作品,觀察大眾的反應。

《全文請見iThome(http://www.ithome.com.tw/news/116707)》