曹 娟,龔雋鵬,張鵬洲
(1.中國傳媒大學 新媒體研究院,北京 100024;2.中國傳媒大學 理工學部,北京 100024)
自從騰訊2015年推出Dream writer,機器新聞寫作開始受到國內(nèi)研究者的關(guān)注,并迅速成為學界和業(yè)界研究的熱點。機器新聞寫作是指基于數(shù)據(jù)統(tǒng)計和機器學習,運用算法,從可識別的數(shù)據(jù)中提取具有新聞價值的信息,形成新聞報道角度,自動選擇語詞樣本、新聞報道模板生成新聞故事[1]。國外的研究者稱機器新聞為機器人新聞(robot journalism)或自動化新聞(automated journalism)。目前國外已經(jīng)投入市場的產(chǎn)品包括美國Automated Insights公司的Wordsmith和Narrative Science公司的Quill,國內(nèi)企業(yè)也做了一系列探索和嘗試,包括騰訊公司的Dream writer、新華社的快筆小新、今日頭條的Xiaoming bot、第一財經(jīng)的DT稿王、南方都市報的“小南”和廣州日報的“阿同”[2]。當前適合通過機器或算法進行的新聞寫作,一般是以各種數(shù)據(jù)、圖表的引用和分析為基礎(chǔ)的硬新聞,具有明顯的數(shù)據(jù)處理色彩,主要用于財經(jīng)、體育、氣象地質(zhì)和健康等領(lǐng)域[3]。
機器新聞寫作的核心在于自然語言生成(natural language generation,NLG)技術(shù)。自然語言生成中一個典型技術(shù)就是使用恰當而流暢的文本來描述結(jié)構(gòu)化的數(shù)據(jù),即數(shù)據(jù)到文本生成(data-to-text generation;data-to-document generation)。數(shù)據(jù)到文本生成可以歸結(jié)為兩大任務:說什么(what to say)和怎么說(how to say it)。說什么是從輸入的數(shù)據(jù)中選擇合適的子集用于表達,也叫做內(nèi)容選擇(content selection);怎么說就是用自然語言描述這個子集,也叫做表層實現(xiàn)(surface realization)[4]。文中對近年來數(shù)據(jù)到文本生成的發(fā)展脈絡(luò)和研究方法進行梳理,對已有數(shù)據(jù)集和評價方法進行總結(jié),分析當前存在的問題并探討其未來發(fā)展方向。
數(shù)據(jù)到文本生成主要使用了基于規(guī)則(rule-based)的方法和數(shù)據(jù)驅(qū)動(data-driven)的方法?;谝?guī)則的方法,通常需要將內(nèi)容選擇和表層生成看作兩個獨立的子任務來完成;數(shù)據(jù)驅(qū)動的方法,可以單獨用于內(nèi)容選擇,也可以將內(nèi)容選擇和表層生成看作一個整體來完成。下面介紹近年來數(shù)據(jù)到文本生成在這兩種方法上的發(fā)展過程。
Sripada等在2001年提出了針對時間序列數(shù)據(jù)的兩階段內(nèi)容選擇模型(two-stage model for content selection)[5]。該模型基于人類專家對時間序列數(shù)據(jù)總結(jié)的觀察,第一階段構(gòu)建數(shù)據(jù)集的定性概述,第二階段結(jié)合實際數(shù)據(jù)生成總結(jié)。
Hallett等在2006年針對醫(yī)療病史的總結(jié)提出一種內(nèi)容選擇方法[6]。他們將一系列概念和事件聯(lián)系在一起,在內(nèi)容選擇的過程中,將事件根據(jù)相關(guān)性聚在一起,假設(shè)小的集群不包含重要事件,因此在總結(jié)中只提到大的集群事件。依據(jù)總結(jié)的類型和長度,在基于規(guī)則的方式里決定內(nèi)容的屬性。
Turnertt等在2008年使用決策樹(decision tree)方法解決了在地理坐標參照(geo-referenced)數(shù)據(jù)描述領(lǐng)域中的內(nèi)容選擇問題[7]。其中,樹的葉子代表內(nèi)容,節(jié)點代表事件,文本從葉子中的內(nèi)容產(chǎn)生。在同樣的領(lǐng)域,Thomas等于2012年使用文檔模式(document schemas)為盲人用戶解決了地理坐標參照數(shù)據(jù)文本描述的文檔規(guī)劃(document plan)問題[8]。其中,模式的選擇受到空間數(shù)據(jù)分析的影響。
Gatt等在2009年BabyTalk系統(tǒng)中使用了Hallet等在2006年提出的算法,用于內(nèi)容規(guī)劃(content plan),生成新生兒重癥監(jiān)護室數(shù)據(jù)的文本總結(jié)[9]。這些數(shù)據(jù)包括:傳感器數(shù)據(jù)(心率、血壓和血氧飽和度);實驗室結(jié)果和觀察;事件如護士行為、醫(yī)療診斷和治療等信息;自由文本。
Black等在2010年為了幫助孩子解決復雜的溝通需求(complex communication needs)構(gòu)建了一個工具,基于孩子可自編輯的傳感數(shù)據(jù)使用NLG技術(shù)創(chuàng)造他們每天在學校的故事[10]。輸入的傳感數(shù)據(jù)主要由孩子的位置、活動和與人或物體的交互構(gòu)成。他們使用了無線射頻識別技術(shù)(radio frequency identification,RFID),識別和監(jiān)控位置和交互,用麥克風記錄事件,還提供了可視化窗口。學校的老師和工作人員也可以訪問孩子的活動信息。Tintarev等于2016年進一步完善了該系統(tǒng),根據(jù)位置、時間和語音對事件進行聚類分類,來決定敘述的內(nèi)容,還使用規(guī)則定義意想不到或不平常的事件[11]。
Banaee等在2013年介紹了一種用于總結(jié)生理傳感器數(shù)據(jù)例如心率和呼吸率的內(nèi)容選擇方法[12]。從數(shù)據(jù)分析得到的抽象數(shù)據(jù)會被分成三種消息類型之一:全局信息、基于事件的消息和基于總結(jié)的消息,對于每個類型的消息都有一個單獨的排名函數(shù)評估文本中消息的重要性,最后根據(jù)消息的重要性和事件之間的依賴性對消息進行排序。同年,Schneider等介紹了跨學科MIME項目,即一個移動醫(yī)療監(jiān)測系統(tǒng),幫助進入醫(yī)院前現(xiàn)場第一人和救護醫(yī)生交接事務[13]。他們使用NLG總結(jié)醫(yī)療傳感器的數(shù)據(jù)和護理員的觀察和操作隨時生成文本交接報告。其中,內(nèi)容選擇模塊結(jié)合語料分析和專家咨詢獲得的規(guī)則使用樹列關(guān)聯(lián)被選信息,類似于修辭結(jié)構(gòu)理論[14](rhetorical structure theory,RST)。
Soto等在2015年描述了一種使用模糊集生成短天氣預報的方法[15]。方法中,內(nèi)容選擇部分由模糊算子進行操作,從所有可用數(shù)據(jù)中選出有用數(shù)據(jù)并轉(zhuǎn)化成數(shù)據(jù)對象。最后,創(chuàng)建事件列表用于生成。
Gkatzia等在2016年提出兩種基于規(guī)則的方法實現(xiàn)天氣預報的生成[16]。第一種方法使用了Kootval2008年針對天氣預報中不確定信息推薦的準則,第二種方法模擬了專家在天氣預報中選擇內(nèi)容的方式。相比第一種方法映射到不確定性,第二種方法在語言解釋上更加自然。
通過與專家合作或從專家生成的語料中獲取知識是推導規(guī)則的主要方式,因此基于規(guī)則的方法通常適用于特定領(lǐng)域,生成的文本可讀性較強,工業(yè)界大部分使用這種方式。但規(guī)則的數(shù)量也會隨著領(lǐng)域復雜度的增加而增加,開發(fā)維護系統(tǒng)的開銷可能會很大。
數(shù)據(jù)驅(qū)動的方法也被稱作可訓練(trainable)的方法。盡管NLG使用數(shù)據(jù)驅(qū)動方法比NLP的其他子領(lǐng)域起步晚,但數(shù)據(jù)驅(qū)動的方法已經(jīng)在NLG中占據(jù)了主導地位。
2003年Duboue和McKeown提出一種內(nèi)容選擇方法,從文本語料中自動學習內(nèi)容選擇規(guī)則和獲取相關(guān)語義,并用于人物傳記的短文本生成[17]。他們把內(nèi)容選擇當作分類任務,目標是判定一個數(shù)據(jù)庫條目是否應該出現(xiàn)在輸出中。
2005年Barzilay和Lapata提出一種協(xié)作內(nèi)容選擇方法(collective content selection),從語料和相關(guān)數(shù)據(jù)庫中自動學習內(nèi)容選擇規(guī)則,并用于足球賽事報道中[18]。與Duboue和McKeown在2003年提出的方法不同的是,他們把內(nèi)容選擇看作協(xié)作分類問題,考慮了數(shù)據(jù)庫條目之間的依賴性。
Liang等在2009年解決了數(shù)據(jù)記錄和給定文本描述子句匹配的問題,提出一種半隱馬爾可夫(hidden semi-Markov)匹配生成模型,統(tǒng)一實現(xiàn)了分割文本到話語并關(guān)聯(lián)話語到每個對應記錄的任務[19]。
Angeli等在2010年提出一種將內(nèi)容選擇和表層生成統(tǒng)一且與領(lǐng)域無關(guān)的實現(xiàn)方法[20]。該方法在2009年Liang等的基礎(chǔ)上,加入了對數(shù)線性(log-linear)模型,將生成過程細化成一系列本地決策(local decision),先選擇事件記錄,再選擇記錄屬性,最后選擇一系列屬性對應的模板。
Konstas等在2012年展示了將內(nèi)容選擇和表層生成統(tǒng)一的無監(jiān)督且與領(lǐng)域不相關(guān)的模型[21]。該模型沒有將生成過程分割成本地決策,而是使用了概率上下文無關(guān)語法(probabilistic context-free grammar,PCFG),全局地描述了輸入數(shù)據(jù)的固有結(jié)構(gòu)。該模型還用了超圖(hypergraph)結(jié)構(gòu)來獲得最好的推導。
Kondadadi等在2013年使用基于模板的統(tǒng)計NLG框架將內(nèi)容選擇和表層生成的任務聯(lián)合成一個統(tǒng)計學習過程[22]。其中,支持向量機(support vector machine,SVM)是構(gòu)建該模型的主要方法。
Sowdaboina等在2014年使用機器學習(machine learning)方法解決了對時序數(shù)據(jù)總結(jié)的內(nèi)容選擇問題[23]。機器學習方法被用來學習產(chǎn)生文本總結(jié)的潛在規(guī)則,目的是更加接近人類生成文本總結(jié)的規(guī)則。
Gkatzia等在2014年展示并對比了兩種實現(xiàn)內(nèi)容選擇的可訓練的方法[24]。第一種使用多標簽分類方法學習被選擇的內(nèi)容;第二種使用強化學習方法總結(jié)時序數(shù)據(jù),內(nèi)容選擇被看作馬爾可夫決策問題[25]。
Mahapatra等在2016年提出一種從表格形式的非文本數(shù)據(jù)實現(xiàn)統(tǒng)計自然語言生成的方法[26]。該方法使用了多分區(qū)圖(multi-partite graphs)用于天氣預報的生成,每個分區(qū)由數(shù)據(jù)集中的每個屬性創(chuàng)建,內(nèi)容從圖中有概率性地被選出。
近年來,深度學習在NLG中得到越來越多的關(guān)注。Mei等在2016年提出一種端到端(end-to-end)的與領(lǐng)域無關(guān)的基于編解碼(encoder-decoder)框架的神經(jīng)網(wǎng)絡(luò)模型[27],其中用到了基于長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)。Lebret等在2016年介紹了一種建立在文本生成的條件神經(jīng)語言模型(conditional neural language models)基礎(chǔ)上的神經(jīng)模型,用于根據(jù)維基百科人物傳記數(shù)據(jù)集中的事實表格生成人物傳記的初始句子[28]。
相比基于規(guī)則的方法,數(shù)據(jù)驅(qū)動的方法使得數(shù)據(jù)到文本生成更可能與領(lǐng)域無關(guān),不需要專家參與,并且更容易優(yōu)化,也更容易擴展。但是數(shù)據(jù)驅(qū)動的方法需要龐大的訓練數(shù)據(jù),而且訓練數(shù)據(jù)的質(zhì)量直接影響到訓練模型的結(jié)果。
目前在特定領(lǐng)域已經(jīng)公開了一些數(shù)據(jù)到文本生成的數(shù)據(jù)集,如表1所示。例如天氣預報和體育比賽等領(lǐng)域,這些數(shù)據(jù)集基本都是由數(shù)據(jù)庫記錄和對應文本組成。天氣預報領(lǐng)域的數(shù)據(jù)集有SUMTIME-METEO[29]和WEATHERGOV[19],體育比賽領(lǐng)域的數(shù)據(jù)集有ROBOCUP[30]、NFL[18]、ROTOWIRE 和SBNATION[4],航空領(lǐng)域的數(shù)據(jù)集有ATIS[31],人物傳記領(lǐng)域的數(shù)據(jù)集有WIKIBIO[28]。數(shù)據(jù)集的使用方法在此不再贅述,詳情請查閱相關(guān)文獻。
表1 可供下載的數(shù)據(jù)集
對于數(shù)據(jù)到文本生成來說,主要有兩類評價:一類是內(nèi)在評價(intrinsic evaluation),通常和文本質(zhì)量、輸出正確性和可讀性等問題相關(guān);另一類是外在評價(extrinsic evaluation),通常和任務完成有關(guān),即系統(tǒng)在做出決策時是否真正達到了目的。
內(nèi)在評價主要有兩種方法,一種依賴人類的判斷即主觀評價,另一種基于語料。
人類判斷的方法是通過專家根據(jù)某些標準評價系統(tǒng)輸出。通常的標準有流暢性(fluency)或可讀性(readability),即語篇的語言質(zhì)量,還有與輸入有關(guān)的準確性(accuracy)、充分性(adequacy)、相關(guān)性(relevance)或正確性(correctness),反映了系統(tǒng)對內(nèi)容的再現(xiàn)[32]。
基于語料的評價方法是通過一些度量標準對比人類的輸出和系統(tǒng)的輸出。這種方式相對廉價,常見的自動度量指標有BLEU、NIST、ROUGE、F-measure等。
與內(nèi)在評價不同,外在評價衡量實現(xiàn)目標的有效性,而有效性取決于應用領(lǐng)域和系統(tǒng)用途。通?;趩柧碚{(diào)查或者自我報告的研究可以解決外在評價,但許多情況下評價需要依賴一些性能的客觀衡量標準。外在評價又分為用戶任務成功性度量(user task success measure)和系統(tǒng)目的成功性度量(system purpose success measure)[33]。
用戶任務成功性度量衡量的是任何與用戶從系統(tǒng)輸出獲得的有關(guān)的東西,比如決策和理解準確性等。例如2009年Gatt等的BabyTalk[9]使用了這種評價方法,給用戶展示兩個輸出,用戶做出決策,以此來衡量哪個輸出在決策中更有效。
系統(tǒng)目的成功性度量衡量一個系統(tǒng)是否能滿足最初的目的。Reiter等在1999年設(shè)計的STOP系統(tǒng)[34]為了幫助人們戒煙而生成簡短的戒煙信,使用這種評價方法來確定系統(tǒng)目的是否達到,即用戶是否戒煙。
外在評價對于判斷一個數(shù)據(jù)到文本生成系統(tǒng)是否成功或者用戶能否得到想要的東西來說非常重要,也更有說服力。但這種評價方式在時間和費用上花費得更多,而且依賴足夠的用戶基礎(chǔ),并且必須有在現(xiàn)實中開展研究的可能性。
目前數(shù)據(jù)到文本生成存在一些問題,需要在未來的研究中解決:
(1)數(shù)據(jù)集缺乏。可訓練的數(shù)據(jù)集主要集中在天氣和體育等幾個專業(yè)領(lǐng)域,數(shù)據(jù)集的建立需要人工收集數(shù)據(jù)甚至標注,因此公開可用的數(shù)據(jù)集比較缺乏。
(2)生成文本短,數(shù)據(jù)簡單。數(shù)據(jù)集中生成的文本長度較短,用到的數(shù)據(jù)記錄也較少,因此在這些數(shù)據(jù)集上效果好的方法并不一定能滿足復雜數(shù)據(jù)和生成長文本的需求。
(3)評價方法不獨立。適用于數(shù)據(jù)到文本生成的評價方法大多借鑒于機器翻譯和文本摘要等領(lǐng)域,沒有單獨完整的一套評價標準,除了人類評價之外,需要在自動度量標準上設(shè)計針對數(shù)據(jù)到文本生成的評價體系,體現(xiàn)出內(nèi)容的完整性、相關(guān)性、順序結(jié)構(gòu)以及表達性等等方面。
(4)無法滿足商業(yè)應用。用于商業(yè)的寫作方法基本都是基于模板的方法,成文較為固定,雖然神經(jīng)網(wǎng)絡(luò)方法在實驗階段效果不錯,但在很多方面仍然不成熟,暫時無法在商業(yè)中使用。
數(shù)據(jù)到文本生成雖然還存在很多問題,但未來的發(fā)展方向仍然是不可限量的。比如,結(jié)合視覺信息比單一使用圖像或文字效果更好[16];在領(lǐng)域之間或者語言之間轉(zhuǎn)移學習方法[35];研究處理不確定數(shù)據(jù)的方法,大量數(shù)據(jù)是不確定的,比如股票數(shù)據(jù)、天氣數(shù)據(jù)或者網(wǎng)絡(luò)數(shù)據(jù)等。近兩年在數(shù)據(jù)到文本生成的研究中開始出現(xiàn)深度學習的方法并且獲得了不錯的效果,相信隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,未來在該領(lǐng)域會有更多的研究者投入到使用神經(jīng)網(wǎng)絡(luò)的方法實現(xiàn)數(shù)據(jù)到文本生成的研究中來。
隨著人工智能的發(fā)展,數(shù)據(jù)到文本生成也越來越重要,很多領(lǐng)域都在嘗試使用機器代替部分人工,完成自動文本的生成。國內(nèi)外尤其是新聞行業(yè),在自動撰寫新聞的嘗試探索中競爭激烈,但沒有競爭就沒有進步,數(shù)據(jù)到文本生成需要各個領(lǐng)域的共同發(fā)展,需要軟硬件技術(shù)的不斷推動,只有存儲和處理數(shù)據(jù)的能力越來越強,神經(jīng)網(wǎng)絡(luò)方面的研究開展的更迅速,數(shù)據(jù)到文本生成的研究和應用才能有更多的可能性。