基於對抗學習的生成式對話模型的堅實第一步 —— 始於直觀思維的曲折探索

2017年7月,三角獸研究組與哈工大 ITNLP 實驗室合作完成的論文以極高分被世界頂級自然語言領域會議 EMNLP 錄取。

題為 Neural Response Generation via GAN with an Approximate Embedding Layer 的該篇論文,直面對抗網路在自然語言生成領域應用的痛點,提出了一種新穎的對抗式對話生成模型,為提升生成式對話模型的效果指出了一個全新的方向。

EMNLP 全稱 Conference on Empirical Methods in Natural Language Processing,本屆會議將於 2017 年 9 月 7 日 – 11 日在丹麥哥本哈根市舉行。每年一度的大會吸引了世界各國數千名學者與業界人士參加,共同交流技術發展。除了 EMNLP,計算語言學學會(The Association for Computational Linguistics, ACL)旗下的 ACL 年會同屬國際最具影響的自然語言處理頂級學術會議。作為國際知名的頂級大會,EMNLP 與 ACL 一直以來都在為自然語言處理的發展提供強大的助力。三角獸合伙人兼首席科學家王寶勛參與了本屆 ACL 2017 大會的審稿工作。

早在年初,王寶勛博士就於神經網路領域世界頂級大會 IJCNN 2017 (International Joint Conference on Neural Networks 2017) 上展示論文 —— Incorporating Loose-Structured Knowledge into Conversation Modeling via Recall-Gate LSTM,論文提出了一種將外部領域知識融入深度學習框架,從而提高自動聊天系統的回複選擇能力。2016年11月,王寶勛博士的論文 —— Ranking Responses Oriented to Conversational Relevance in Chat-bots 也在頂級計算機語言學會議 COLING 2016 (International Conference on Computational Linguistic 2016) 上得到發表展示。

本篇 「基於對抗學習的生成式對話模型的堅實第一步 —— 始於直觀思維的曲折探索」 同樣來自王寶勛博士。


1. 引言

在最近幾年裡,深度學習(Deep Learning, DL)在自然語言處理領域不斷攻城略地,使得過去被認為很難取得突破的研究方向的難度有所降低,其中最為人們所津津樂道案例的當屬 Sequence-to-Sequence(S2S)在對統計機器翻譯(Statistical Machine Translation, SMT)領域的顛覆性突破,進而產生了全新的基於神經網路的機器翻譯(Neural Machine Translation, NMT)範式[1, 2]。這個新範式的影響甚至已經波及到了其他相關領域,其中就包括本文即將討論的生成式自動聊天系統(Generation based Chatting System)[3, 4, 5]。

通常認為自動聊天系統(Automatic Chatting Systems)可以通過兩種技術路線實現:一種是將信息檢索系統構建於大規模對話數據集之上,通過建立有效的問句匹配和問答相關度量化模型實現對用戶 query 的合理回復[6],本文不做贅述;另一種技術路線則試圖通過構建端到端 (End-to-End) 的深度學習模型,從海量對話數據中自動學習 query 和 response 之間的語義關聯,從而達到對於任何用戶 query 都能夠自動生成回復的目的。如果說基於信息檢索的技術路線偏重工程實現的話,那麼基於生成的技術路線則顯得更加學術。

生成式聊天模型的提出與 NMT 有著極為緊密的關聯,這種關聯可以追溯到深度學習尚未如此風行的年代:在早期的問答系統(Question Answering Systems)的相關研究中,人們就已經把 SMT 的相關模型和方法應用在答案篩選排序模塊里,並取得了不錯的效果[7]。這背後的原因是,為一個問題尋找答案的過程可以看作是一種特殊的翻譯過程,在這個特殊的翻譯過程中,問題和答案分別位於翻譯模型的兩端,如此一來,一個 question-answer pair 實際上等價於 SMT 需要處理的一條平行語料,而 SMT 的訓練過程實際上也就等價於構建問題和答案當中詞語的語義關聯過程。在 NMT 取得巨大成功之後,這種新的範式很自然的被應用在聊天回復的自動生成上,於是本文所要討論的第一個直觀思維產生了:聊天可以看作是一種特殊的不以獲取信息為目的的問答,同時 SMT 可以用來尋找答案,且 NMT 是 SMT 的一種高級形態,那麼 NMT 模型可望用來實現聊天回復的自動生成。如今,我們把這種新的自動聊天模型架構命名為 Neural Response Generation (NRG)。

