這幾年,基于預訓練語言模型的對話生成以及成為NLP研究領域中的熱門話題。BERT、ELMo、GPT等模型層出不窮。近日,開課吧《Hello,World公開課》邀請清華大學計算機系博士後鄭老師,讓他為我們詳解基于預訓練語言模型的對話生成。話不多說,趕快搬好小闆凳來看吧!
什麼是對話系統
說起NLP和對話系統,圖靈測試是繞不開的話題,所謂的圖靈測試是指測試者與被測試者(一個人和一台機器)隔開的情況下,通過一些裝置(如鍵盤)向被測試者随意提問。進行多次測試後,如果機器讓平均每個參與者做出超過30%的誤判,那麼這台機器就通過了測試,并被認為具有人類智能。
随着圖靈提出了這個測試,各大公司為了通過這個測試,紛紛推出了自家的智能對話系統來挑戰圖靈測試,這裡面就有我們熟悉的産品,比如蘋果Siri,微軟小冰等。

在上面所有的明星對話系統如果按領域來分,按照回複生成方式分類可以分為檢索式對話系統、生成式對話系統、檢索式+生成式對話系統三種。所謂檢索式對話系統就是在語音庫種檢索遍曆出和問題最相近的語句并回複。這類系統核心難點是文本匹配模型,如何找出與它語音最相近的回答,這種模型不是我們這次關注的重點。接下來我們來看看生成式對話系統,這類系統的目标是通過概率統計的問題,建立關于對話回複的概率分布,在給定問句的情況下,捕捉生成答句的概率。

預訓練語言模型
在了解了對話系統的基本概念後,再來看看預訓練語言模型,從字面意思看預訓練語言模型可以分為預訓練和語言模型兩個部分,這是兩個獨立的技術體系。
語言模型
語言模型的意思是判斷給定句子(w=w1,w2,…,wn)的出現概率的模型。概率大的句子往往是更貼近正确的答案。但這就帶來了一個問題,如何來計算這個概率,最簡單的想法是我們遍曆中文語義庫中所有的句子,再遍曆這個句子出來的次數,做個除法後就會得到一個概率。但是我們都知道,這種笨方法在工程上是行不通的。

那麼有沒有什麼改進辦法?在這裡就又要用到概率論與數理統計的知識了,一句話出現的概率可以被分解成條件概率乘積的形式。利用條件概率性質上面的公式可以寫成下圖乘積的形式

這在一定程度上将問題做了簡化,對于等式右邊的條件概率乘積,我們就可以用神經網絡來做拟合,比如前饋神經網絡,循環神經網絡RNN,到現在的Transformer模型等等,技術的演進給我們帶來了更好的拟合效果。

Transformer模型
預訓練
介紹完語言模型,我們再來看看什麼是預訓練,預訓練是屬于遷移學習中的一種技術,也就是說我們在一個任務中先預訓練這個神經網絡的參數,再在另一個任務中微調這個神經網絡的參數,就會得到非常好的效果。
常用的預訓練模型有ELMo、BERT、GPT等等,以ELMo為例,它是以Lstm模型為基礎從左到右和從右到左分布訓練,這樣會得到非常好的初始化參數。

基于預訓練語言模型的對話生成
在了解語言模型和預訓練技術後,接下來就簡單了,我們隻需通過預訓練技術來初始化語言模型。就可以了,還記得之前我們說過的語言模型的公式麼,生成式對話模型就是在此基礎上加上了X這個條件。
生成式對話模型:

有了這個,就可以使用神經網絡的技術來拟合條件概率的各個乘積項,比如前饋神經網絡,RNN、Transformer等。下圖就是就是一個預訓練語言模型,前面我們有說到,比起語言模型,生成式對話模型是增加了X這個條件項,如果我們增加更多的條件下,比如下圖所示的style,persona等信息,這個模型訓練出來的結果會更強大。

講師介紹
鄭老師,清華大學計算機系博士後,從事對話系統相關研究,在AAAI,EMNLP,IEEE/ACMTASLP等國際會議與期刊上發表論文數篇。
《Hello,World公開課》是由開課吧推出面向廣大開發工程師的免費加餐課,我們希望能搭建起一座橋梁,将業内的最熱門的技術,的解決方案一起打包免費送給你。無論你是初入職場的應屆生,還是準備升職加薪的職場精英,相信這裡都有你需要的内容。
免責聲明:本文僅代表作者個人觀點,與每日科技網無關。其原創性以及文中陳述文字和内容未經本站證實,對本文以及其中全部或者部分内容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關内容。
本網站有部分内容均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,若因作品内容、知識産權、版權和其他問題,請及時提供相關證明等材料并與我們聯系,本網站将在規定時間内給予删除等相關處理.

