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