2. NRG 面臨的挑戰

不可否認,採用 NRG 模型生成的一部分聊天回復在主題上確實能夠做到與相應的 query 吻合,甚至會有個別語義相關度較高且可讀性很好的回復可以被生成出來,饒是如此,恐怕不會有人認為 NRG 複製了 NMT 模型在機器翻譯領域的成功,其主要原因就是,這種端到端模型生成的絕大多數答案嚴重趨同,且不具有實際價值,即無法讓人機對話進一步進行下去,例如,對於任何的用戶 query,生成的結果都有可能是「我也覺得」或「我也是這麼認為的」。無論模型在中文數據還是在英文數據上進行訓練,這種現象都非常明顯,由於模型生成的絕大多數結果對於任何 query 都勉強可以作為回復,於是我們把這種生成結果形象的命名為 safe response[8] 。

顯而易見,safe response 的大量存在將使自動聊天系統顯得索然無味,使用戶失去與系統互動的熱情,因此目前的實用聊天系統仍然是以信息檢索模型為主要架構。簡而言之,NRG 模型如果想要在實際產品中發揮作用,避免 safe response 的生成是必須要解決的問題,無可迴避。

Safe response 問題的產生可能是多種因素共同作用的結果,本文僅從最直觀的方向切入這個問題。這裡不妨思考這樣一個問題:在同樣的數據組織形式,同樣的模型結構,合理的假設的情況下,為什麼 NMT 模型沒有遇到如此明顯的 safe translating result 的問題?這時候回顧 NMT 模型的工作流程是很有必要的:NMT 模型由兩個部分組成,一部分負責對 source sentence 進行語義表示,將其壓縮成指定維度的語義向量,因此可以稱其為 encoder;另一部分負責接收 encoder 提供的語義向量,並在語義向量的「指導」下,逐個挑選詞語組成target sentence,這個部分通常被稱作 decoder。一言以蔽之,encoder 負責提供輸入信號的語義表示,decoder 則實際上實現了一個以該語義表示為初始條件的語言模型。

(圖 1 經典的 Sequence-to-Sequence 模型[1])

如此一來,safe response 的癥結之一就呼之欲出了:如果比較機器翻譯和聊天的訓練數據就不難發現,聊天數據中詞語在句子不同位置的概率分布具有非常明顯的長尾特性,這一特性通常在句子開頭幾個詞語上體現得尤為明顯,例如,相當大比例的聊天回復是以「我」「也」作為開頭的句子,相對地,對於主要以正規文本為數據源形成的 SMT 平行語料來說,這種情況出現的可能會依數量級地減少。在這樣的情況下,詞語概率分布上的模式會優先被 decoder 的語言模型學到,並在生成過程中嚴重抑制 query 與 response 之間詞語關聯模式的作用,直觀來看,即便有了query 的語義向量作為條件,decoder 仍然會挑選概率最大的「我」作為 response 的第一個詞語,又由於語言模型的特性,接下來的詞語將極有可能是「也」……以此類推,一個 safe response 從此產生。

3. 一個直觀的解決方案

NRG 模型產生 safe response 的問題可以說是意料之外情理之中的事情,於是人們堅定地對這個難題發起了挑戰。常見的解決方案包括:通過引入 attention mechanism 強化 query 中重點的語義信息[4],削弱 decoder 中語言模型的影響[8],從廣義上來說,引入 user modeling 或者外部知識等信息也能夠增強生成回復的多樣性[9, 10]。

而當我們跳出對於模型或者數據的局部感知,從更加全局的角度考慮 safe response 的問題的時候,一個非常直觀的方案撲面而來:產生 safe response 的 S2S 模型可以認為是陷入了一個局部的最優解,而我們需要的是給模型施加一個干擾,使其跳出局部解,進入更加優化的狀態,那麼最簡單的正向干擾是,告知模型它生成的 safe response 是很差的結果,儘管生成這樣的結果的 loss 是較小的。

