尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
聚焦信息技術領域 為產業發聲
導讀
近年來,機器人寫作的新聞都會不絕於耳。不少人對此會產生好奇,機器到底是如何寫作的呢?在近期舉辦的中國計算機大會技術論壇之「自然語言生成:讓機器掌握文字創作的本領」上,來自哈爾濱工業大學計算機學院的教授秦兵分享了他們在機器寫作方面的成果和案例。九州連線根據現場資料整理如下:
人工智能的發展階段大概經歷了三個階段,計算智能、感知智能、認知智能。在這些階段,人工智能分別具有能存會算、能看會讀、能理解會表達的特徵。到了認知智能這個階段,我們都希望它可以有智商、有情商、能夠進行自我表達,所以表達生成也是智能當中很重要的部分。
文本生成廣受關注
文本生成是指期待未來有一天計算機能夠像人類一樣會表達,能夠撰寫出高質量的自然語言文本。在文本生成中,我們有很多任務。歸結起來有,文本到文本、數據到文本、圖像到文本三種任務。
文本到文本:文本到文本的生成主要指對給定文本進行理解、豐富、變換,從而獲得新文本的技術。例如,一個長文本到短文本;亦或是對話的上一句到下一句等類似的文本生成。
數據到文本:數據到文本的生成指根據給定的數值數據生成相關文本。結構化數據例如,財經類新聞、比賽類新聞,就是數據到文本的生成。
圖像到文本:圖像到文本的生成是指根據給定的圖像生成描述該圖像內容的自然語言文本。
從近三年的統計結果來看,文本生成論文的分布是逐年上漲的。由此可見,從任務層面講,文本生成任務是得到大家廣泛關注的。
議論文生成需先理解題意
文本生成可以分為句子級文本生成和篇章級文本生成等。
句子級文本生成包括標題生成、對話生成、風格遷移;篇章級文本生成包括詩詞生成、財報賽事、篇章議論文。
從文本的生成角度來看,大多數的人對詩歌、賽事、對話等形式或許已經司空見慣,因此我們主要以議論文為例。
從議論文的結構來講,是由論點、論據、論證組成;從議論文的語言風格來講,議論文是準確、嚴密的;並且具有概括性和簡潔性。從議論文的邏輯來講,議論文有清楚的邏輯關係,如總分、層進、並列等;所以,這些都對現有的生成模型提出挑戰。例如,基於神經網路的模型生成的結果重復情況嚴重;存在語義偏移的問題。
因此,如果我們要產生議論文,首先需要生成議論文標題。例如,利用現有的題幹進行立意分析之後,尋找論點,通過論點擴展論點句,通過句子的選擇、排序,生成議論文。
雖然我們在做的是生成,但實際上我們需要先理解題意。從類型角度講,題幹一般有三種類型。例如,命題、半命題、題目自擬。
議論文如何抓住題意
如何抓住題意是在寫議論文時最關鍵的一點,一般我們會遇到三種類型的題目。
第一種就是直接給定題目;第二種是半命題形式,比如以XX為題,直接將半命題的關鍵詞提取即可;第三種是最難的一種,給出一段話,自己理解後寫議論文。這種情況先要進行題意理解。
比如,「人生難免遇到挫折,沒有經歷過挫折的人生不是完整的人生」,通過這段話自擬題目時,需要首先生成話題詞,對於這樣的話題詞是可以使用深度神經網路進行分析的。
利用一個層次化神經網路編碼器來學習材料文本的表示向量,通過一個解碼器來預測話題詞的概率值,選擇概率值較大的詞做為這段材料的話題詞。例如,生成的話題集合是「挫折」「方向」「命運」「進步」。
其實我們在進行深度學習訓練時是需要大量的學習資料的,而議論文題目是有限的,得到的訓練題也是有限的,一些真題等對於神經網路來說是遠遠不夠的。
基於此,我們使用了一些知乎的語料,知乎經常有一些話題標籤及段落,這些標籤可以作為話題詞,如此就可以將知乎作為一個訓練集,之後再採用遷移學習的方法,使用材料議論文的題在最後一層做微調,這是目前在題意分析上的結果。
當然,可能這只是在獲得議論文之後,過程大概是這樣的。首先在議論文里獲得立意。立意之後開始寫文章,進行論點的擴充即擴充話題詞,之後進行聚類,以便未來通過不同論點的種子尋找相關句子。
如何為文章填充「血和肉」
在議論文里最關鍵的就是如何進行句子的抽取和排序,僅僅依靠之前的立意、分析的完成、議論文中心的抓取等詞是無法達到800字議論文要求的。
因此,通過這些話題詞的擴充就可以找到許多詞語集合,將擴充後的詞語分別進行聚類,聚成不同段落的論點種子,每個論點種子找到之後,再從論點出發,做為文庫里句子的選擇和句子的排序這兩個過程是尤為關鍵的。
那接下來如何進行句子的選擇和排序呢?
首先我們要想到在做議論文時是有段落結構和句子結構的,也就是說一般在做議論文時,會給段落角色做了一系列標記,對幾萬篇議論文進行標註,發現可以劃分為一些引論段,過渡段和中心論點、材料內容段等11個段落角色。同時在段落里還有句子角色,比如一些材料句、分論點的總結句、升華句等。這些句子本身也是有一定的角色。
當這些標註句子體系都做完之後,我們需要進行句子的選擇。接下來的問題就是說,文章生成時,既要與論點相關又要保證它所處的位置,恰好是一個論證的事例句。所以,如何帶入角色,一種是在選擇時採用基於語義的句子抽取和基於LDA的選擇方法,為個句的角色分別保留相似度較高的句子作為候選。
那麼,問題來了,當我們選擇句子之後,接著就開始進行排序。
排序時我們依舊需要考慮句子的排序問題。運用Learning to Rank(LTR)的方法,里面會有一些特徵,同時我們需要統計,在一個句子里不同的段落有不同的轉移。所以,對於不同段落的轉移都有不同的轉移矩陣,將這類句子作為角色特徵。
如何評價機器生成的議論文
下面是一個例子。
這就是在剛才排序生成的論文,效果較好。這篇文章在剛開始就點明主題,中間引用事實論據,包括在分論點段落,最後採用排比句作總結升華主題,這是一個完全自動生成的議論文。
剛才有老師也提到,評價確實是一個問題,一個是通過語文老師評價;一個是使用作文自動評閱系統;打分時也會做一些點評,比如這一句是充滿藝術魅力的話;某些句子有什麼樣的特色;這個句子有表現力等等;當然這是人工做的一些模板,給出的分數也是較高的。
最後,對於這篇機器寫的議論文,人工閱卷老師給了高分,仔細分析它的優點,一般是主題比較明確、開門見山。缺點也會出現,就是他們之間的鏈接不夠流暢,沒有明顯的聯繫及過渡。這也是在機器生成長篇論文時遇到的碎片化問題。這也是以後應該進行完善的地方。
總結
最後總結一下。議論文生成本身是文本生成的一種方式,對長文本的生成和邏輯要求較高,我們進行了一些初步的探索。其實文本生成的任務形式是非常多的。詩歌、對話、風格遷移等,所以需求還是非常廣泛的。再就是對於長文本的生成,模仿人類的寫作模式值得探索。
聲明:
文章經本人審閱
本平台法律顧問為山西晉商律師事務所
九州連線原創文章,轉載請註明出處