NLG ≠ 機器寫作 | 專家專欄
引子
2017年5月31日,包括 Aaron Courville(《Deep Learning》一書作者)在內的五位作者,在 arXiv 上提交了一篇論文《Adversarial Generation of Natural Language》,提出了一種新的基於生成對抗網路(Generative Adversarial Networks, GAN)的自然語言生成(Natural Language Generation,NLG)方法,在自動寫詩這件事情上取得了非常好的效果,但這並不是重點。
重點是,這篇文章引發了自然語言處理(Natural Language Processing, NLP)大神 Yoav GoldGerg和深度學習(Deep Learning, DL)大神 Yann LeCun 的論戰。
Yoav 先是在 Twitter 上發了一篇推文表明自己不喜歡這篇論文的工作,之後又寫了一篇Medium長文(圖1)表達自己的觀點:
“拜託你們這幫搞深度學習的人,別再抓著語言不放並聲稱自己已經解決語言的問題了!”,認為這篇論文並沒有解決自然語言生成(NLG) 的問題。
△ YoavGoldBerg的 Medium 長文截圖(後來Yoav修改了這篇文章)
隨後,Yann LeCun 在 Facebook 上對 Yoav 的觀點進行了反擊(圖2),然後又反覆數個回合。
△ Yann LeCun 在 Facebook 上的反擊
引發這次爭論的主題就是自然語言生成(以下簡稱 NLG),也是接下來系列文章裡我們要討論的主題。
何為 NLG?
提到 NLG,首先會聯想到一個不知疲倦的機器人,可以每週7×24小時地奮筆疾書,產出各種各樣的小說、情書、劇本、新聞、財報等各種型別的文字。
現實中,的確也有一些機器生成的書出版(例如用165行 Python 程式碼自動生成的書《World Clock》,由 Harvard Book Store press 出版 ),甚至在 Amazon 上有了一定的銷量和使用者好評(例如 Philip M. Parker 用機器寫了一大堆書在 Amazon 上賣)。
但實際的 NLG,更多的是基於已有文字/資料/影象生成自然語言形式的文字,離真正的「機器寫作」差的還很遠。
NLG是自然語言處理(NLP)的重要組成部分。NLP研究如何實現自然語言形式的人機互動,其研究涉及語言學、電腦科學和數學等多個領域。
NLP 包含自然語言理解 (Natural Language Understanding,NLU) 和自然語言生成(Natural Langauge Generation, NLG)兩個重要方向,如下圖所示。
△ 自然語言處理主要技術領域
其中,NLU 旨在讓機器理解自然語言形式的文字內容。從 NLU 處理的文字單元來講,可以分為詞(term)、句子(sentence)、文件(document)三種不同的型別:
詞層面的基礎 NLU 領域包括分詞(漢語、緬甸語、泰語等非拉丁語系語言需要)、詞性標註(名詞、動詞、形容詞等)、命名實體識別(人物、機構、地點等)和實體關係提取(例如人物-出生地關係、公司-所在地關係、公司收購關係等);
句子層面的基礎 NLU 領域包括句法結構解析(獲取句子的句法結構)和依存關係解析(獲取句子組成部分的依賴關係);
文件層面的基礎 NLU 領域包含情感分析(分析一篇文件的情感傾向)和主題建模(分析文件內容的主題分佈)。
與NLU不同,NLG旨在讓機器根據確定的結構化資料、文字、音視訊等生成人類可以理解的自然語言形式的文字。根據資料來源的型別,NLG可以分為三類:
● Text to text NLG,主要是對輸入的自然語言文字進行進一步的處理和加工,主要包含文字摘要(對輸入文字進行精簡提煉)、拼寫檢查(自動糾正輸入文字的單詞拼寫錯誤)、語法糾錯(自動糾正輸入文字的句法錯誤)、機器翻譯(將輸入文字的語義以另一種語言表達)和文字重寫(以另一種不同的形式表達輸入文字相同的語義)等領域;
● Data to text NLG,主要是根據輸入的結構化資料生成易讀易理解的自然語言文字,包含天氣預報(根據天氣預報資料生成概括性的用於播報的文字)、金融報告(自動生成季報/年報)、體育新聞(根據比分資訊自動生成體育新聞)、人物簡歷(根據人物結構化資料生成簡歷)等領域的文字自動生成;
● Vision to text NLG,主要是給定一張圖片或一段視訊,生成可以準確描述圖片或視訊(其實是連續的圖片序列)語義資訊的自然語言文字,同時 text to vision 的自動生成近幾年也有一些有趣的進展。
近年來,隨著CNN(Convolutinal Neural Network)、RNN(Recurrent Neural Network)、GAN(Generative Adversarial Network)等深度學習技術的應用,NLP(尤其是 NLG)領域取得了明顯的進展,也湧現了一些有趣的 NLG 應用。
有趣的 NLG 應用
在 Text to text NLG 領域,令人矚目的進展當屬 GNMT (Google Neural Machine Translation)。它基於帶 Attention 機制的 Encoder(8層LSTM)- Decoder(8層LSTM) 框架(圖4),通過引入殘差連線(Residual Connection),並基於 Google 打造的 TPU (Tensor Processing Unit)進行並行化處理,高效地進行 GNMT 模型的訓練和預測。
△ GNMT 的 Encoder-Decoder 框架
GNMT 相對傳統的 PBMT(Phrase-Based Machine Translation)模型,在多個主要語言對的翻譯中將翻譯誤差降低了 55%-85% 以上。
同時,Google 在 GNMT中借鑑遷移學習(Transfer Learning)的思路,通過不同語言對的翻譯模型共享引數,實現了未經訓練的語言對之間的自動翻譯(即「Zero-Shot Translation」)。
在 Data to text NLG 領域,一項有趣的工作是Facebook AI Research 2016年發表在 EMNLP 會議上的一篇論文研究瞭如何利用人物的結構化資料(通常是表格化的資料)生成人物 biography 的工作,並通過抽取維基百科的 infobox 和正文第一段話,自動化地構建了一個大型平行語料庫 WikiBio,包含了超過70萬條平行資料和超過40萬的詞表。
它基於條件神經語言模型,利用表格資料作為條件,進行自然語言形式的 biography 文字生成(圖5)。
它將表格資料以區域性條件(local conditioning,描述之前生成的詞序列與表格資料的關係)和全域性條件(global conditioning,利用表格中所有的域和對應資料對人的特徵進行建模)的形式加入到神經網路模型中,並設計了一種 copy 機制使模型可以靈活考慮表格中出現過的詞。
基於這樣的機制,可以達到類似下面例子的結果。
△ 人物 biography 文字生成示例
Vision to text NLG 領域的典型應用當屬 Image Captioning(看圖說話),它的輸入為一張圖片(Video Captioning 中輸入為一個圖片序列,但技術方案類似),輸出是描述該圖片語義的自然語言文字。
下圖中有一些有趣的例子。
△ 一些有趣的 vision-to-text NLG 例子
同機器翻譯的GNMT方案類似,Image Captioning 的技術方案也基於 Encoder-Decoder 框架,只是 Encoder 部分的神經網路從 LSTM 替換成了 CNN,用以準確刻畫圖片的語義資訊。
同 GNMT 類似,引入 Attention 機制來智慧選擇影響 Decoder 部分生成文字的影象空間特徵。具體的模型結構如圖7所示。
△ Image Captioning 模型結構
NLG 技術的能力邊界
NLG 技術,一個核心在於NL,即自然語言形式的文字,更易於普通人閱讀;另一個核心在於G,即生成,但不是創作,不涉及深入地分析、提煉和推理。
在 Text to text NLG 中,本質上是將輸入文字進行處理,對映到一個語義向量空間中,然後再用輸出文字來表達同樣的語義,而這一過程中語義資訊本身並沒有經過進一步加工。
Data to text NLG 的目的是將結構化資料嵌入自然語言文字中,便於普通人的快速閱讀,即使有一些看似推理的結果(例如天氣預報中根據下週七天的天氣資料,輸出「未來一週大部分時間晴好,僅週三有短時小雨」這樣的文字),其實也是人為定義了新的結構化資料欄位。
Vision to text NLG 中也是如此,只是用自然語言文字來表達原先影象表達的語義,也不涉及語義的進一步加工。
換句話說,目前的 NLG 技術並不能實現人類的「寫作」過程 - 其中包括對大量輸入資訊的理解、提煉、分析、推理和重組,而僅能夠給出輸入資訊(文字、資料和影象)的自然語言形式的表示。
NLG 技術生成的文字,單篇文字看起來會非常規範和優質,但把大量的生成文字放在一起,就會感覺出濃濃的機器味兒 - 更為模式化且缺少靈活性。因此,用「機器寫作」來作為 NLG 的別稱,是有點過於高看其能力了。
即便如此,由於機器可以不知疲倦且客觀地工作,NLG 技術在下述場景中有了廣泛的應用:
● 需要利用海量資料生成大量的自然語言文字,且零錯誤,如企業年報等
● 需要極高的時效性,全天候檢測熱點/異常點,並實時生成文字內容,如突發新聞快訊等;
● 生成客觀不帶情感的內容,如財經快訊、體育快訊等;
● 根據受眾特點,對相同的輸入文字/資料/影象,生成符合受眾特點的個性化文字內容,如商品文案等。
原文釋出時間為:2018-09-9
本文作者:百鍊智慧