0
本文作者: 老王 | 2016-08-13 13:34 | 專題:CCF-GAIR | 全球人工智能與機器人峰會 |
聊天機器人怎么做?常見的方式一種是通過深度學(xué)習;另外則是利用信息論,即讓機器人如何去聊天、如何反饋。利用深度學(xué)習的方式現(xiàn)在已廣泛應(yīng)用,而第二種方式目前在應(yīng)用較少,尚處于探索階段。
在全球人工智能與機器人峰會上,加拿大皇家學(xué)院院士,滑鐵盧大學(xué)教授,ACM、IEEE Fellow李明提到,利用深度學(xué)習的Context Model做聊天機器人,該機器人在對話中回答的問題就過于籠統(tǒng),目前需要解決的產(chǎn)品痛點是要讓機器的回答更有針對性。所以李明和他的研究團隊在此基礎(chǔ)上加了一個CNN編碼器,給機器人一個有上下文的題目,然后對它進行幾億對的問答訓(xùn)練,最終訓(xùn)練出40個,讓回答更具針對性,而且精度在80%以上。
它的工作方式是先接入兩個Contet Model,通過不同的連接,把CNN的分類結(jié)果輸入至RNN,從而更準確地理解問題,做出正確的回答。
Siri作為一個背后由自然語言處理支撐的應(yīng)用,目前還存在一定的問題。當用戶問Siri“魚吃什么?”Siri內(nèi)部的系統(tǒng)提煉出“魚”和“吃”這兩個關(guān)鍵詞,于是理解為用戶的意圖是想要吃海鮮,于是回答結(jié)果羅列出很多海鮮館。如果不用深度學(xué)習改用模板匹配也會出現(xiàn)問題,模板匹配靈活性較差,提問“今天天氣怎么樣”它可以回答,但如果換為“今天天氣怎么樣啊”,就會出現(xiàn)問題。
最近李明做了一個研究,鑒定細胞里的某項物質(zhì)有多少。流程是先給到一個細胞,把細胞粉碎、分離,分離以后把黑點拿出,用質(zhì)譜議搖一搖以后生成頻譜,該頻譜即它的質(zhì)譜,按照質(zhì)譜李明寫了一個很簡單的CNN模型,接上LSTM完成鑒定。而在這種情況下,由于噪音問題,深度學(xué)習自身不工作,此外它還需要做動態(tài)規(guī)劃,通過無數(shù)個CNN,最終用動態(tài)規(guī)劃把它解決。
問答機器人其中有一大技術(shù)挑戰(zhàn)就是適度反饋系統(tǒng)。阿爾法狗的反饋系統(tǒng),通俗講就是下棋下輸一局就減一分,反之加一分。相比于阿爾法狗簡單地反饋輸和贏,聊天和問答就不能用簡單的對和錯、輸和贏來反饋,所以這里需要一個適用的度量系統(tǒng)。李明提出一個度量系統(tǒng)概念,以信息論為基礎(chǔ)的度量系統(tǒng),他們需要度量兩個句子的相似性或者一個問題和一個答案的相似性,最終找到兩者的語義距離。語義距離雖不可計算,但語義可以達到近似,而近似的實現(xiàn)方式就是壓縮,通過壓縮來度量語言的近似性。
李明從另外幾個角度利用深度學(xué)習來解決自然語言問題,為研究者們提供新的視角。
以下是李明演講實錄:
大家好!
我們有一個創(chuàng)業(yè)公司,叫薄言,我們就做聊天機器人這一件事情。今天我就會給大家介紹一下我們的聊天機器人。
大家可以在微信號上關(guān)注薄言豆豆,你就可以直接與它聊天。實體機器人是我們聊天機器人的一個落地方式,但這不是我們主要的產(chǎn)品。
聊天平臺是怎么做的?我們在這個方向已經(jīng)耕耘近十年,公司成立了兩、三年,共50多人。不做別的,就做一件事:聊天。今天會場上很多人談到聊天這個項目,不乏有很多很精彩的報告,我想介紹一下自己的聊天機器人的平臺。我把它分為兩個題目,一個是聊天機器人怎么做,一個是深度學(xué)習,另外一個是信息論,即怎么去聊天,怎么做反饋。第一個題目是大家都已經(jīng)做了很多了,但第二個題目比較新,也比較有實驗性,有探索性。
很多人知道做深度學(xué)習,就是所謂的Context Model,我們覺得以該技術(shù)研發(fā)出的產(chǎn)品回答問題太過籠統(tǒng),我們需要讓問題回答得更有針對性。所以我們加了一個CNN Encoder,就是給它一個上下文的題目。它需要幾億對的問答對去訓(xùn)練,訓(xùn)練出了40個。然后它就會把它想問的題目告訴網(wǎng)絡(luò),網(wǎng)絡(luò)就會用它來更有針對性的回答問題。我們訓(xùn)練了以后,它的精度大概是在80%左右。
C是有不同的方式可接入兩個Contet Model,通過不同連接,把CNN的分類結(jié)果輸入給RNN,讓它更準確地理解意思,從而做出正確的回答。舉個例子,大家看第一個,這第一個是說鐵達尼號是誰主演的,輸出的是非常籠統(tǒng)的話,都沒問題,全是中國話,沒什么用,回答有很多很多人。但是當你有了主題以后,它回答的就是一個正確的演員的名字。還有第二個問題,當沒有這個主題的時候,你問庫里和詹姆斯誰是MVP,它就說要看情況,有了這個主題以后,它的回答就是答案是詹姆斯,這是主題輸入的重要性。
大家都在說深度學(xué)習怎么來幫助自然語言理解,舉個有代表性的例子,大家知Siri,Siri用了很多關(guān)鍵字處理,假設(shè)你問它魚吃什么?它認為這有個魚,還有吃,那肯定要吃海鮮,那就告訴你很多海鮮館,這是很不靠譜的事情了。但是你也可以做模板匹配,如果不做深度學(xué)習的話,做模板匹配也很不靠譜,剛才有個艾克的例子,艾克就可模板匹配,模板匹配相比而言非常不靈活,你說今天天氣怎么樣它可以回答,如果你說今天天氣怎么樣啊,它就不行了,靈活性非常差。
大家看這個,這是經(jīng)過了訓(xùn)練以后做出的東西,我渴了怎么辦?回答說喝水,有點渴怎么辦?多喝水,我x有點渴了怎么辦?多喝水,我就瞎加字,多喝水,我北京有點渴了怎么辦?喝王老吉,蝴蝶,我北京有點渴了怎么辦?還是說喝點水?,F(xiàn)在我把渴字換成餓字了,就一字之差,我說蝴蝶我北京有點餓了怎么辦中國,機器就說吃東西,我又把餓字去掉了,我說蝴蝶在北京有沒有怎么辦中國,它的回答是有啊,北京。所以深度學(xué)習給我們解決了很多問題,并不是說它理解了這句話的意思,但它變得非常精確。
我再給大家舉一個簡單的例子,深度學(xué)習就是在凡是有數(shù)據(jù)的地方,凡是有標注性的地方都做得非常好。在生物信息血也做得非常好,最近我們做了一個工作,生物信息血就是我在一個細胞里需要鑒定某個數(shù)量有多少,或者有沒有。那么我該怎么做呢?先給一個細胞,然后把細胞粉碎分離,分離以后幾個黑點,把它拿出來,就拿一個質(zhì)譜議搖一搖,徭完了以后就生成這么一個頻譜,這個頻譜就是它的質(zhì)譜,按照這個質(zhì)譜我們就希望把它寫出它的蛋白質(zhì)等等。所以我寫了一個很簡單的模型,就是CNN,后頭接上了LSTM,深度學(xué)習很多時候根本就不適合,這種情況下,深度學(xué)習自己完全不工作,因為有很多噪音,而且它需要做所謂的動態(tài)規(guī)劃。我們用了無數(shù)多個CNN,用動態(tài)規(guī)劃把它解決的。當然這只是一個簡單的說法,一個圖。
以前科學(xué)院做了一個比較,這個比較不完全公平,但是也不失可以給大家看看。薄言豆豆,這個問題就用了一千個從微軟里找出的問題。這是在2015年發(fā)表的數(shù)據(jù),他們拿來測試聊天機器人,我說不公平,是因為這些問題不太是聊天的問題,它是QA的問題,所以對有些比較是公平的,比如圖靈機器人是公平的,因為它做這個,然后出門問問它也做這個,小i機器人也做這個,但對小冰和百度度秘就不太公平,因為它不做這個。但是你要想聊天一定是什么問題都能回答,不能胡說八道,人家問你一個什么問題,你一定要正常的回答。所以知識非常重要,知識就是力量。
我想講下一個問題,阿爾法狗做的非常好,下棋下輸了就減一分,下贏了就加一分,這有正常的反饋系統(tǒng)。而說話聊天,問一句話說一句話你怎么知道正確錯誤,所以要有正確的度量系統(tǒng),所以最近我們在研究需要一個正確的度量系統(tǒng),我們有一個信息論,以信息論為基礎(chǔ)的度量系統(tǒng),這就是我們LSTM比較具有相似性,現(xiàn)在我們需要度量什么東西呢?兩個句子的相似性或者一個問題和一個答案的相似性,我需要找到這些東西的語義距離,這兩句話它的語義距離有多少,現(xiàn)在問題是這樣,問題什么是語義距離,語義距離是沒有定義不可計算,沒有人知道什么東西的東西。我們就提出一個新的理論,就是語義距離不知道是什么,我們就用一個東西來代替這件事。
我能證明這件事,語義距離沒有定義,不可計算,信息距離有距離,也不可計算,但可以近似。怎么近似?就是壓縮。但是我能證明以下事情,數(shù)學(xué)嚴格的證明。任何對語義距離的一個描述,一個近似,不管你什么近似,只要你是可計算的,我的信息距離一定比你那個距離好。就是別的不用了,語義距離不是沒定義嗎?算了,咱別定義了,咱們就用信息距離好了,信息距離無非就是讓你壓縮,壓縮完了就可以近似語義距離。當然怎么壓縮我也不知道,但是這是可以做的,因為很多我們已經(jīng)開始在嘗試著做這件事,通過壓縮來度量這個東西,兩個語言的近似性。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。