當前位置:菜譜大全網 - 菜譜 - 美團大腦百億知識圖譜的構建及應用進展

美團大腦百億知識圖譜的構建及應用進展

分享嘉賓:美團算法專家張宏誌博士

編輯:廖媛媛美的集團

生產平臺:DataFunTalk

簡介:美團作為國內最大的在線本地生活服務平臺,連接了數億用戶和數千萬商家,蘊含著豐富的日常生活相關知識。從2018開始,美團知識圖譜團隊開始專註於圖譜建設,用知識圖譜賦能業務,提升用戶體驗。具體來說,“美團大腦”是生活服務領域的知識大腦,通過對美團業務中幾千萬商家、幾十億商品菜品、幾十億用戶評論、幾百萬場景的深度理解而形成。目前,“美團大腦”已覆蓋數十億實體、數百億三元,驗證了知識圖譜在餐飲、外賣、酒店、綜合服務等領域的有效性。今天介紹美團大腦中生活服務知識圖譜的構建和應用,主要圍繞以下三個方面:

-

什麽是“美團大腦”?

以下是“美團大腦”搭建的整體路線圖。起初,餐飲知識圖譜的構建始於2018,初步挖掘了美團豐富的結構化數據和用戶行為數據,深度挖掘了壹些重要的數據維度,比如用戶對飯菜評論的情感分析。2019以標簽圖為代表,對非結構化的用戶評論進行了深度挖掘。2020年後,結合各領域特點,逐壹進行深度數據挖掘和建設,包括商品、美食、酒旅、綜合地圖、交叉地圖等。

-

在搜索中,用戶通常需要將自己的意圖抽象成壹系列搜索引擎能夠支持的精煉搜索關鍵詞。標註知識圖譜就是通過“標簽”承載用戶需求,從而提升用戶的搜索體驗。例如,通過標簽知識圖譜,用戶可以直接搜索“帶孩子”或“約會情侶”,然後就可以返回合適的商家/內容提供。從信息增益的角度來看,用戶評論的非結構化文本包含了大量的知識(比如某個商家適合的場景、人群、環境等。),通過挖掘非結構化數據可以實現信息增益。團隊以生活服務領域的海量點評數據為主要知識來源,通過標簽挖掘、標簽間關系挖掘、標簽-商家關聯等關鍵技術,自下而上梳理用戶需求、場景和主要關註點,完成圖譜構建。

標簽知識地圖的構建分為以下四個部分:知識提取、關系挖掘、地圖標註和地圖應用。

①知識提取

標簽挖掘采用簡單的順序標簽架構,包括單跨度標簽挖掘和跳過標簽挖掘。此外,它還結合語義判別或上下文判別,通過遠程監督學習和結果投票的方式獲得更準確的標簽。

②關系挖掘

同義詞挖掘:同義詞挖掘被定義為在給定N個單詞和M個業務標簽單詞的池的情況下,找到N個單詞中每個單詞的同義詞。現有的同義詞挖掘方法包括搜索日誌挖掘、百科數據抽取、基於規則的相似度計算等。,缺乏壹定的普遍性。目前,我們的目標是找到壹種通用的、可以廣泛應用於大規模數據集的標簽同義詞挖掘方法。

下面是作者給出的同義詞挖掘的具體方案。首先用向量表示離線標簽池或在線查詢標簽,獲得向量索引,然後調用向量哈希,進壹步為該標簽生成TopN的同義詞對候選。最後,使用同義詞辨析模型。該方案的優點是降低了計算復雜度,提高了運算效率。與生成倒排索引候選相比,可以召回沒有重疊的同義詞,準確率高,參數控制簡單。

對於有標簽的數據,主流的標簽詞嵌入表示方法有word2vec、BERT等。Word2vec方法實現簡單,對詞向量進行平均,忽略詞的順序;BERT通過預訓練可以捕捉到更豐富的語義表示,但直接取[CLS]標誌位向量的效果相當於word2vec。句子-Bert改進了Bert模型。通過兩個塔的預訓練模型得到tagA和tagB標記向量,然後用余弦相似度度量兩個向量的相似度,從而得到兩個標簽的語義相似度。

對於未標註的數據,可以通過比較學習得到句子的表達。如圖所示,對於相似度不同的句子,原有的Bert模型具有較高的向量相似度。經過比較學習調整後,向量相似度能更好地反映文本相似度。

對比學習模型設計:首先給定壹個情感,對這個樣本進行擾動,生成壹個樣本對。壹般來說,壹對是通過在嵌入層增加壹個對抗性攻擊,在詞匯層面洗牌或者掉壹些詞形成的。在訓練過程中,最大化同壹批樣本的相似度,最小化其他批樣本的相似度。最終結果表明,無監督學習可以在壹定程度上達到有監督學習的效果,無監督學習+有監督學習的效果比有監督學習有顯著提高。

同義詞辨析模型設計:將兩個標簽詞拼接成Bert模型,通過多層語義交互獲得標簽。

標簽上下位關系挖掘:詞匯包含關系是上下位關系挖掘最重要的來源,也可以結合語義或統計方法進行挖掘。但目前的難點是上下標準難以統壹,通常需要結合領域的需要對算法挖掘結果進行修改。

③地圖標註:如何構建標簽與商家供貨的關系?

給定壹組標簽,可以根據標簽及其同義詞在商家的UGC/群組列表中出現的頻率,通過阻擋閾值來獲得候選標簽興趣點。會有壹個問題,就是即使頻率很高,也不壹定相關,需要通過壹個商家標記判別模塊來過濾不良案例。

商家標記考慮三個層次的信息:標簽和商家、用戶評論和商家分類。具體來說,標簽-商家粒度,標簽與商家信息(商家名稱、商家三級類目、商家頂標簽)拼接,輸入Bert模型進行判別。

用戶評論的微觀粒度可以判斷每個標簽與提及該標簽的評論之間是否存在正面、負面、不相關或不確定的關系(稱為證據),因此可以作為四類的判別模型。我們有兩個選擇。第壹個是基於多任務學習。這種方法的缺點是添加標簽的成本很高。例如,如果添加了壹個標簽,則必須為該標簽添加壹些訓練數據。最後作者采用了壹種基於語義交互的判別模型,輸入標簽作為參數,使模型能夠基於語義進行判別,從而支持標簽的動態添加。

基於語義交互的判別模型,先向量表示,再交互,最後聚合比較結果,這種方法計算速度更快,而基於BERT的方法計算量大但準確率更高。我們平衡準確性和速度。例如,當POI有30個以上的證據時,我們傾向於使用輕量級的方法。如果POI中只有很少的證據,則可以判斷準確率很高。

從宏觀的角度來看,標簽和類別的關系主要有三種:肯定不是,大概,肯定。壹般通過商家層面的關聯結果得出投票結果,同時會加入壹些規則。當精度要求較高時,可以進行人工復核。

④地圖應用:挖掘數據的直接應用或知識向量表示的應用。

在與商家知識問答相關的場景中,我們基於商家評分結果和標簽對應的證據來回答用戶問題。

先識別用戶查詢中的標簽並映射到id,再通過搜索召回或排序層傳遞到索引層,從而召回有標記結果的商家並展示給C端用戶。A/B實驗表明,用戶的長尾需求搜索體驗得到了顯著提升。此外,在酒店搜索領域也做了壹些線上實驗,通過同義詞映射等補充召回方式,搜索結果有了明顯的提升。

主要通過GNN模型實現,在構圖上構造了兩種邊,查詢-POI點擊行為和Tag-POI關聯信息;Graph Sage用於圖形學習。學習的目標是判斷標簽和POI是否相關或者查詢和POI是否被點擊,然後根據相關的強度進行采樣。在線結果表明,僅使用Query-POI信息進行構圖時,沒有在線增益,引入Tag-POI相關信息後,在線效果顯著提高。這可能是因為排名模型依賴於Query-POI的點擊行為信息進行學習,引入圖Sage學習相當於換了壹種學習方法,信息增益相對較小;引入Tag-POI信息相當於引入新的知識信息,所以會帶來顯著的提升。

另外,僅接入查詢-POI向量相似度線並不能提高效果,接入查詢和POI向量後效果顯著提高。這可能是因為搜索的特征維數較高,容易忽略向量相似度的特征,所以在查詢和POI向量拼接進去後,特征維數得到了提高。

此任務通過當前已知項目預測用戶點擊的屏蔽項目。比如在獲取條目的上下文表示時,相關的屬性信息也用向量表示,以此來判斷條目是否有屬性信息。

