微軟小冰聊天機器人時代
2023-04-02 11:02:21 2
雷鋒人工智慧技術回顧:在2018年EMNLP大會上,微軟首席科學家吳偉、北京大學副教授嚴瑞對近年來聊天機器人的研究成果進行了全面總結,並展望了聊天機器人的未來研究趨勢。
近日,在雷鋒愛學院公開課上,微軟小兵首席科學家吳偉在EMNLP大會上為大家介紹了其分享的精髓。
微軟小兵首席科學家吳偉主要研究自然人機對話、自然語言處理、機器學習和信息檢索;為微軟小兵的第二代至第六代對話引擎提供核心算法,並帶領團隊開發第五代小兵和T的生成模型。他是第六代小兵的同情心典範。
本次公開課主要在2018年的EMNLP大會上與北京大學嚴瑞教授分享導師分享的精髓。
聊天機器人最近很流行,我在谷歌學者的高級搜索中做了一個小實驗,用關鍵字chatrobot搜索文章。它要求文章標題必須包含單詞chatbot。經過統計發現,標題中chatbot一詞的文章數量從2015年到2017年呈指數增長,當然,這項實驗還不完整。一些標題為對話模式的文章也涉及聊天機器人,儘管標題中沒有聊天機器人,所以我們可以想像它在學術界有多熱。
此外,在業內,亞馬遜和Facebook也舉辦了一些比賽,如亞馬遜舉辦了兩次Alexa大獎賽,Facebook也在NIPS上舉辦了兩次聊天機器人比賽,引起了很多人的關注,同時,大公司基本上都有自己的聊天機器人產品,如微軟有小兵、蘋果等。有Siri等等。
今天我們來談談通用聊天,它指的是微軟小兵在整個行業中的影響力。小兵於2014年在中國發布,然後在日本、美國、印度和印度尼西亞以每年登陸一個國家的速度發布。現在,它在全球擁有6億以上的用戶,產生了300多億次對話。NS。
小兵背後的核心是對話引擎,傳統的對話引擎以任務為導向,分為以下幾個模塊:
當然,整個過程還需要與知識庫交互:如果用戶提供的信息足夠,對話引擎需要從知識庫中為用戶找到答案;如果不足夠,需要再次向用戶詢問更多信息。
隨著大數據時代的到來和深度學習技術的發展,會話引擎也發生了變化:語言理解、會話管理和語言生成模塊被簡化為支持端到端培訓的統計模型,這是我們今天將關注的統計模型。
有兩種基本方法可以在學術界或行業中構建一個非任務導向或通用的聊天對話引擎:
但Word2vec和Glove不能解決單詞變形的問題。例如,學習、學習和學習英語都表達了一個意思。但這兩種方法都將這些意義相同、形式不同的單詞視為不同的單詞,從而導致信息的冗餘或丟失,為此,Facebook研究所提出了一個FastText模型,旨在模擬單詞的變形:
自然語言處理中的句子可以看作一個字符串,句子的表示可以通過一般的詞表示來實現。一般來說,有兩種方法:
(有關NLP中深入學習的這些基本概念的詳細說明,請參閱00:09:00-00:25:05的視頻)
其中,基於搜索的聊天機器人主要利用搜尋引擎的學習排名等結果,其新特點是在給定上下文和候選響應的情況下,建立匹配模型來衡量候選響應是否可用作上下文響應,目前,檢索是聊天機器人領域的一個研究熱點。機器人,以及如何利用神經網絡構造匹配模型是檢索的重點。
I型框架具有簡單、易於實現、在線系統效率高等優點。然而,在這個框架中也存在一些問題,例如信息丟失和不容易解釋。正是這些問題促使第二個匹配模型框架——II型框架的提出。
第二類框架的思想是,由於信息丟失源於上下文在滿足候選響應之前被壓縮成一個小的向量,因此最好讓上下文中的每個句子在開始時與候選響應交互,然後將交互信息提取到匹配的v中。然後利用RNN對匹配向量層次上的句子關係進行建模,生成匹配得分。
二類框架的優點是能夠在匹配模型中充分存儲上下文信息,具有良好的可解釋性。然而,該框架也有一些缺點,如計算複雜度高。
下面是我們將要在WSDM2019中做的事情。這項工作的想法是:既然我們對I型和II型做了很好的研究,並且深入學習本質上是學習,我們可以優化匹配模型的表示以進一步提高模型的性能嗎在這方面,我們的基本思想是在有如此多的表示的情況下,如何使用如此多的表示來產生一個更好的性能模型,結果表明,融合這些表示是有用的,但實現方法非常精巧:
在用戶輸入後,系統通過自然語言的生成來合成一個響應,即機器人生成一個響應作為輸出,生成方法的基本模型是編碼器注意解碼器的結構,它借鑑了機器翻譯的思想。
生成性對話也是當前一個備受關注的話題,相關著作也不少,但今天,由於時間有限,我只介紹這三個問題。
那麼,為什麼會有普遍的反應呢實際上,對話是一個一對多的問題,也就是說,對一個輸入可能有許多響應,整個對話過程不像機器翻譯那麼簡單。機器人根據對話生成關聯,然後根據這些關聯合成響應。
在此基礎上,利用神經網絡進行建模,並在編碼器和解碼的體系結構中增加了一個課題的關注點。
在AAAI2018的一個作品中,我們對上下文進行了建模,其思想是:由於上下文具有層次結構,我們使用句子級GRU和單詞級GRU來建模單詞和句子之間的順序關係,並且還使用句子級注意和單詞級注意來生成句子,句子中的單詞和在整個上下文中分別比較了哪些句子。重要的是,除了非常好的結果外,模型還具有很強的解釋力。
(有關AAAI2018上下文建模工作的詳細說明,請在00:58:00查看視頻。)
最後,我們討論了如何解決對話中的解碼效率問題,我們觀察到系統的解碼效率很低,因為它需要掃描每個預測單詞的整個詞彙表,但實際上只有系統的一小部分可以用來回復輸入。
為此,我們的想法是先用過濾器過濾掉大部分可能不相關的單詞,然後在生成的響應中只考慮剩餘單詞的一小部分,從而將靜態詞彙轉化為動態詞彙。對於每個輸入,詞彙表都是不同的。
(關於解決解碼效率問題的具體說明,以及發電模型在印尼小兵的實際應用,請參考1:00:00的視頻。
在聊天機器人時代,會話引擎扮演著非常重要的角色。目前,兩種主要的方法都是基於檢索和生成方法的,對它們進行了大量的研究,但實現真正的人機對話還有很長的路要走。