一個直觀的思想,開啟了生成式對抗網路(Generative Adversarial Networks, GAN)[11]在生成式聊天問題中的曲折探索。

4. 知易行難

將 GAN 引入聊天回復生成的思路顯得如此水到渠成:使用 encoder-decoder 架構搭建一個回復生成器 G ,負責生成指定 query 的一個 response ,同時搭建一個判別器 D 負責判斷生成的結果與真正的 response 尚存多大的差距,並根據判別器的輸出調整生成器 G,使其跳出產生 safe response 的局部最優局面。

然而當我們試圖通過對抗學習實現文本生成的時候,一個在圖像生成的 GAN 模型中從未遇到的問題出現在面前,那就是如何實現判別器 D 訓練誤差向生成器 G 的反向傳播 (Backpropagation)。對於基於 GAN 的圖像生成模型來說,這種誤差的反向傳播是如此的自然,因為 G 生成圖像的整個過程都是連續可導的,因此 D 的訓練誤差可以從 D 的輸出層直接傳導到 G 的輸入層。而對於文本的生成來說,一個文本樣本的生成必然伴隨 G 在輸出層對詞語的採樣過程,無論這種採樣所遵循的原則是選取最大概率的 greedy 思想還是 beam searching,它實際上都引入了離散的操作,這種不可導的過程就像道路上突然出現的斷崖,阻擋了反向傳播的腳步,使對於 G 的對抗訓練無法進行下去。

為了解決文本生成過程中的採樣操作帶來的誤差無法傳導的實際問題,從而實現基於對抗學習的聊天回復生成模型,三角獸研究團隊在論文 Neural Response Generation via GAN with an Approximate Embedding Layer 中提出了一種新的對話文本對抗生成學習框架,目前本論文已經被 EMNLP 2017 錄用。

(圖 2 基於 GAN-AEL 的對抗學習框架)

圖 2 展示了論文提出的 GAN with an Approximate Embedding Layer (GAN-AEL)的基本框架。我們使用 GRU 構建回復生成模型 G 的主體,用 CNN 構建判別器 D 用以判斷 query 與(真實存在的或模型生成的)response 之間的語義是否相關。在給定一個 query 的情況下,模型 G 通過 encoding-decoding 過程生成一個 fake response,這個 fake response 將與 query 構成一個負樣本,同時,query 在與訓練數據里的真正的 response 構成一個正樣本,判別器 D 的訓練目標即是儘可能的區分上述正負樣本。

如前文所述,引入對抗學習改善文本生成的關鍵問題是如何解決文本生成過程中由採樣帶來的不可導問題,從而實現判別器誤差向生成器的正確傳播。本文直面此問題,為生成器 G 構建了一個 Approximate Embedding Layer(AEL 如圖中紅色矩形框中所示,其細節在圖右側部分給出),這一層的作用是近似的表達每次採樣過程,在每一個 generation step 中不再試圖得到具體的詞,而是基於詞語的概率分布算出一個採樣向量。這個操作的具體過程是,在每一個 generation step 里,GRU 輸出的隱狀態 h_i 在加入一個隨機擾動 z_i 之後,經過全連接層和 softmax 之後得到整個詞表中每個詞語的概率分布,我們將這個概率分布作為權重對詞表中所有詞語的 embedding 進行加權求和,從而得到一個當前採樣的詞語的近似向量表示(如圖2中右側綠框所示),並令其作為下一個 generation step 的輸入。同時,此近似向量同樣可以用來拼接組成 fake response 的表示用於 D 的訓練。不難看出,這種對於採樣結果的近似表示操作是連續可導的,並且引入這種近似表示並不改變模型 G 的訓練目標。

5. 我們的一小步

作為生成器和判別器的耦合媒介,AEL 的建立保證了對抗學習框架在面向聊天的 response generation 問題上應用的合理性。為了驗證這種合理性,我們在目前常見的中英文對話數據上對我們的模型進行了驗證,其結果如下表所示:

表格中的 Seq2Seq、MMI-anti 和 Adver-REGS 分別代表經典 encoder-decoder、引入 anti-language model 機制的 S2S 和一種基於強化學習的 GAN 模型架構。我們試圖從生成結果的語義相關性 (Relevance) 和多樣性 (Diversity) 兩個方面對比幾個模型,可以看到本文提出的 GAN-AEL 在保證語義相關性的情況下,明顯提高了生成 response 的多樣性。

