在清華x-lab主辦的人工智能研習(xí)社第五講,三角獸的創(chuàng)始人、COO馬宇馳如此描述當(dāng)前的人機交互產(chǎn)品。
在同日舉辦的百度2017世界大會上,李彥宏的觀點與馬不謀而合:“我們現(xiàn)在看到很多智能音箱,雖然不需要按住,但是需要一個喚醒詞,一般是四個字,這不符合人與人交互方式。我跟你說話的時候不需要拉你的手,也不需要每句話都叫你的名字,更不需要每次都叫四個字?!?/p>
在清華的演講中馬宇馳表示,目前市面上人機交互的智能硬件,距離真正的交互還需要至少8-10年時間。各大發(fā)布會上自然交互,甚至有些可以接受訪談的機器人,一定有某些人工的介入,噱頭頗多。
而作為人機交互最重要的應(yīng)用場景之一,搜索引擎與人類最自然的交互方式依然有很大不同?!氨热缥覀?nèi)绻榻裉斓奶鞖?,到百度可以直接搜索“北京天氣”,但跟人說話肯定不能這樣,跟同學(xué)說“北京天氣”,別人會以為這個人有病,要說今天出去穿羽絨服冷不冷這樣的話,這部分叫自然語言處理。在之前的一次大會上有一個智能領(lǐng)域的科學(xué)家說語義是人工智能皇冠上最后一顆“明珠”,因為人工智能學(xué)會了語義才真正接近于人的思考方式和回應(yīng)的方式?!瘪R宇馳稱。
那么人機對話這件事為什么難?深度學(xué)習(xí)等AI技術(shù)又能從中做些什么?在清華x-lab的人工智能研習(xí)社課程中,三角獸創(chuàng)始人兼CEO 王卓然博士在馬宇馳之后解釋了這些疑惑。
以下為王卓然演講,大數(shù)據(jù)文摘在不改變原意的前提下有刪改:
人機對話這件事為什么難?
一些名詞大家應(yīng)該耳熟能詳,像深度學(xué)習(xí)、增強學(xué)習(xí)、自然語言處理、信息檢索、數(shù)據(jù)挖掘。最底層的技術(shù)模塊,像決策過程、推薦系統(tǒng)、知識庫、邏輯推理、分類等等,可以看到機器學(xué)習(xí)和自然語言處理幾乎每一個模塊都會用到,人機對話涉及到方方面面。人機對話這個大的領(lǐng)域其實是人工智能的下一代,叫做認(rèn)知智能。認(rèn)知智能就是人怎么去感知世界,怎么去理解世界,然后用機器去模擬它,去擬合它,再用一個接近人的方式來反饋給我們。所以它涉及的面太廣了,只是單純說人機對話這個子問題都可以另外定義出好多子問題。所以我們只是把這些基礎(chǔ)的模塊、基礎(chǔ)的算法包裝成我們內(nèi)部通用的模塊,像開放域的聊天檢索式問答、深度問答、圖文對話的引擎等等等等,然后我們對外輸出的產(chǎn)品,有開放域聊天,有問答的引擎,問答引擎的意思就是客戶把他的問題和答案灌進(jìn)來,我自動支持基于問題庫的問答,我們還有多輪對話的引擎,可以不依賴于領(lǐng)域。比如說找電影、找歌、找餐館用的是同一套引擎,只是把不同的數(shù)據(jù)、本題庫、知識結(jié)構(gòu)導(dǎo)進(jìn)去,讓它支持一個領(lǐng)域的對話,我們還可以把它打包在一起,變成多域的對話系統(tǒng)。所以如果做人機對話,基本上自然語言處理、機器學(xué)習(xí)里所有的事都要融會貫通。
人機對話的幾大核心問題1)開放域聊天
平時我們和人說話有不同的場景用不同形式對話,或者說用不同的方式去思考,比如說開放域的聊天,沒有目的、不是為了找到一個信息,或者說不是為了完成一個任務(wù)來去對話,而是朋友之間的寒喧、互相的問候,這種就叫開放域聊天。
2)多輪對話
這個更接近于人機的對話,和人與人的對話也有一定相似處。比如我們要找一個餐館,我會問找五道口的餐廳,機器會問喜歡什么口味,我說川菜的,又問對環(huán)境有沒有要求,我說有沒有適合朋友聚餐有沒有大的包房,這是機器多輪對話完成的。
3)智能問答
智能問答這個概念比較好理解,這個技術(shù)也相對于另兩個更久遠(yuǎn)一些,也更成熟一些,問答就是一問一答,我問你天空為什么是藍(lán)的,你給我解釋說什么空氣的折射等等一些因素,我問兔子真的愛吃胡蘿卜嗎,你可以回答兔子都愛吃胡蘿卜,但不是全部,這是人機對話不可或缺的一部分。
這三部分之間是互相沒有聯(lián)系的,在目前的技術(shù)框架下,開放域聊天有開放域聊天的做法,垂直領(lǐng)域有垂直領(lǐng)域的做法,問答是問答的做法,做產(chǎn)品不能只做一個用戶的問答或者一個聊天,這些東西要整合在一起,于是就出現(xiàn)了跨域的中控概念。以度秘平臺為例來講,這個平臺既可以支持閑聊,也可以支持找電影,找歌,找餐館,查快遞,支持問答,甚至更多的技能,開窗、開燈等等,這是由單獨一個服務(wù)模塊來完成的。但是用戶說出一句話之后,這句話到底應(yīng)該歸哪個模塊去響應(yīng),這就是中控去做的一個事,其實就是根據(jù)你的上下文,根據(jù)你的每個域回復(fù)結(jié)果質(zhì)量的情況綜合算出用戶這句話有哪一個服務(wù)區(qū)響應(yīng)最好。
相關(guān)性是開放域聊天最重要的一個指標(biāo)。我說一句話之后機器回了一句與我相關(guān)的話,不相關(guān)就沒有辦法再聊下去了。在這個基礎(chǔ)之上,我們要注重幾個點,一個是上下文的覆蓋,人與人聊天是有上下文的,不是你說一句我說一句,每一句是單獨割裂的,而今上下文的覆蓋已經(jīng)做得很好了,達(dá)到了40%的上下文覆蓋,可以體驗到40%的聯(lián)系。
深度學(xué)習(xí)等人工智能技術(shù)可以做什么?
上下文引入進(jìn)來之后整個的數(shù)據(jù)會非常的稀疏,所以我們用了深度學(xué)習(xí)進(jìn)行自然語言處理,最大的幫助就是可以把離散的詞,離散的句子,離散的篇章等等表示成一個向量,這個向量在分布式的語義空間中就可以計算它的相似度、相關(guān)性等等這些指標(biāo)。我們就用深度學(xué)習(xí)這個方法把上下文的整個信息都表示成了向量,再用向量檢索向量的方式去找你說這句話的上下文、語義或者語境更相似的上下文,再用同樣的方法檢索獲得侯選。
另一塊是緊密情感,人和人聊天不可能是冰冷的你一句話我一句話中性的,肯定夾雜很多高興、開心、傷感、鄙視的情緒等在網(wǎng)上的表情標(biāo)簽。把這個引入當(dāng)中就會讓聊天更生動有趣。這塊我們做了一個嘗試,我們通過這個數(shù)據(jù)興起迭代的方法,用的還是很標(biāo)準(zhǔn)的CNN,只是我們數(shù)據(jù)加工、數(shù)據(jù)處理做了很多工作,能達(dá)到99%的準(zhǔn)確率,用一句話去識別它對應(yīng)的情緒,可能是開心、大笑等等,識別這個情緒能達(dá)到99%。
人機對話獲取數(shù)據(jù)的來源都是互聯(lián)網(wǎng),互聯(lián)網(wǎng)有一個問題,在互聯(lián)網(wǎng)上人和人聊天的句子偏成人化,肯定不適合兒童。舉個例子,我說床前明月光,這個機器人可能回應(yīng)地下鞋兩雙,每個字也沒有什么問題,也不涉及黃反,但整個句子的對兒童這么聊肯定不合適的。我們怎么在互聯(lián)網(wǎng)這個語料上去過濾出一個兒童版本呢?首先用檢索是不現(xiàn)實的,因為你不能保證每一句話、每一個字,只要有一句話或者一個字不適合這個產(chǎn)品就毀掉了。所以我們用了學(xué)術(shù)界比較火的端對端生成的聊天方式。它的訓(xùn)練語料是用成人語料,我們用能拿到的動畫片的字?;蛘邇和瘯眠@個訓(xùn)練一個模型,用這個模型過濾成人語料,在這之后又訓(xùn)練端對端的模型,過濾完之后就可以認(rèn)為不適合兒童的東西是小概率事件了,相當(dāng)于我們寫出了對兒童絕對安全的一版聊天。
我一直在研究垂直領(lǐng)域?qū)υ捪到y(tǒng)的泛化,什么叫泛化?在垂直領(lǐng)域?qū)υ捄茈y獲得,在網(wǎng)上抓數(shù)據(jù)的話也很難找到很貼切的人和人對話,或者人和任何東西對話,比如找電影,找餐館這種數(shù)據(jù)很難獲得。既然這么難獲得,我們?nèi)绻羞@樣的一個系統(tǒng),用這個系統(tǒng)已經(jīng)迭代學(xué)到很多東西之后,再把這個知識遷移到另一個領(lǐng)域。而且,問答跟人機對話完全不是一回事,問答更多是信息檢索的過程,匹配用戶的問題和庫里的問題是不是同一個意思,然后反饋答案。
講座后,現(xiàn)場聽眾與王卓然進(jìn)行了對話。
提問:今天百度的大會發(fā)了一款RavenH,比較有趣的一點是有可以拆卸的觸摸屏,發(fā)布者提到,現(xiàn)在市場上voice only的方式不太符合自然習(xí)慣,那未來人機交互是單純以語音為主還是多種結(jié)合起來的形式?
王卓然:人機交互這個形式,要分場景,最合適的場景當(dāng)然是一個多模態(tài)交互,因為多模態(tài)交互是人機對話的下一個進(jìn)階的階段,人機對話只考慮語音,如果是多模態(tài)的話,要考慮到屏幕、觸控、圖像識別、環(huán)境傳感器、位置等等。所以要分場景,不能較真,人機對話多模式場景比純機器交互要好,很多場景下不具備多模態(tài)交互能力,比如說在車載的時候有屏幕的引入可能會造成負(fù)擔(dān),對行車安全也有危害,純語音交互才是更好的場景,所以不同的場景不同的應(yīng)用。
提問:剛才聽了您的介紹非常精彩,我有一個問題,現(xiàn)在大家做語音處理和語義處理分得比較開,事實上在人說話的過程中語言不僅包括聲音,還包括像語調(diào)、語氣等等,但是好像市面上沒有看見有人做語調(diào)、語氣這方面的東西,語義大部分處理的是文本,您怎么看待這個問題,語音、語調(diào)和語氣角度有價值嗎?如果有價值為什么大家都沒做,做的話難點在哪里?
王卓然:非常好的問題,從學(xué)術(shù)角度上來講有非常大的價值,單純看文本一句話可能有兩個意思,我沒吃飯,我沒吃飯?一個是疑問句一個是陳述句,代表的意思就不一樣了。但是為什么沒做呢,道理很簡單,還沒成熟到那個程度,商業(yè)到產(chǎn)品落地還差太遠(yuǎn),還沒有達(dá)到非要為這個事做一款產(chǎn)品,或者沒有這個事就做不了產(chǎn)品的程度。
提問:我想問之前談商業(yè)模式的時候是做B2B、B2C,你們是永遠(yuǎn)做男人背后的“女人”呢?還是慢慢推出產(chǎn)品面對C端用戶呢?
王卓然:對用戶市場對我們非常有吸引力的,但是從公司發(fā)展角度來看,這個階段嘗試C端的代價太大了,而且我們團(tuán)隊結(jié)構(gòu)也不是為2C準(zhǔn)備的,所以在短期之內(nèi)都不會做這方面的事情。
提問:剛才您講給小孩訓(xùn)練一個模型,過濾到不合適的問答。想請您詳細(xì)解釋一下這種過濾方式。
王卓然:我們用故事書、字幕等等去訓(xùn)練了類似于語言模型的分類器。用這個東西去過濾網(wǎng)上成人聊天的每一句話,把不適合兒童的都濾掉,我們認(rèn)為剩下的它的分布會跟字幕、故事書訓(xùn)練分布是相似的,詞匯分布、表達(dá)形式等等會跟兒童的表達(dá)形式更相似一些。在這個基礎(chǔ)之上我們再去訓(xùn)練這個模型。
提問:您剛才講的人機交互的話多模態(tài)情況下最好,我不知道理解對不對。比如人在溝通的時候,除了剛才說的聲音、語料,包括說話內(nèi)容,實際有很多肢體語言,下一代的人機交互會不會把語音包括視覺整個結(jié)合起來,這樣才叫下一代的方式?
王卓然:會的,人機對話在國外學(xué)術(shù)界火過一段時間,之后好多人機對話轉(zhuǎn)向多模態(tài)研究。表情、肢體語言加上語言,包括物體識別所有都在一起做人機對話,背后的技術(shù),現(xiàn)在引入多個環(huán)節(jié),物體識別等等是多維度,這后面有決策過程。如果對這個感興趣可以關(guān)注兩個大學(xué)的研究,一個是CMU,他們有一個人機交互的實驗室,人機對話做的也比較久,有很多人也做多模態(tài)的交互。另一個是愛丁堡赫瑞?瓦特,剛開始是做人機對話,后來他們轉(zhuǎn)向多模態(tài)的交互了。
提問:剛才您說公司應(yīng)用場景其中有一個是IoT,是智能終端。這個在終端上用的話,您認(rèn)為都是聯(lián)網(wǎng)的通過云的處理方式呢,還是說我也可以去本地去用。如果是云的話涉及到很多場景,包括并發(fā)性的問題,有沒有考慮像有一些東西是現(xiàn)在有一個趨勢,把很多的算法固化成硬件。
王卓然:語義這塊負(fù)擔(dān)不太重,都是B到T這個級別,不像圖像傳輸非常重。固化到端我們有嘗試,跟華為海思有合作,那是支持NLP的,端對端聊天生成,語義理解幾個RN結(jié)構(gòu),因為圖象涉及很多東西,比如說實時的加工,實時的渲染,實時的分析,實時性圖像本身傳輸有問題的情況下。文本層面最大的考慮其實是隱私,不是你說的云的負(fù)擔(dān)問題。