此外,還可以進行屏蔽物品屬性預測,從而將標簽的知識圖譜信息整合到序列推薦任務中。實驗結果表明,在不同數據集上,知識信息的準確率提高了幾個數量級。同時,我們還做了在線轉換的工作,將條目表征做為向量回憶;具體來說,根據用戶在歷史中點擊的物品召回topN類物品,可以補充在線推薦結果,顯著改善美食榜單推薦頁面。

-

構建菜品知識圖譜的目標,壹方面是構建對菜品的系統認識,另壹方面是構建相對完整的菜品知識圖譜。這裏從不同層面來闡述菜品知識圖譜的構建策略。

* * *對菜名的理解* *

菜名包含了成本最低的菜名最準確的信息,對菜名的理解也是後續顯性知識推理泛化能力的前提。首先提取菜名中的關鍵詞/主菜,然後用序列標簽識別菜名中的各個成分。為這兩種情況設計了不同的模型。在分詞的情況下,分詞符號作為特殊符號添加到模型中。第壹個模型是識別每個令牌的對應類型。對於沒有分詞的情況,需要先做Span-Trans的任務,然後復用有分詞的模塊。

菜名的理解是重要的信息來源,但其知識相對有限,因此提出了壹種基於深度學習模型的初步字符推理,可以概括不同的字面表達。但在需要專業知識的情況下表現不佳,偶爾會出現字面完全匹配的情況。

從知識內容豐富的文本中挖掘壹些食譜的基礎知識,構建源知識庫;然後通過廣義推理映射到具體的SKU。在食材的推理上,比如紅燒肉的菜就很多。據統計,有五花肉的10個菜裏,有4個菜是指五花肉,6個菜是指帶皮五花肉,於是肉就轉化成了帶皮五花肉。相應的,佛跳墻裏也有很多食譜。首先,通過計算每種成分的概率,妳可以得到壹個閾值,然後顯示配方是什麽。

多源數據挖掘,基於菜名理解的結果,構建了壹個堅實的知識三元組,同時也依賴於菜名理解結果的泛化規則。這種策略主要適用於處理成分、功效、人物等標簽。該方法具有較好的準確性和泛化能力,但覆蓋率較低。

業務中有壹些有用的訓練數據,比如654.38+00萬商家編輯的自洽店內分類樹。基於這些數據,可以產生5億個正對,30G語料庫。在模型訓練中,菜單分類的標簽/店鋪會被隨機替換,模型會判斷標簽/店鋪是否被替換;當僅輸入菜名時,50%的丟棄商店名稱的概率使得模型健壯。同時對模型進行物化改進,將分類標簽訓練為bert的單詞。這種方法適用於下遊模型。在10w的數據下,菜單中上下/同義詞模型的準確率提高了1.8%。

首先使用ReseNet對菜單的圖片進行編輯,使用Bert模型對菜單的文本信息進行編碼,通過比較和學習損耗來學習文本與店鋪食物的匹配信息。這裏采用雙塔模型。壹方面,下遊應用更方便,可以獨立使用單塔模型,也可以通過推理表達和緩存菜品的圖像。另壹方面,圖片內容簡單,不需要交互建模。訓練目標是圖菜匹配,圖菜對齊,圖簽對齊。

基於多模態信息,它可以用來預測菜肴類別或完整的菜單信息。比如用圖片信息預測“豬肉白菜”會更直觀準確。基於文本和視圖模態信息,進行多視圖半監督菜單屬性提取。以烹飪方法抽取為例,首先生成烹飪方法訓練樣本(紅燒肉-鹵肉);然後用CNN模型訓練預測菜譜烹飪方法,用Bert模型、Finetune文本模型或多模態模型基於商家/tab/菜品和評論信息預測菜品烹飪方法;最後,對兩個模型進行投票,或者對兩個特征進行拼接來進行預測。

綜上,我們對菜品知識圖譜的構建做壹個相應的總結。對菜品的理解更適合SKU的初始化;深度學習推理模型和外顯推理模型更適合同義詞、下義詞、菜系等。最終想通過多模態+結構化的預訓練和推理來解決信息不完全、屬性維度多、標簽數據多的問題,所以這種方法幾乎適用於所有場景。

今天的分享到此結束。謝謝妳。

共享客人: