普通文檔也能變對話:深入理解對話補(bǔ)全技術(shù)
當(dāng)我們提到對話機(jī)器人,你是否也會像我一樣立刻想起與Siri或者Alexa的一次次對話,雖然它們有時候可能會讓你啼笑皆非,但也無可否認(rèn)它們確實為我們的生活帶來了很大便利。然而,訓(xùn)練這樣的對話AI,其難點在于如何獲取高質(zhì)量的對話數(shù)據(jù)。過去我們通常需要收集大量的人類對話作為訓(xùn)練數(shù)據(jù),這既費時又費力。那么,有沒有更好的方法呢?
偶然想起去年閱讀的一篇論文,介紹了一種對話補(bǔ)全的方案,非常有趣。今天就向大家介紹一種全新的方法——對話補(bǔ)全,它能幫我們把普通的文檔轉(zhuǎn)變成聊天記錄。讓我們一起探索這個顛覆傳統(tǒng)的技術(shù),看看它如何打破界限,讓任何一篇文檔都能“說話”。
首先,讓我們看一下“對話補(bǔ)全”(inpainting)這個詞。它其實是從圖像處理那塊借用過來的,原意是指用周圍的像素信息來補(bǔ)全圖片中缺失或者損壞的部分。而在這篇論文里,我們可以理解為用已有的對話內(nèi)容來推測和補(bǔ)全對話中缺失的部分。就好像我們在看一幅畫時,如果畫中有一部分缺失,我們就會想象這部分應(yīng)該是什么樣的,以使畫看上去更完整。在對話補(bǔ)全中,我們也是這樣,利用已有的對話內(nèi)容來猜測缺失的部分,讓整個對話聽起來更流暢、更完整。
下面我們來看看這個論文是怎么講的。
簡介
對話機(jī)器人需要大量的優(yōu)質(zhì)對話來進(jìn)行訓(xùn)練,但這種數(shù)據(jù)往往不太好找。因此,論文作者想出了一種新的方法,叫做"對話補(bǔ)全",就是把普通的文章改編成像我們?nèi)粘A奶煲粯拥膶υ?。這樣一來,我們就能從各種各樣的文章中獲取大量的對話內(nèi)容了。具體來說,就是把文章的每一句話看作一個人的發(fā)言,然后機(jī)器人就要猜測另一個人可能的回答或者提問。
訓(xùn)練的部分
對話補(bǔ)全器(inpainting)使用的是一種叫做T5的生成模型,這是一種編碼器-解碼器的模型。這個模型的訓(xùn)練方法跟我們之前見過的BERT模型有點類似,只不過有一個關(guān)鍵的不同:BERT是在句子中遮蔽單個的詞語來訓(xùn)練模型,而在這里,我們是遮蔽掉整個發(fā)言來訓(xùn)練模型。
舉個例子,考慮以下對話:
講話者1:“你好,你怎么樣?”
講話者2:“我很好,謝謝你。你呢?”
講話者1:“我也很好,謝謝你的關(guān)心?!?/code>
在對話補(bǔ)全任務(wù)中,可能會遮蔽一個完整的發(fā)言,像這樣:
講話者1:“你好,你怎么樣?”
講話者2:?
講話者1:“我也很好,謝謝你的關(guān)心。”
模型的任務(wù)就是預(yù)測缺失的發(fā)言(在這個例子中,“我很好,謝謝你。你呢?”)。用于訓(xùn)練的損失函數(shù)是標(biāo)準(zhǔn)的交叉熵?fù)p失,它的目標(biāo)是最小化原始發(fā)言在部分對話給出的情況下的負(fù)對數(shù)概率。
推理階段
在推理階段,訓(xùn)練好的補(bǔ)全模型被用來將一篇文章轉(zhuǎn)化為對話。假設(shè)我們有一篇這樣的文章:
“貓是小型的食肉哺乳動物?!?“它們經(jīng)常被當(dāng)作寵物。”
“貓有強(qiáng)壯的柔韌體骼,反應(yīng)快,爪子銳利且可以伸縮?!?/code>
這篇文章被視作在一個假設(shè)的對話中,作者的一系列發(fā)言。這個對話最初看起來像這樣:
作者:“貓是小型的食肉哺乳動物?!?
讀者:?
作者:“它們經(jīng)常被當(dāng)作寵物。”
讀者:?
作者:“貓有強(qiáng)壯的柔韌體骼,反應(yīng)快,爪子銳利且可以伸縮?!?
讀者:?
問號代表對話中缺失的部分,這就是對話補(bǔ)全模型設(shè)計的目的,去填補(bǔ)這些缺失的部分。用了對話補(bǔ)全模型后,對話可能會變成這樣:
作者:“貓是小型的食肉哺乳動物?!?
讀者:“貓一般常在哪些地方出沒呢?”
作者:“它們經(jīng)常被當(dāng)作寵物?!?
讀者:“貓有哪些特殊的身體特征呢?”
作者:“貓有強(qiáng)壯的柔韌體骼,反應(yīng)快,爪子銳利且可以伸縮。”
讀者:“真有意思,你能再多介紹一些關(guān)于貓的行為習(xí)性嗎?”
文章和對話的例子
再讓我們看另一篇文章:
“大象是大型哺乳動物?!?
“它們有長長的鼻子?!?
“大象是食草動物?!?/code>
用了對話補(bǔ)全模型后,對話可能會變成這樣:
作者:“大象是大型哺乳動物。”
讀者:“大象有哪些獨特的特征呢?”
作者:“它們有長長的鼻子?!?
讀者:“大象平時都吃些什么?”
作者:“大象是食草動物?!?
讀者:“真有趣,你能告訴我更多關(guān)于大象的棲息地信息嗎?”
總結(jié)
"對話補(bǔ)全"就像是給聊天記錄中的空白部分填充內(nèi)容。它可以幫我們把普通的文章變成像人們?nèi)粘υ捯粯拥牧奶煊涗?。這對于訓(xùn)練聊天機(jī)器人來說是個好方法,因為它能提供大量豐富、真實的對話內(nèi)容。所以,這個技術(shù)可能會給聊天機(jī)器人的發(fā)展帶來很大的幫助。






