作者:朱凱華
【新智元導(dǎo)讀】百度度秘事業(yè)部首席技術(shù)官朱凱華日前在上海計(jì)算機(jī)學(xué)會(huì)做了題為《AI賦能的搜索和對(duì)話交互》的報(bào)告,主要介紹了現(xiàn)在的百度搜索及度秘“DuerOS”系統(tǒng)。由陸奇領(lǐng)銜、百度全新組建的度秘事業(yè)部有什么技術(shù)干貨?本文為你帶來(lái)詳盡的解讀。
很榮幸能夠被上海計(jì)算機(jī)學(xué)會(huì)邀請(qǐng)來(lái)給大家做一個(gè)匯報(bào),今天我講的是AI賦能的搜索和對(duì)話交互。
簡(jiǎn)單介紹一下自己,我之前負(fù)責(zé)百度的搜索算法,現(xiàn)在技術(shù)負(fù)責(zé)百度的對(duì)話式操作系統(tǒng)DuerOS,所以今天分享下在工作過(guò)程中遇到的技術(shù)挑戰(zhàn),以及學(xué)習(xí)到的收獲。
今天的演講主要集中在以下兩個(gè)部分:
AI賦能的現(xiàn)代搜索引擎——現(xiàn)在的百度搜索;
AI賦能的對(duì)話式交互計(jì)算機(jī)——我們現(xiàn)在正在做的DuerOS系統(tǒng)。
現(xiàn)代搜索引擎進(jìn)展:兩大挑戰(zhàn)
首先看一下現(xiàn)代搜索引擎遇到的挑戰(zhàn)。
現(xiàn)代搜索引擎面臨兩個(gè)重要挑戰(zhàn):1. 更好的建模搜索結(jié)果的語(yǔ)義相關(guān)性;2. 更直接地給用戶答案。
第一部分討論現(xiàn)代搜索引擎的進(jìn)展時(shí),我們主要分成:1. 通過(guò)語(yǔ)義匹配來(lái)提升語(yǔ)義相關(guān)性;2. 通過(guò)知識(shí)的幫助來(lái)給用戶直接答案。
首先討論語(yǔ)義匹配的部分。
更好的建模語(yǔ)義表達(dá)能力(representation capability)是不斷改進(jìn)語(yǔ)義匹配能力的基礎(chǔ)。
我們通過(guò)經(jīng)典的BM25匹配算法(信息檢索的一個(gè)經(jīng)典算法)來(lái)分析一下語(yǔ)義表達(dá)能力的基本組成部分。
關(guān)鍵詞命中(Keyword hits):如果Document中的一個(gè)詞(Term)是Query中有的,那么算法會(huì)認(rèn)為這個(gè)Document和Query更相關(guān),BM25匹配的得分更高??梢哉J(rèn)為這個(gè)命中詞對(duì)整體語(yǔ)義相關(guān)性有正向貢獻(xiàn)。
關(guān)鍵詞權(quán)重(Term weighting):通過(guò)TFIDF來(lái)決定每個(gè)命中詞正向貢獻(xiàn)的大小。
頁(yè)面長(zhǎng)度歸一化(Document length normalization):如果Document的長(zhǎng)度越長(zhǎng),這個(gè)Document和Query就更不相關(guān)(典型例子是:如果這個(gè)Document是一個(gè)詞典,任何一個(gè)Query中的詞在它中都出現(xiàn)),BM25匹配得分越低??梢哉J(rèn)為Document中所有未被Query命中的詞都會(huì)對(duì)整體語(yǔ)義相關(guān)性有負(fù)向貢獻(xiàn)。
上面討論的命中詞對(duì)整體語(yǔ)義相關(guān)性的正/負(fù)向貢獻(xiàn),是語(yǔ)義表達(dá)能力的基礎(chǔ)。
那么,我們就通過(guò)一個(gè)running example來(lái)討論一下整個(gè)信息檢索方向的發(fā)展史,它本身就隨著語(yǔ)義表達(dá)能力的提升而不斷前進(jìn)的。
Running example的設(shè)定如下:
Query當(dāng)中有A B C D E五個(gè)Term;
Document當(dāng)中有X ? B Y C D' Z七個(gè)Term。
我們要計(jì)算該Query和Document的相關(guān)性。
大家會(huì)注意到,Document中B和C都屬于精確命中Query的Term,他們的對(duì)整體語(yǔ)義相關(guān)性的貢獻(xiàn)可以認(rèn)為已經(jīng)被BM25討論了,我們就不贅述。但是Document中沒(méi)有命中Query的Term: X ? Y D' Z,這些『未命中的詞』對(duì)整體語(yǔ)義相關(guān)性的貢獻(xiàn)的建模方式的改進(jìn),貫穿了信息檢索理論的進(jìn)化。
所以我們分成以下四個(gè)層次來(lái)討論這些『未命中』的詞對(duì)相關(guān)性的建模方式:
歸一化命中
同義詞命中
建模詞與詞之間“愛(ài)” 的關(guān)系
建模短語(yǔ)與詞之間的“愛(ài) / 恨”的關(guān)系
歸一化命中主要表明兩個(gè)詞基本上是完全等價(jià)的,我們記作 A和?是1.0的關(guān)系。像這樣基本等價(jià)的關(guān)系,會(huì)有一些詞干提?。⊿temming),拼寫(xiě)糾錯(cuò),繁簡(jiǎn)體轉(zhuǎn)換和數(shù)字格式歸一化,上面在每種情況給了例子。
從歸一化命中向前進(jìn)一步,我們不要求兩個(gè)詞完全等價(jià),放松要求他們只要有有類似的概念,基本可以互換,這就是同義詞(Synonym)命中。在例子中記作 D和D'是0.8的關(guān)系(弱一點(diǎn))。同義詞有很多種,上面列舉了一些例子。這都是百度系統(tǒng)中實(shí)際考慮的一些情況。
從同義詞命中再前進(jìn)一步,我們不要求兩個(gè)詞概念類似,而是有一種弱的『愛(ài)』的關(guān)系就行了。比如X雖然沒(méi)有出現(xiàn)在Query中,但是因?yàn)镼uery中出現(xiàn)了E,我們認(rèn)為兩者的相關(guān)性有一個(gè)小提升(0.2),Y的貢獻(xiàn)是0.05,Z的貢獻(xiàn)更小是0.03。
建模詞與詞之間『愛(ài)』的關(guān)系的一個(gè)有價(jià)值的工作是Gao Jianfeng在微軟做的一個(gè)基于統(tǒng)計(jì)機(jī)器翻譯(SMT)的一個(gè)模型,它通過(guò)SMT來(lái)計(jì)算詞語(yǔ)之間『愛(ài)』的關(guān)系。
看一下表中的例子:
如果用戶Query中有vista,那么如果一個(gè)Document中,出現(xiàn)了Windows, download,甚至是free,都會(huì)讓系統(tǒng)認(rèn)為這個(gè)Document更相關(guān)。
如果用戶Query中有titanic,那么如果一個(gè)Document中,出現(xiàn)了ship, pictures,甚至是rose,都會(huì)讓系統(tǒng)認(rèn)為這個(gè)Document更相關(guān)。
上面這三種建模方式其實(shí)本質(zhì)都是相同的:都是對(duì)任何一個(gè)query中的詞,建立一個(gè)相關(guān)詞的列表,每個(gè)相關(guān)詞配上一個(gè)權(quán)重,如果Document中出現(xiàn)了任一個(gè)相關(guān)詞,都會(huì)得到大小不等的正向貢獻(xiàn)。(例子中,歸一化是1.0;同義詞是0.8;SMT是更小的權(quán)重)
但是,這樣的建模方式有一個(gè)根本性的限制,就是相關(guān)詞列表不能太大,否則模型大小會(huì)爆炸,無(wú)法實(shí)用。
在這三種建模方式更前進(jìn)一步,我們希望能夠建模詞與詞之間,短語(yǔ)與詞之間『愛(ài)/恨』關(guān)系。比如Query中出現(xiàn)短語(yǔ)[C D E],那么Document中出現(xiàn)X的時(shí)候,系統(tǒng)能夠認(rèn)為這個(gè)Document更不相關(guān)。
通過(guò)語(yǔ)義匹配提高語(yǔ)義相關(guān)性:百度的例子
我們來(lái)討論下百度如何通過(guò)DNN模型來(lái)建模短語(yǔ)與詞之間的『愛(ài)/恨』關(guān)系。
首先Word embedding非常重要,它能夠把詞映射到一個(gè)低維(128維或256維)的稠密向量上。任意兩個(gè)向量都能計(jì)算距離(cosine),而且距離有正有負(fù)(對(duì)應(yīng)詞之間的『愛(ài)/恨』關(guān)系)。
百度通過(guò)100億的用戶點(diǎn)擊數(shù)據(jù)來(lái)訓(xùn)練一個(gè)DNN模型,該模型有超過(guò)1億個(gè)參數(shù)。該模型2013年12月第一次上線,之后持續(xù)給百度的相關(guān)性帶來(lái)非常大的提高。(2014年之后數(shù)據(jù)由于保密原因,不方便透露。)
據(jù)目前所知,百度是全球第一個(gè)將深度學(xué)習(xí)模型應(yīng)用到實(shí)際網(wǎng)頁(yè)搜索系統(tǒng)中的公司。(Google在2015年7月上線RankBrain,將深度學(xué)習(xí)模型應(yīng)用到搜索系統(tǒng)中。)
該DNN模型初版結(jié)構(gòu)如上圖所示,輸入是Query中的Term和Document的Title中的Term,終輸出是對(duì)這個(gè)Query和Title對(duì)的語(yǔ)義相關(guān)性預(yù)測(cè)值。其中 S*|V|的Looking up Table是word embedding層。
該DNN模型的訓(xùn)練是通過(guò)同一個(gè)Query下有點(diǎn)擊和無(wú)點(diǎn)擊的title構(gòu)成Pair來(lái)進(jìn)行Pairwise loss的訓(xùn)練的。這樣構(gòu)建訓(xùn)練樣本的好處(比如相對(duì)DSSM來(lái)說(shuō)),它能夠在原有百度很好的頁(yè)面相關(guān)性的基礎(chǔ)上進(jìn)一步捕獲微妙的語(yǔ)義差別,讓模型來(lái)專注于語(yǔ)義的差別。
舉一個(gè)例子,在2013年上線DNN模型之前,如果用戶查詢百度『ghibli車頭如何放置車牌』,由于這款瑪莎拉蒂旗下的豪車可能在中國(guó)賣的不多,所以相關(guān)內(nèi)容非常少。
就算查詢2015年的Google(2015年snapshot),結(jié)果和百度2013年之前的那個(gè)一樣不好,都是在做字面匹配。
但當(dāng)百度上線了DNN模型之后,大家可以看一下,搜索結(jié)果立刻明顯改善了。排上來(lái)的結(jié)果雖然字面不是精確重現(xiàn)Query的問(wèn)法,但是語(yǔ)義角度都是能夠回答這個(gè)Query的。
仔細(xì)分析可以看到,DNN模型成功捕獲了Query中『車頭』和Document中『前』、『前面』的語(yǔ)義關(guān)系;捕獲了Query中『如何放置』和Document中『放哪里』、『怎么裝』、『咋掛』的語(yǔ)義關(guān)系。
其實(shí)這是在訓(xùn)練的100億樣本中,有一些樣本體現(xiàn)了這樣的語(yǔ)義關(guān)系,被DNN模型學(xué)習(xí)到了。兩個(gè)例子如上圖,那是兩個(gè)用戶點(diǎn)擊過(guò)的Query/Document對(duì)。
再看一下進(jìn)一步分析的例子:
如果Query和Document1都完全相同是『三歲小孩感冒怎么辦』的時(shí)候,DNN的預(yù)測(cè)分?jǐn)?shù)是-15;如果我們?cè)贒ocument1后面加『寶寶樹(shù)』,預(yù)測(cè)得分立刻大幅提高了(升到-13),雖然『寶寶樹(shù)』這個(gè)詞沒(méi)有出現(xiàn)在Query中,但是DNN模型認(rèn)為這個(gè)詞和query其他部分是有語(yǔ)義相關(guān)關(guān)系的,所以給出了正向的貢獻(xiàn)(『愛(ài)』)。如果我們?cè)贒ocument1后面加了『搜房網(wǎng)』,預(yù)測(cè)得分立刻下降了(降到-15.8),因?yàn)镈NN模型認(rèn)為這個(gè)『搜房網(wǎng)』的出現(xiàn)和query其他部分語(yǔ)義更不相關(guān),所以給出了負(fù)向的貢獻(xiàn)(『恨』)。這個(gè)例子中,其實(shí)D2、D3和D1的區(qū)別都是增加了一個(gè)和Query沒(méi)關(guān)系的Term,在傳統(tǒng)的Information Retrieval中是一定會(huì)給D2,D3一樣的相關(guān)性得分,而區(qū)別不出兩者的差異。
后面兩個(gè)例子類似,DNN能夠區(qū)分『寶寶』和『小寶寶』類似,而和『狗寶寶』語(yǔ)義不相關(guān)?!簞?lì)志格言』與『格言』類似,而『幼兒教師』和『幼兒』語(yǔ)義不相關(guān)。
所以DNN模型與現(xiàn)代搜索引擎的結(jié)合是必然,其發(fā)展方向大概是以下幾個(gè):
用更多數(shù)據(jù)和更好的體現(xiàn)搜索特性的標(biāo)注:權(quán)威性、時(shí)效性、多樣性……
更好的理解和調(diào)試DNN模型,只用SNE這類工具簡(jiǎn)單看一下是遠(yuǎn)遠(yuǎn)不夠的。上面的一些例子分析就是一些如何更好調(diào)試DNN模型是否符合預(yù)期工作的一些示例。
通過(guò)CNN來(lái)更好的建模短距離的依賴關(guān)系,百度第一個(gè)CNN模型2015年1月上線。
這個(gè)是CNN和Bag-of-word(BOW)的DNN對(duì)比的例子。
在第一個(gè)例子中BOW模型因?yàn)椴豢紤]順序,所以無(wú)法區(qū)分是從『葫蘆島北到北京西』還是『北京西到葫蘆島北』,給出一樣的得分。而CNN模型能夠知道哪個(gè)才是更加語(yǔ)義相關(guān)的。
第二個(gè)例子中CNN模型也能更好的區(qū)分『被我刪除的QQ好友』和『被QQ好友刪除』。
更進(jìn)一步的改進(jìn)方向是通過(guò)RNN賴建模長(zhǎng)距離的依賴關(guān)系。百度在2015年7月時(shí)第一次上線RNN模型,對(duì)整體效果帶來(lái)了很大提升。
這個(gè)例子可以看出,RNN對(duì)建模有跳躍的概念是非常有效的,如例子Document中:『寬屏X電腦XXX玩魔獸XXXXXX』;『沙田XXX到迪斯尼XXXXX地鐵XXXX路線XXXXX』。
總結(jié)一下第一部分:我們可以通過(guò)使用DNN/CNN/RNN來(lái)更好的建模語(yǔ)義匹配程度,進(jìn)一步提升語(yǔ)義相關(guān)性。(出于保密考慮,演講提到的都是百度2~3年以前的工作。)
引入“知識(shí)”直接給出用戶想要的答案:百度 PK 谷歌
接下來(lái)我們來(lái)討論如何更好地通過(guò)引入『知識(shí)』來(lái)直接給出用戶想要的答案。
隨著設(shè)備越來(lái)越多樣化,屏幕越來(lái)越小,現(xiàn)代搜索引擎都想給用戶更少的links,更多的直接答案。
第一個(gè)很直白的方式就是通過(guò)在知識(shí)圖譜上的推理,給出答案。
這邊對(duì)比一下百度在知識(shí)圖譜上的推理能力。
百度支持『主語(yǔ)+謂詞』方式的推理,例子是『劉德華的老婆』,百度和Google都能給出答案。但從產(chǎn)品上百度更豐富的給出答案的詳細(xì)信息。
百度支持『謂詞+取值范圍』方式的推理,例子是『180cm以上的男明星』,百度能夠給出符合要求的明星列表,Google不能給出答案。
百度支持『謂詞+排名』方式的推理,例子是『世界第五/第八/第十高峰』,百度能夠給出符合要求的知識(shí)圖譜卡片,Google給出的答案結(jié)構(gòu)不一(有些是知識(shí)圖譜卡片,有些是web answer卡片)。
百度支持多步推理,例子是『謝霆鋒的爸爸的兒子的前妻的年齡』,百度能夠通過(guò)多步推理給出答案,而Google不能給出答案(雖然真實(shí)用戶不太會(huì)真的這樣搜索百度,但是這個(gè)例子體現(xiàn)的是能力的差異)。
如何進(jìn)行基于知識(shí)圖譜的推理,這方面討論很多,不多贅述。簡(jiǎn)言之就是按照知識(shí)先分析關(guān)系,然后在知識(shí)圖譜上解釋執(zhí)行獲取答案。上面的例子是『謝霆鋒是誰(shuí)的兒子』和『謝霆鋒的兒子是誰(shuí)』,雖然這兩句話用詞差不多,但是依存分析(Dependency Parsing)的解釋完全不同,依據(jù)依存分析的解釋,百度能夠執(zhí)行知識(shí)圖譜查詢并且獲得正確的答案。
基于知識(shí)圖譜推理的兩大限制及三種解決方案
但是,基于知識(shí)圖譜推理有一些關(guān)鍵的限制,限制之一是知識(shí)圖譜有盲區(qū)(Blindness)。
舉個(gè)例子,看到『Bush wives』大家會(huì)猜到什么?一般都會(huì)理解為『小布什/老布什的老婆』(雖然wives復(fù)數(shù)有點(diǎn)奇怪)。包括Google在2015年的時(shí)候也是這么理解的(2015年WSDM演講時(shí)的截圖,后來(lái)Google修復(fù)了這個(gè)例子),但是如果仔細(xì)看一下頭幾條搜索結(jié)果,大家就會(huì)發(fā)現(xiàn),bush wives講的是非洲內(nèi)戰(zhàn)時(shí),被擄獲到叢林中充當(dāng)慰安婦的婦女。
這就是典型的知識(shí)圖譜的盲區(qū)問(wèn)題,一旦某概念不在知識(shí)圖譜其中,知識(shí)圖譜會(huì)做一個(gè)它自己盡可能好的解釋,但他可能和真正的解釋相差很多。(一個(gè)類似的中文例子是『從百草園到三味書(shū)屋』,中國(guó)地大物博,確實(shí)有地名叫百草園,也有三味書(shū)屋,一個(gè)只關(guān)注地理位置POI的知識(shí)圖譜就會(huì)覺(jué)得他是一個(gè)完美匹配導(dǎo)航需求的Query。但放大來(lái)看,大家都知道他是魯迅的一篇散文。)
基于知識(shí)圖譜推理的第二個(gè)限制是靜態(tài)的圖譜很難描述用戶意圖的分布以及變化。
舉例來(lái)說(shuō),『天龍八部』這四個(gè)字,可以是小說(shuō),游戲,電視劇,電影。。。那么用戶在一個(gè)上下文中說(shuō)這四個(gè)字的時(shí)候,他到底要的是什么?如果世界上正好一部新的天龍八部的電影上映了,用戶說(shuō)這四個(gè)字的時(shí)候,他的需求分布是不是也應(yīng)該相應(yīng)改變?
由于以上限制,只通過(guò)只是圖譜推理向用戶直接提供答案是不夠的,我們要其他方向的解法。
其他方向是『和搜索結(jié)合』。搜索能夠幫助知識(shí)圖譜解決盲區(qū)和意圖分布的問(wèn)題:
搜索能夠看到全景:百度搜索索引了幾百億的頁(yè)面,基本上涵蓋用戶各種需求的方方面面。
搜索能夠提供用戶真實(shí)意圖的分布:有非常多的排序特征和用戶反饋特征能告訴我們用戶在各種上下文下真實(shí)的意圖分布,并且會(huì)隨著時(shí)間推移更新。
所以,搜索和知識(shí)圖譜可以完美結(jié)合:
搜索可以為知識(shí)圖譜提供上下文
知識(shí)圖譜幫助理解搜索的Query和結(jié)果
其中一種是兩者結(jié)合來(lái)給用戶『長(zhǎng)答案』。
類似“天空為什么是藍(lán)色的”這樣的Query,用戶需要詳細(xì)的解釋,我們可以把這個(gè)問(wèn)題轉(zhuǎn)化為在知識(shí)圖譜的幫助下,自動(dòng)識(shí)別佳答案段落(Paragraph Ranking)的問(wèn)題。這就會(huì)是一個(gè)百度很擅長(zhǎng)的排序問(wèn)題,我們能找出精簡(jiǎn)描述『瑞利散射』的段落。
當(dāng)知識(shí)圖譜和搜索結(jié)合,我們通過(guò)情感分析(Sentiment Analysis),可以更好的理解搜索結(jié)果。
比如非常多人在百度上搜索『孕婦可以』打電話么?吃柿子么?玩電腦么?……或者『蠶絲被能夠放在太陽(yáng)下曬么』這樣的問(wèn)題,往往沒(méi)有絕對(duì)的答案,這時(shí)候通過(guò)情感分析和知識(shí)圖譜,百度能夠告訴用戶說(shuō)有80%的人說(shuō)可以,20%的人說(shuō)不可以。您需要自己判斷一下。 :)
同樣,基于實(shí)體和搜索結(jié)合可以把難度很高的問(wèn)題難度減低到容易通用的實(shí)現(xiàn)。
舉個(gè)例子:『王剛第二任妻子是誰(shuí)』這個(gè)Query其實(shí)對(duì)知識(shí)圖譜理解的要求很高:要理解這個(gè)第二,不是年齡第二,不是身高第二,而是結(jié)婚時(shí)間排序第二。但是一旦結(jié)合搜索,知識(shí)圖譜的理解難度就下降了:
通過(guò)Query中的『是誰(shuí)』,系統(tǒng)可以知道用戶想要的答案很可能是一個(gè)人。
知識(shí)圖譜可以標(biāo)出搜索結(jié)果中所有是人的實(shí)體。
通過(guò)一些排序信號(hào),包括實(shí)體出現(xiàn)在所有結(jié)果中的比例,我們較容易就能猜出答案很可能是『成方圓』——這是個(gè)正確答案。
總結(jié)一下第二部分,要給用戶更多的直接答案,我們要充分利用知識(shí)圖譜以及要和網(wǎng)頁(yè)搜索來(lái)結(jié)合。(出于保密考慮,所有列出的數(shù)據(jù)都是百度2015年初的情況。)
AI 賦能的對(duì)話式計(jì)算機(jī):百度 DuerOS
接下來(lái)討論一下AI賦能的對(duì)話式計(jì)算機(jī)(Conversational Computer),也就是百度現(xiàn)在在做的DuerOS系統(tǒng)。
首先,我們有一個(gè)觀點(diǎn):從用戶和計(jì)算機(jī)的交互方式來(lái)看,以DuerOS為代表的對(duì)話式計(jì)算機(jī)將會(huì)是第三代的操作系統(tǒng)。
第一代操作系統(tǒng)的主要交互方式是鼠標(biāo)和鍵盤,代表的操作系統(tǒng)是Windows/Mac。
第二代操作系統(tǒng)的主要交互方式是觸摸,代表的操作系統(tǒng)是iOS/Android。
第三代操作系統(tǒng)的主要交互方式是語(yǔ)音對(duì)話,代表的操作系統(tǒng)是DuerOS。
這三代操作系統(tǒng)一路走來(lái),他們的交互方式越來(lái)越自然,使用門檻越來(lái)越低,用戶受眾越來(lái)越多。
在2017年1月的CES上,百度聯(lián)合小魚(yú)在家發(fā)布了第一款搭載DuerOS操作系統(tǒng)的智能家用機(jī)器人。
小魚(yú)在家是我們合作的第一個(gè)設(shè)備,DuerOS還在和非常多的硬件合作伙伴合作,將DuerOS的對(duì)話交互的能力嵌入到各個(gè)地方。
我們對(duì)DuerOS的愿景是這樣的:『我們希望DuerOS是無(wú)處不在的,我們希望未來(lái)DuerOS的標(biāo)志可以貼在任何地方。無(wú)論它貼在哪里,小朋友就知道這個(gè)設(shè)備可以對(duì)話。它貼在桌子上就可以跟桌子對(duì)話,它貼在椅子上就可以跟椅子對(duì)話。』
延時(shí)DuerOS語(yǔ)音對(duì)話,多輪交互的能力。
DuerOS的場(chǎng)景如上圖所示,它會(huì)深入我們生活的場(chǎng)景中(音響、電視、冰箱、手機(jī)、家用機(jī)器人、車、手表……)并且依托百度整個(gè)搜索來(lái)給用戶提供各種各樣的能力。
DuerOS在CES和極客公園上也引起了很大的反響和認(rèn)可。
從整個(gè)對(duì)話系統(tǒng)來(lái)說(shuō),DuerOS的整體是符合POMDP的框架的。采用POMDP的框架有很大的好處:
整個(gè)系統(tǒng)可以整體建模每個(gè)環(huán)節(jié)的出錯(cuò)可能性。
整個(gè)系統(tǒng)可以整體建模幾輪對(duì)話后用戶終給予的反饋。
DuerOS系統(tǒng)正在不斷完善過(guò)程中,出于保密考慮,沒(méi)辦法分享全部的技術(shù)細(xì)節(jié),所以只能選擇一些小點(diǎn)來(lái)和大家粗略分享一下。
首先我們看一下和ASR相關(guān)的糾錯(cuò)部分。
普通的語(yǔ)音識(shí)別和糾錯(cuò)就不多說(shuō)了。說(shuō)一個(gè)主動(dòng)糾正的例子。
用于語(yǔ)音搜索『chen’yu’juan』;百度給出結(jié)果是『陳玉娟』,用戶糾正『下面是月的雨(育)』,后一個(gè)字還是別錯(cuò)了,但是百度可以給出正確的『陳育娟』的結(jié)果。
這個(gè)例子里面,我們就充分利用了RNN的序列標(biāo)注能力,來(lái)找到語(yǔ)義上可能的替換點(diǎn),然后通過(guò)Skip-gram的檢索終產(chǎn)生正確的替換。
我們接下來(lái)看一下自然語(yǔ)言理解(NLU)的部分。自然語(yǔ)言理解中的意圖分類(Intent classification)和槽位填寫(xiě)(Slot filling)是其中兩個(gè)重要的問(wèn)題。
簡(jiǎn)單討論下槽位填寫(xiě)的例子,百度采用一個(gè)字符級(jí)的雙向LSTM和CRF層來(lái)做槽位填寫(xiě)的標(biāo)注。如上圖,在藍(lán)色的演員這個(gè)序列上,『王樂(lè)君』就是一個(gè)比較可能的候選?!簜窝b者』就是劇名這個(gè)綠色的序列上可能的候選。
接下來(lái)我們討論下對(duì)話狀態(tài)跟蹤。
在封閉領(lǐng)域(買飛機(jī)票,問(wèn)汽車班次等)中的狀態(tài)跟蹤各處有過(guò)非常多的討論,這里就不贅述。我們來(lái)看一個(gè)在比較開(kāi)放的領(lǐng)域做狀態(tài)跟蹤并且更新的例子。
在這里,我們主要把Query間的上下文狀態(tài)更新分為兩種:上下文替換和主體補(bǔ)全。
上面兩個(gè)是在百度系統(tǒng)中的真實(shí)Case,通過(guò)RNN + CRF來(lái)做到的狀態(tài)更新:用戶順序說(shuō)Q1,Q2,百度看到Q2會(huì)直接更新理解為Q3。
接下來(lái)我們討論下對(duì)話狀態(tài)管理,這個(gè)階段主要是系統(tǒng)要選擇合適的Action來(lái)動(dòng)作。
我在這里舉一個(gè)度秘高考的例子,度秘在高考期間服務(wù)了非常多的填報(bào)志愿的考生,通過(guò)對(duì)話回答高考相關(guān)的問(wèn)題,并且引導(dǎo)考生進(jìn)一步了解他關(guān)心的學(xué)校的信息,幫助考生結(jié)合充分信息,來(lái)終做出人生中這個(gè)非常重要的決定。
在這里我們會(huì)把這個(gè)Dialogue management的問(wèn)題構(gòu)建成一個(gè)MDP問(wèn)題(由于在實(shí)際產(chǎn)品中,我們并不知道考生終填報(bào)了哪個(gè)志愿,所以我們把Reward設(shè)計(jì)成每次交互都會(huì)給出顯示的獎(jiǎng)懲),放在經(jīng)典的Reinforcement learning的框架中來(lái)求解。上線之后,用戶的交互體驗(yàn)大幅提升。
總結(jié)一下這一部分,自然的語(yǔ)音交互是未來(lái),未來(lái)的DuerOS會(huì)是無(wú)處不在的。在這樣的對(duì)話系統(tǒng)中,技術(shù)挑戰(zhàn)有很多:更好建模上下文,更好的處理異構(gòu)下游服務(wù)……在百度,我們充分利用在深度學(xué)習(xí)上的積累,相信能夠在對(duì)話系統(tǒng)中提供讓用戶感到驚艷的交互體驗(yàn)。
總結(jié)一下今天的演講,AI現(xiàn)在逐步深入人們生活的方方面面,賦能各種產(chǎn)品。我們今天討論的是AI賦能的現(xiàn)代搜索引擎(百度搜索)和AI賦能的對(duì)話式計(jì)算機(jī)(DuerOS)。
今天講的所有工作都是歸功于整個(gè)百度技術(shù)團(tuán)隊(duì)所有人的努力工作!并且今天講的所有內(nèi)容,都是我們上線給億萬(wàn)用戶每天在使用的!
謝謝大家!
做個(gè)廣告:)
我們?cè)诎俣扔蟹浅6嗟膶?shí)際有意思的問(wèn)題,有非常自由的空間來(lái)嘗試想法,有實(shí)際的系統(tǒng)每天被億萬(wàn)用戶使用,我們有非常多的很棒的工程師和研究員。如果你感興趣,我們提供各種各樣的機(jī)會(huì),請(qǐng)發(fā)信來(lái):duer-recruit@baidu.com。 :)
3月27日,新智元開(kāi)源·生態(tài)AI技術(shù)峰會(huì)暨新智元2017創(chuàng)業(yè)大賽頒獎(jiǎng)盛典隆重召開(kāi),包括“BAT”在內(nèi)的中國(guó)主流 AI 公司、600多名行業(yè)精英齊聚,共同為2017中國(guó)人工智能的發(fā)展畫(huà)上了濃墨重彩的一筆。
官方微博
官方微信公眾號(hào)
官方百家號(hào)