文章作者:潘路 美團(tuán)點(diǎn)評 資深算法專家
編輯整理:凌銘
內(nèi)容來源:2019知識圖譜前沿技術(shù)論壇
出品社區(qū):DataFunTalk
注:歡迎轉(zhuǎn)載,轉(zhuǎn)載請在留言區(qū)內(nèi)留言。
導(dǎo)讀:目前為止 IT 產(chǎn)業(yè)經(jīng)歷了六次浪潮,分別為:大型機(jī)時代,小型機(jī)時代,個人電腦時代,桌面互聯(lián)網(wǎng)時代,移動互聯(lián)網(wǎng)時代和 AIOT 時代。在這些時代背后可以發(fā)現(xiàn)是人機(jī)交互方式的變化:從鼠鍵交互,到觸控交互,再到語音智能交互,可以看到人機(jī)交互的方式在向更自然更直接化的方式演進(jìn)。今天會和大家分享基于知識圖譜的問答在美團(tuán)智能交互場景中的應(yīng)用和演進(jìn)。
今天的介紹會圍繞下面三點(diǎn)展開:
——智能交互背景介紹——
1. 智能交互的劃分
智能交互的劃分基本上是根據(jù)人類需求拆分:
2. 美團(tuán)生活服務(wù)交互
美團(tuán)是做生活服務(wù)的公司,覆蓋了餐飲、娛樂、酒店和旅游等各個生活領(lǐng)域,以上這么多種領(lǐng)域更適合哪種智能交互方式,以及智能交互方式是如何在場景中落地的,下文中都會進(jìn)行說明。
3. 美團(tuán) APP 中的交互
下面先舉個例子,首先在商超場景下我們分析使用路徑發(fā)現(xiàn),接近4成的用戶在商品 A 加入購物車后,會去查看其他商家與商品 A 相似的商品。這個行為很明顯是一個商品比較的訴求,而該訴求通過目前的功能交互方式很難完成。
再舉個例子,在打車場景下我們打車需要在 app 中進(jìn)行12-14次頁面交互,app 交互比較瑣碎。而語言智能交互只需要簡單的一句話就能完成,比如"幫我叫個快車,今天下午三點(diǎn)從天安門到北京西站"。
以上交互的場景對知識有重要的依賴,需要使用知識幫助人們完成選擇:
由于交互對知識有重要依賴,于是我們引入了基于知識圖譜的問答 KBQA。
4. KBQA 特點(diǎn)
由上表可以看到,KBQA 相對于其它技術(shù)的特點(diǎn):
——受限場景問答——
1. 什么是受限場景
受限場景有以下兩個特征:
例如到店點(diǎn)餐,點(diǎn)餐的意圖確定,并且資源也是有限的,商家和菜品都是確定的;同樣,機(jī)票預(yù)訂起落地點(diǎn)、倉位、價格、人數(shù)也是有限的;打車意圖是明確的,而地點(diǎn)可以任意選擇不是受限的,但是可通過高頻的地標(biāo)建立受限的地點(diǎn)。
下面,會介紹一些受限場景具體實(shí)現(xiàn)方案。
2. 傳統(tǒng)基于知識圖譜的問答
首先介紹的是傳統(tǒng)基于知識圖譜的問答,該類問答主要分成兩大流派:
3. Semantic Parsing
通過《Semantic Parsing on Freebase from Question-Answer Pairs, EMNLP 2013》這篇論文介紹 Semantic Parsing 的幾個步驟:
Semantic Parsing 會有一些局限,需要大量的自然語言邏輯表達(dá)式的標(biāo)注,并且只能滿足有限的場景和邏輯表達(dá)。而 Information Retrieval 可以改進(jìn) Semantic Parsing 的限制。
4. Information Retrieval
同樣,通過《Question Answering over Knowledge Base with Neural Attention Combining Global Knowledge Information, arxiv 2016》闡述 Information Retrieval 的幾個步驟:
5. 效果比較
在 WebQuestion 數(shù)據(jù)集可以看到,Semantic Parsing+DeepLeanring 效果表現(xiàn)最好 f1 值在45-55之間。Information Retrieval 的端到端在復(fù)雜問題處理上表現(xiàn)不太好。
6. 面向美團(tuán)場景
針對美團(tuán)的場景技術(shù)如何選型呢?首先美團(tuán)領(lǐng)域比較多,但是每個領(lǐng)域之間的關(guān)聯(lián)不是很強(qiáng),其次模型的訓(xùn)練樣本也比較少,希望能快速實(shí)現(xiàn)領(lǐng)域之間遷移。Semantic Parsing 需要大量的自然語言標(biāo)注樣本,而 Information Retrieval 的可解釋性在目前工業(yè)界稍微差些。
我們做法將這兩者技術(shù)流派優(yōu)點(diǎn)結(jié)合起來,通過 Information Retrieval 精確定位到有限空間的子圖中,Semantic Parsing 生成可解釋性的查詢語句。那么技術(shù)步驟為首先做實(shí)體識別和鏈接,其次確定子圖,之后做關(guān)系識別,最后 SparQL 查詢輸出結(jié)果。這樣的優(yōu)點(diǎn)為可通過規(guī)則和無監(jiān)督冷啟動快速進(jìn)行遷移。
7. 小結(jié)
在受限場景的問答,其特征為資源內(nèi)容、交互輪次、知識外延和意圖都是有限的;它可以實(shí)現(xiàn)基礎(chǔ)屬性問答、帶約束的資源查詢、動態(tài)屬性值計算和資源信息比較。
——復(fù)雜場景問答——
1. 復(fù)雜場景定義
在美團(tuán),絕大多數(shù)都是復(fù)雜場景的問答。與簡單場景相比,其交互意圖與需求從確定的空間到模糊的空間,資源從封閉的數(shù)量到開放的數(shù)量。
這里舉三個例子:
"百威啤酒有沒有便宜的?",在商家點(diǎn)餐的受限場景下,百威啤酒指代就是商家所賣的幾款百威啤酒;但是在智能音箱的復(fù)雜場景,百威啤酒指代的是家旁邊的超市所賣的百威啤酒還是旁邊酒吧做活動的百威啤酒呢?
"下午四點(diǎn)鐘的復(fù)聯(lián)四還有沒有 IMAX 票了?",假設(shè)已經(jīng)識別復(fù)聯(lián)四為一個電影,下午四點(diǎn)的時間如何與電影關(guān)聯(lián)起來,另外 IMAX 票為影廳的一個屬性如何與電影關(guān)聯(lián)起來呢?
"第一個銷量多少?",很明顯用戶在多輪問題所問的,那么第一個指代的是什么呢?
2. 方案概述
以上三個例子,我們可以歸納成三大問題:實(shí)體爆炸、非連通查詢和融合上下文。
3. 知識建設(shè)面臨的挑戰(zhàn)
我們先介紹實(shí)體爆炸的問題。傳統(tǒng)的開放域知識圖譜是根據(jù)實(shí)體上層的概念節(jié)點(diǎn) ( 抽象物理空間 ) 去建設(shè)的。比如:宮保雞丁、青島啤酒、復(fù)聯(lián)四,它們不是商家賣的商品,就是一個抽象的概念。但是美團(tuán)場景下,面臨了挑戰(zhàn),比如:青島啤酒原漿 5L 桶裝 ( xxx超市,條形碼:yy… ),青島啤酒10度 500ml ( xxx超市,條形碼:yy… ) 等這些都是實(shí)實(shí)在在商家賣的商品。這些實(shí)體如何與用戶資源關(guān)聯(lián)起來,并且把這些實(shí)體匯聚起來?
4. 三層概念節(jié)點(diǎn)
我們提出三層概念節(jié)點(diǎn):產(chǎn)品/標(biāo)品、同構(gòu)非標(biāo)品和異構(gòu)純概念
能區(qū)別不同商品類別的屬性稱為標(biāo)品類概念,比如條形碼可對商品做明確的區(qū)分,除此之外還有名稱、尺寸和規(guī)格等等屬性,這些屬性一致就稱為同類商品。
其定義為相同本體下,要求某些特殊屬性相同。沒有明確的屬性做商品類別的區(qū)分,但是特殊的屬性可以做區(qū)分,比如青島啤酒、車?yán)遄?JJ 級等,他們的品牌相同,等級相同、類型相同。這些概念可以作為商品檢索詞。
異構(gòu)純概念脫離了本體的概念,是由人類自行組織構(gòu)建,形成的認(rèn)知。比如消費(fèi)的人群、消費(fèi)的商圈,稱之為異構(gòu)純概念。其給予場景化問答提供非常大的幫助。
5. 概念存儲
我們借鑒了 Freebase CVT 的存儲,將概念節(jié)點(diǎn)當(dāng)作節(jié)點(diǎn),真實(shí)售賣的商品為概念節(jié)點(diǎn)的 CVT 子節(jié)點(diǎn),把 CVT 相似的屬性比如名稱和品牌等抽取出來作為概念的屬性。
6. 概念引入效果
① 實(shí)體鏈接的優(yōu)化
舉個例子,咖啡在沒有概念的情況下,我想要咖啡會鏈接到很多資源 ( 咖啡類、咖啡店和超市賣的速溶咖啡等 );當(dāng)概念引入后,會鏈接到概念節(jié)點(diǎn)上,再基于概念做鏈接和消歧,那么就能直接鏈接到商家、品類和商品上,并且若用戶沒有召回資源的真實(shí)訴求,不會進(jìn)入下一個實(shí)體層去查詢。
② 優(yōu)化信息查詢和對比類查詢能力
假設(shè)用戶查詢"青島啤酒和百威啤酒哪個便宜"在沒有概念的情況下,要查詢成千上萬個商品去做比較,但是概念的引入,只需要在概念層進(jìn)行比較。
③ 缺失屬性補(bǔ)全
用戶在金百萬 ( 中關(guān)村店 ),問番茄炒蛋味道如何?假設(shè)知識圖譜不存在番茄炒蛋在這家店的味道,該如何回答呢?
有兩種方式:
第一,若存在番茄炒蛋概念且這個概念有味道屬性,可使用這個概念的味道屬性填充該問題;
第二,更好的方式:找到用戶問題最相似的子節(jié)點(diǎn),即金百萬 ( 中關(guān)村店 ) 的子節(jié)點(diǎn),發(fā)現(xiàn)其定義了番茄炒蛋和其味道屬性,可拿該味道進(jìn)行填充。
7. 非連通查詢
在非連通查詢中會存在屬性傳遞 ( 傳遞約束 ) 的問題,舉幾個例子:
① 屬性傳遞
路徑游走有兩種方式:
② 在線路徑查詢
基于上面路徑發(fā)現(xiàn)之后,融入到現(xiàn)有的流程中,當(dāng)用戶輸入"幫我找個辣的餐廳",首先做路徑的發(fā)現(xiàn),"餐廳->類型->眉州東坡->推薦菜->毛血旺->口味->辣",再形成 SparQL 查詢語句,得到結(jié)果就能回答用戶的問題。
③ 離線關(guān)系發(fā)現(xiàn)
既然眉州東坡大多數(shù)推薦菜的口味是辣的,那么可以構(gòu)建眉州東坡口味的邊為辣。同樣發(fā)現(xiàn)簋街多跳之后特色菜為小龍蝦,那么也可以構(gòu)建簋街的特色菜為小龍蝦.....由此可見,在離線把邊補(bǔ)充足夠成分,那么在線路徑查詢的壓力要小很多。
8. 融合上下文
用戶在外賣點(diǎn)餐的真實(shí)場景中,首先通過任務(wù)型交互給到用戶的商家列表,用戶可選擇商家以及對應(yīng)的菜譜,然后從購物車?yán)锖Y選內(nèi)容,最后下單。這個場景為狀態(tài)遷移的多輪交互任務(wù)。我們想在該場景中融合問答,那么用戶在商家狀態(tài)下問該商家的推薦菜品,在菜品狀態(tài)問菜品口味,在購物車狀態(tài)問優(yōu)惠券,也可以在下單后問訂單的狀態(tài)。那么可以將任務(wù)型多元交互系統(tǒng)和問答系統(tǒng)融合起來。
我們提出了兩點(diǎn)改造:
在改造過程中遇到兩個難點(diǎn):
具體的架構(gòu)改造為:
7. 小結(jié)
在復(fù)雜場景問答中,表述與意圖空間、資源內(nèi)容、交互輪數(shù)、知識外延都是寬泛的。在該場景下不僅僅只有優(yōu)化算法本身,還需要知識建設(shè)和多輪交互系統(tǒng)做一個聯(lián)動的優(yōu)化。
分享嘉賓
?
潘路
美團(tuán)點(diǎn)評 | 資深算法專家
——END——
推薦閱讀:快門速度怎么調(diào)
查看心情排行你看到此篇文章的感受是: