編者按:在《如何讓人工智慧學會用資料說話》一文中,我們曾經為大家介紹過結構化資料到文字生成的技術方法、商業應用以及相關資料集等方面內容。今天,我們邀請微軟亞洲研究院知識計算組的研究員解讀該領域中有關資料到文字生成的近期論文。
資料到文字生成任務以結構化資料(例如一個商品的屬性列表或一場比賽的統計資料)作為輸入,旨在自動生成流暢的、貼近事實的文字以描述輸入資料。資料到文字生成的主流方法包括基於規則和模板的方法以及基於神經網路的方法。
現階段,基於規則和模板的方法仍然是相關應用中最主流的做法,因為這類方法具備明顯的可解釋性與可控制性,更容易確保所輸出文字內容的正確性。然而,這種方法也存在侷限性——優質模板的抽取離不開人工特徵工程或者規則干預;生成的內容在多樣性、流暢度以及連貫性方面往往會存在問題。
與之相反,基於神經網路的模型主要依靠資料驅動,不需要太多人工干預,也很容易產生豐富又流暢的文字描述,但使用者往往無法直接操控內容生成,難以確保所輸出的文字內容同輸入資料中的資訊吻合,所以目前在真實場景下目前並不具備足夠的實用價值。由於神經網路表示學習近年來的火熱,以及神經網路文字生成模型存在明顯的不足和改進空間,近期學術研究中探索神經網路生成模型的工作相對更多。
資料到文字生成任務在不同場景設定下的進展和挑戰不盡相同,近兩年也有很多工作試圖從不同角度開展研究。在本文中,我們將帶大家一起選讀若干近期相關研究工作。這些工作的研究動機相對明確,直接嘗試應對當前方法所面臨的重要挑戰,為後續進一步研究提供了一些可行的方向或角度。
論文清單
Challenges in Data-to-document Generation
由Sasha Rush領銜的哈佛大學自然語言處理研究組是近年來研究神經網路文字生成模型最活躍的團隊之一。該團隊在EMNLP 2017上發表了題為Challenges in Data-to-document Generation的工作(Wiseman et al., 2017),包含了作者對神經網路資料到文字生成模型的階段性總結與反思。作者採集了大量NBA籃球比賽統計資料以及對應的文字戰報,以此釋出了新的資料集RotoWire。與《如何讓人工智慧學會用資料說話》一文中介紹過的維基百科傳記資料集WikiBio以及下文會提及的E2E NLG Challenge評測資料集相比,RotoWire中的輸入資料更豐富,文字長度更長,通常每篇描述包含5-7句話;並且文字中直接提及或透過不同措辭蘊含的部分資訊,需要從具體的數值、時間等資訊推斷得出,無法從輸入的表格資料中直接獲取。例如,輸入資料中並沒有直接標示比賽的獲勝球隊,只列出了交戰雙方比分,而文字內諸如“亞特蘭大老鷹隊以103-95擊敗邁阿密熱隊”中的“擊敗”一詞,需要生成模型能夠準確捕捉“比分更高的球隊勝出”這樣的對應關係,對當前高度依賴連續向量表示的神經網路方法而言頗具挑戰。
作者在該資料集上進行的實驗表明,常見神經網路文字生成模型所輸出的文字雖然看似流暢,但往往存在多種邏輯錯誤,比如混淆了不同資訊的輸出位置、無中生有(hallucination,即模型在所生成的文字中“自行腦補”了輸入資料中並沒有蘊含的資訊)等等,詳見圖1。這些問題在進行長文字生成時顯得更為嚴重,導致模型輸出的準確度遠不如基於模板的文字生成系統。
論文中也指出,常用的自動化評測指標(如BLEU)並不足以評測文字生成的質量。這些指標側重於評測文字的流暢性,但忽視了文字的語義和邏輯資訊。自動指標的侷限性其實近年也在自然語言生成領域被反覆提及,有大量工作指出它們同人工評價的統計相關性其實很低(如Novikova et al., 2017、Chaganty et al., 2018、Reiter, 2018等)。在這種情況下,一方面有針對性地設計人工評測不可或缺,另一方面也需要其它更合理的自動指標來作輔助。因此,作者也給出了一種抽取式評價(extractive evaluation)方法,從生成的文字中抽取事實並與輸入資料進行比對,在一定程度上可以彌補傳統自動化評測指標(如BLEU)的不足。
A Deep Ensemble Model with Slot Alignment for Sequence-to-Sequence Natural Language Generation
自然語言生成領域近年最著名的公開評測當屬E2E NLG Challenge。該評測於2017年啟動,在2018年上半年公佈了評測結果,並在自然語言生成專業會議INLG 2018上進行了總結 (Dušek et al., 2018; 2019)。該評測收集了上萬條配對的餐館描述及語義表示資料(如圖2所示)。參賽系統需要將給定的語義表示(meaning representation, MR),即不同的屬性與值,用自然語言(natural language, NL)描述出來。評測資料集側重於反映諸如開放詞表、語義控制、表達多樣性等幾種資料到文字生成任務的挑戰。
E2E NLG Challenge 連結:http://www.macs.hw.ac.uk/InteractionLab/E2E/
E2E NLG Challenge評測最終的獲勝系統為加州大學聖克魯斯分校研究團隊的Slug2Slug系統,該系統在自動評測和人工評測中均取得較好的成績。該團隊將系統描述以論文A Deep Ensemble Model with Slot Alignment for Sequence-to-Sequence Natural Language Generation發表在NAACL 2018 (Juraska et al., 2018)。在這篇論文中,作者提出一個整合(ensemble)的神經文字生成框架,其中參與整合的個體模型均為常用的序列到序列(sequence-to-sequence)模型。其編碼器部分採用了最為常用的LSTM-RNN或CNN。而在每個模型解碼輸出多條候選文字後,系統還對這些候選文字進行重排序,排序時考慮了文字中所提及事實與輸入資料的匹配情況。本文在方法上的核心貢獻是作者自行構建的一套啟發式的屬性槽對齊器(slot aligner),用來剔除訓練資料中一些沒有被對應文字所提及的屬性值,在一定程度上實現了資料去噪;作者還根據候選文字同資料屬性槽的對齊結果設計了重排序準則。實驗表明,系統雖然無法在所有自動評測指標中均取得領先,但可以使得模型在各個指標上都更加穩定、輸出錯誤更少的文字。
由於面向E2E評測,作者也在文中總結了不少實用技巧,對準備上手相關任務的讀者而言值得參考。比如,在預處理時的去詞彙化(delexicalization)操作中,作者不僅簡單地進行匹配和替換,還在替換時保留了更多的上下文資訊(如單複數、時態等和銜接等資訊)。另外,論文還討論了文字生成中資料增廣(data augmentation)的實用做法,以及為了獲得更自然的生成文字對訓練資料進行選擇的嘗試。
本文的核心操作是建立結構化資料同文字資訊的對齊。除了直接根據領域知識設計啟發式對齊方法以外,也有同期的其它工作試圖在規模更大、干擾更多的Wikibio維基百科資料集上實現自動對齊(Perez-Beltrachini and Lapata, 2018)。類似多示例學習(multiple-instance learning)的思想,原理上可以將與文字共現的屬性集視作弱監督標記來匯出對齊資訊。
End-to-End Content and Plan Selection for Data-to-Text Generation
這篇論文是哈佛大學自然語言處理組發表在INLG 2018的工作(Gehrmann et al., 2018)。文中提出的方法在經典序列到序列模型的基礎上,引入多個解碼器,並透過隱變數因子來指定最終文字是由哪個解碼器所生成。這樣做的原因是,在文字生成中,同一個意圖往往有多種表達方法,只使用單個解碼器很難對多種不同的表達方式進行擬合。而透過設定多個子模型,可以讓每個子模型只負責擬合特定表達風格的資料,從而改進學習效果。
值得一提的是,該論文所採用的基礎模型整合了常用的注意力(attention)機制、複製(copy)機制、覆蓋(coverage)機制和文字長度控制等,是一個較為先進和完備的基礎模型。另外,該論文也在 E2E NLG Challenge 資料集上對這些主要元件的影響進行了實驗評測。
Learning Neural Templates for Text Generation
雖然端到端(end-to-end)的方法在資料到文字生成上取得了一定的成果,但其不可解釋性和不可控性一直廣為詬病。因此,近期也出現了一些將端到端方法和傳統基於規則和模板的方法進行融合的模型。哈佛大學自然語言處理組的EMNLP 2018論文Learning Neural Templates for Text Generation就是其中較有代表性的工作之一 (Wiseman et al., 2018)。為了學習抽取和使用模板,作者採用適合片段建模的隱半馬爾可夫模型(hidden semi-markov model, HSMM)對文字進行建模,並用神經網路實現其中所有機率項的引數化。在完成模型訓練後,可以利用Viterbi演算法推斷出隱狀態序列,並將其獲取為模板,因此可以很方便地對模板進行控制並利用模板引導下一步的文字生成。在E2E NLG Challenge資料和WikiBio資料上的實驗結果表明,該方法可以取得和端到端神經模型可比的效能,但是更具可解釋性和可控性。
同期也有其它工作嘗試先產生模板、再填寫屬性值的過程(Li and Wan, 2018)。藉助邊際損失函式拉大正確填充結果與錯誤填充結果的模型打分差距,可以在一定程度上緩解輸出文字語義不正確的問題。
Operation-guided Neural Networks for High Fidelity Data-To-Text Generation
這篇論文(Nie et al., 2018)是微軟亞洲研究院知識計算組對改進神經模型生成文字正確性的一個嘗試。在前文中我們也提過,很多時候訓練資料中,文字和結構化資料無法一一對齊,這對結構化資料到文字生成提出很大的挑戰。例如句子 “Hawks edges the Heat with 95-94”,其中隊名Hawks、Heat和比分95、94均可以直接從輸入資料中獲取,而描述比賽結果的edges (“險勝”)是基於兩隊比分極其接近的事實而得出,現實中的結構化資料往往不會直接包含此類細粒度事實。進一步調研發現,在本論文收集的ESPN dataset資料集、前文所述RotoWire資料集以及維基百科人物資料集WikiBio的文字中,分別有29.1%、11.7%和7.4%的事實雖然不能從輸入資料中直接獲取,但可以透過對輸入資料進行運算而獲得。基於這些觀察,論文提出了基於運算指引的神經文字生成模型。具體來說,該模型預先執行好若干種預定義的運算操作,在進行文字生成時,解碼器從輸入資料和執行結果中利用門限(gating)機制動態採用所使用的資訊來源。另外,為了緩解數值資料的稀疏性問題,文中還將運算結果中的數值進行自動分段處理,使得模型更容易建立運算結果同詞彙選擇的聯絡。
論文還發布了ESPN資料集,該資料集包含2006-2017年1.5萬場NBA比賽的結果和對應的新聞標題。與RotoWire相比,該資料集文字長度更短,且文字中僅有約8.2%的內容沒有蘊含在輸入資料資訊內 (既無法從輸入資料直接獲取,也無法透過其他操作推斷得到的部分)。
Learning Latent Semantic Annotations for Grounding Natural Language to Structured Data
這篇論文 (Qin et al., 2018)是微軟亞洲研究院知識計算組在EMNLP 2018會議發表的另一篇相關工作,出發點與前一篇論文類似,但側重於細粒度顯式建立起文字與輸入資料之間的關係,從而得到可解釋、可控制的模型。不同詞彙或者短語的使用同輸入資料裡不同部分的資訊有關,詞彙有時會直接取自資料中的字串,有時則會因為屬性變數或者數值變數的不同取值而產生變化。由於對數值的表達在一定程度上涉及常識獲取與推理,關於這一部分的研究其實相當貧乏。
文中將建立對應關係的過程用序列標註的方式來實現,如圖3所示。整個方法框架將表徵詞彙語義的標註視為隱變數,建立隱半馬爾可夫模型(HSMM)進行學習與推斷。模型中對於字串變數、屬性變數、數值變數等不同型別之間的對應關係分別採用了不同的機率模型來建模,而無法對應到輸入資料的文字則統一標註為特定的空標記(NULL)。同經典機器翻譯方法中的統計對齊模型類似,最終的對齊結果中很容易出現“垃圾收集”(garbage collection)效應,在文中的任務設定下表現為:有部分本應打上空標記(NULL)的文字會被對應到幾乎不被提及的資料單元上。為緩解這一問題,可以利用後驗正則化(posterior regularization)技術,從統計上約束空標記的比例使之不低於特定值,最後能夠使得對齊結果得到大幅改善。
模型推斷得到的機率可以用來為特定的資料資訊獲取多樣的詞彙表達,而對齊結果本身也可以據此為自然語言生成提供豐富的規則和模板。這樣,在保證了可解釋性以及可控性的基礎上,整個框架可以自動從平行資料中獲取豐富的文字表達模式。
結語
資料到文字生成任務在近幾年得到了廣泛關注,整個領域也在可控性、正確性、多樣性等問題上取得了一些進展。不過,這些問題目前還沒有得到完全徹底的解決,在基於神經網路的文字生成模型中尤其如此,這一現狀也為後續的相關研究工作留出了巨大的前進空間。在目前的工程實踐中,尤其是對於正確性和可控性要求比較高的場景,我們仍然建議採用基於模板或規則的方法,而模板與規則也可以由系統性的從平行資料中獲取得到。文字生成是讓計算機從能聽會看到能言善道的必要技術之一。在生成模型的設計、訓練語料的構建、評價方法的創新、應用場景的適配等等議題都有很大的研究發展空間。作者也希望藉由此文啟發更多的研究人員關注和投入這個領域,一起為資料到文字生成後續的技術發展貢獻力量。
參考文獻
• Chaganty, et al. "The price of debiasing automatic metrics in natural language evalaution"
• Dušek, et al. "Findings of the E2E NLG challenge"
• Dušek, et al. "Evaluating the State-of-the-Art of End-to-End Natural Language Generation: The E2E NLG Challenge"
• Gehrmann, et al. "End-to-End Content and Plan Selection for Data-to-Text Generation"
• Juraska, et al. "A Deep Ensemble Model with Slot Alignment for Sequence-to-Sequence Natural Language Generation"
• Li, Liunian, et al. "Point Precisely: Towards Ensuring the Precision of Data in Generated Texts Using Delayed Copy Mechanism"
• Nie, Feng, et al. "Operation-guided Neural Networks for High Fidelity Data-To-Text Generation"
• Novikova, et al. "Why We Need New Evaluation Metrics for NLG"
• Perez-Beltrachini, Laura, and Mirella Lapata. "Bootstrapping Generators from Noisy Data"
• Qin, Guanghui, et al. "Learning Latent Semantic Annotations for Grounding Natural Language to Structured Data"
• Reiter, et al. "A Structured Review of the Validity of BLEU"
• Wiseman, et al. "Challenges in Data-to-Document Generation"
• Wiseman, et al. "Learning Neural Templates for Text Generation"
作者簡介
王錦鵬,微軟亞洲研究院知識計算組研究員,主要從事多模態知識挖掘、自然語言處理等領域的研究工作。至今為止,他在相關領域的頂級會議上已發表10餘篇論文,並擔任ACL、AAAI等國際會議的評審委員。
姚金戈,微軟亞洲研究院知識計算組副研究員,目前主要致力於探索自然語言理解與生成中的若干重要問題以及在工程實踐中的應用與適配。
知識計算組簡介
知識計算組致力於透過知識發現、資料探勘與計算來理解和服務這個世界。研究組聚集了包括資料探勘與計算、機器學習、自然語言處理、資訊檢索和社會計算等領域的多學科研究員,主要從事如下研究方向:實體連結、搜尋和知識挖掘與計算,基於結構化資料的文字生成,服務於真實世界的語義計算框架應用,基於大規模行為資料的使用者理解。十年來,該組成員的研究成果對微軟的重要產品產生了影響,包括必應搜尋、微軟學術搜尋、微軟認知服務、微軟Office等。