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

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

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

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

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

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

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

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

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

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

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