為了直觀的展現模型在多樣性方面的提升,我們給出了一些實際生成結果的樣例,如下表所示。

我們的模型給出了有關模型的理論細節、評測指標以及 baseline 方法的具體描述,有興趣的讀者可以持續關注我們放出的論文。

6. 結語

兩個直觀的 idea ,開啟了基於深度學習模型的端到端自動聊天系統的研究,引出了對抗學習在聊天回復生成中的曲折探索。誠然,當前最引人關注的模型配上最熱的研究方向,對於任何的研究者來說都具有很強的吸引力,但是,要做到直面關鍵問題,潛心尋找解決問題的途徑,需要的則是務實的鑽研,任何浮躁的心態都有可能讓研究工作最終淪為無聊的灌水。

讓機器自動生成任何 query 的回復是一個極其困難的問題,因為我們試圖挑戰的是人類的語言能力。挑戰難題的過程就像登山,任何一個新的方法的提出未必代表我們鋪建了通往山頂的路,而是給人們提供了一根登山杖,讓人們走得更遠。

參考文獻

[1] Ilya Sutskever, Oriol Vinyals, and Quoc V. Le. 2014. Sequence to sequence learning with neural networks. In Proceedings of the 27th International Conference on Neural Information Processing Systems, NIPS 14, pages 3104–3112, Cambridge, MA, USA. MIT Press.

[2] Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua engio. 2014. Learning phrase representations using rnn encoder–decoder for statistical machine translation. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 1724– 1734, Doha, Qatar. Association for Computational Linguistics.

[3] Baotian Hu, Zhengdong Lu, Hang Li, and Qingcai Chen. 2014. Convolutional neural network architectures for matching natural language sentences. In Advances in Neural Information Processing Systems 27: Annual Conference on Neural Information Processing Systems 2014, pages 2042–2050.

[4] Lifeng Shang, Zhengdong Lu, and Hang Li. 2015. Neural responding machine for short-text conversation. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing, pages 1577–1586, Beijing, China. Association for Computational Linguistics.

[5] Alessandro Sordoni, Michel Galley, Michael Auli, Chris Brockett, Yangfeng Ji, Margaret Mitchell, Jian-Yun Nie, Jianfeng Gao, and Bill Dolan. 2015. A neural network approach to context-sensitive generation of conversational responses. In NAACL HLT 2015, pages 196–205.

[6] Bowen Wu, Baoxun Wang, and Hui Xue. 2016. Ranking responses oriented to conversational relevance in chat-bots. In COLING 2016, 26th International Conference on Computational Linguistics, Proceedings of the Conference: Technical Papers, December 11-16, 2016, Osaka, Japan, pages 652–662.

[7] Delphine Bernhard and Iryna Gurevych, Combining Lexical Semantic Resources with Question & Answer Archives for Translation-Based Answer Finding.

[8] Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, and Bill Dolan. 2016a. A diversity-promoting objective function for neural conversation models. In Proceedings of NAACL-HLT, pages 110–119.

[9] Jiwei Li, Michel Galley, Chris Brockett, Georgios P. Spithourakis, Jianfeng Gao, and William B. Dolan. 2016b. A persona-based neural conversation model. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, ACL 2016, August 7-12, 2016, Berlin, Germany.

[10] Xing Chen, Wu Wei, Wu Yu, Liu Jie, Huang Yalou, Zhou Ming, and Ma Wei-Ying. 2017. Topic aware neural response generation. In Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, February 4-9, 2017, San Francisco, California, USA., pages 3351–3357.

[11] Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. 2014. Generative adversarial nets. In Advances in neural information processing systems, pages 2672–2680.


推薦閱讀:

別錯過這張AI商用清單:你的生產難題可能被一個應用解決
CNN 入門講解專欄閱讀順序
MWC2018:阿里雲發布8款雲計算AI產品,中國科技已領先世界一步
書評 | 《未來簡史》:失望之作,一次堆砌科技新聞囈語的自嗨
[直播] 負基礎入門Python系列:Python之禪

TAG:人工智慧 | 自然語言處理 | 語義識別 |