菜品是外賣交易過程的核心要素,對菜品的理解也是實現外賣供需匹配的重點。今天咱們將一次推送三篇文章,系統地介紹了美團外賣美食知識圖譜的構建和應用。《美團外賣美食知識圖譜的迭代及應用》會介紹外賣知識圖譜的體系全貌,包括菜品類目、標準菜品、美食基礎屬性和美食業務主題屬性。《外賣商品的標準化建設與應用》將重點介紹外賣菜品標準化建設思路、技術方案和業務應用。因爲外賣的業務特色是搭配成單,而《外賣套餐搭配的探索和應用》一文會針對性地介紹外賣套餐搭配技術的迭代以及應用實踐。但願對從事相關工做的同窗可以帶來一些啓發或者幫助。
本文系外賣美食知識圖譜系列的第一篇文章,這篇文章系統地介紹了美團外賣美食知識圖譜的標籤體系結構,包括菜品類目標籤、標準菜品名、美食基礎屬性(食材、口味、菜系等)和美食業務主題屬性(商家招牌、類目經典等)。在技術層面,舉例對標籤體系的具體構建方法進行介紹,例如基於BERT預訓練的分類模型。在應用方面,介紹了美食知識圖譜在美團外賣業務的具體應用,包括支撐套餐搭配的菜品表徵、提高搜索和商家推薦等業務的用戶體驗。前端
知識圖譜,旨在描述真實世界中存在的各類實體和實體之間的關係。在美團外賣業務中,美食商品是美團向用戶提供服務的基礎,美食知識圖譜的建設,能夠幫助咱們向用戶提供更加準確、更加豐富、更加個性化的美食服務。另外,美團外賣業務向用戶提供「到家」吃飯的服務,到店餐飲業務則向用戶提供「到店」吃飯的服務,而外賣和到店的商家和菜品有至關程度的重合,菜品數據的對齊,爲咱們進行線上(外賣場景)線下(到店場景)數據的對比分析也提供了一個很好的「抓手」。算法
本文介紹了外賣美食知識圖譜的建設,基於對外賣業務數據(外賣交易數據、商家錄入的商品標籤信息、專業描述PGC、用戶評論UGC、商品圖片等)和站外數據(百科、菜譜等)的挖掘和分析,造成了針對外賣美食的分類體系(美食類目標籤)和標準化體系(標準菜品名標籤),並進一步針對不一樣類型的美食商品,構建包含口味、食材等衆多美食基礎屬性體系。同時,依託美團外賣的業務特性,構建美食商品在外賣業務中涉及的主題屬性體系,例如商家招牌、商家主營、類目經典等。目前,外賣美食知識圖譜的標籤結構以下圖1所示:後端
外賣美食知識圖譜包含如下四種維度的標籤(以「宮保雞丁」爲例,以下圖2所示):安全
菜品對齊,涉及到菜品數據,來自外賣在線菜品、點評推薦菜品、美團商家套餐等。網絡
目前,外賣美食知識圖譜已經應用於美團外賣的多個場景,例如推薦、搜索、套餐搭配、運營分析等。業務的深刻發展,對美食知識圖譜的建設和迭代也提出了更加複雜的要求,例如:運維
爲知足業務需求,咱們對類目標籤和基礎屬性進行了迭代和優化;同時,構建了業務相關的主題屬性。另外,咱們將外賣菜品和到餐菜品進行了實體對齊。其中,挖掘主題屬性,即挖掘業務相關的圖譜知識,是一個須要綜合考慮外賣業務和商品自己屬性的複雜過程。外賣菜品和到餐菜品的對齊,則須要綜合考慮菜品多樣性表述和菜品主體歸一。學習
外賣美食知識圖譜的迭代難點主要體如今如下幾點:測試
因篇幅受限,本文主要對其中菜品類目,不一樣類目、口味、食材、葷素、作法下的經典美食,健康餐等圖譜標籤的挖掘進行介紹。其中,在圖譜標籤挖掘中涉及到的數據來源和採用的技術,大體以下表所示:優化
標籤 | 技術 |
---|---|
菜品類目 | BERT分類模型 |
不一樣類目、口味、食材、葷素、作法下的經典美食 | 數據統計、實體識別、關係識別、產品定義(綜合考慮銷量和供給量) |
健康餐 | 分類模型+產品定義(符合必定食材、作法、功效的商品) |
菜品類目標籤的挖掘,主要解決美食菜品是什麼類別的問題。實現這一目標的挑戰有兩方面:首先是類目體系如何創建,其次是如何將商品連接到相應的類目節點。在最開始的體系構建時,咱們從美食商品的特色以及業務的具體需求出發,從零開始創建起包含一百多種類別的層次化類別體系,部分實例如圖3(左)所示。同時,構建基於CNN+CRF的分類模型,對美食商品進行類目分類,如圖4(左)所示。spa
然而,隨着業務的發展,已有分類目已經沒法支持現有業務的需求。例如:原先的類目體系,對熱菜描述不夠詳細,譬如沒有區分熱菜的作法等。爲此,咱們與外賣的供給規劃部合做,將類目體系擴充到細分的三百多種類目標籤,劃分更加詳細,覆蓋也更加全面,部分實例如圖3(右)所示。
類目的細分,要求模型更加精確。在進行類目識別時,可用的數據包括菜品名、商家店內側邊欄分類名稱、商家名等。考慮到可以使用的信息大多爲文本信息,而且,商家錄入的文本並無必定的規範,菜品名也多種多樣,爲提升模型精度,咱們將原先的CNN+CRF的分類模型進行了升級,採用模型容量更大的BERT預訓練+Fine-Tuning的模型。模型結構以下圖4(右)所示。
咱們在建設主題屬性時,首先在基礎屬性標籤維度,綜合考慮商品的銷量和供給狀況,對菜品進行選優。例如類目下的經典美食等。但在建設過程當中,咱們發現菜系的經典美食識別,假如依據銷量和供給進行識別,則識別結果傾向於菜系下的「家常菜」,所以將經典菜系美食進行單獨識別。
類目經典美食等指的是銷量較高、供給量豐富的類目美食商品,例如主食經典美食、小吃經典美食。口味、食材、作法經典美食標籤等也是類似的定義。
在建設過程當中,咱們發現,假如直接在商品維度進行識別,由於商品的更新頻率相對較高,對新錄入的暫時沒有銷量或者暫時銷量低的美食商品不友好,銷量水平須要考慮在線時間的影響。所以咱們使用標準菜品進行類目、口味經典等的識別,並經過標準菜品,泛化到具體的美食商品上。
其中,「標準菜品」借用其它類電商業務中的「標品」概念,雖然絕大部分菜品的生產都不是標準化的過程,可是這裏咱們只關注主要的共性部分,忽略次要的差別部分。例如「西紅柿雞蛋」、「番茄炒蛋」都是同一類菜品。從結果上看,目前咱們聚合出來的「標準菜品」達到幾十萬的量級,而且可以覆蓋大部分美食商品。
藉助標準菜品,咱們將類目、口味、食材、葷素、作法等標籤聚合到標準菜品維度,並將銷量、供給量進行標準菜品維度計算,這樣就解決了商品在線時間長短的問題。在具體打標過程當中,例如類目經典,咱們基於銷量和供給,在類目維度對標準菜進行排序,並選擇Top n%標準菜進行打標,做爲類目經典下的商品。例如在「麪食」類目下,「西紅柿雞蛋麪」的銷量和供給量均在Top n%的水平,所以就認爲「西紅柿雞蛋麪」是一個麪食類經典美食。
這裏的健康餐主要指低脂低卡餐,即低卡路里、低脂肪、高纖維、製做簡單、原汁原味、健康養分的食物,通常爲蔬菜水果(如羅勒、甘藍、秋葵、牛油果等),富含優質蛋白的肉類(如三文魚、蝦、貝類、雞胸等),穀物(主要以粗糧爲主,如燕麥、高粱、藜麥等)。烹飪方法也堅持「少油,少鹽,少糖」的原則,主要作法爲蒸、煮、少煎、涼拌等。
健康餐的識別,主要挑戰在於自己的樣本較少,可是由於健康餐的特殊性,商家在進行商品錄入時,通常會對其進行描述,例如指出這個美食商品是「健康」的、「低卡」的、「健身」類型的,所以咱們構建了一個分類模型,對健康餐進行識別。可以使用的數據,包括商品名、商家導航欄、商家名稱、商家對商品的描述等。而商家類目與商品的類目處於迭代狀態,所以並無對這部分信息進行使用。
識別過程以下:
模型構建:同一個商品因其中使用的配料不一樣,在健康餐識別方面也會不一樣,例如菜名爲「招牌沙拉」的商品,假如沙拉中添加了芝士,則有可能商品就不會被識別成健康餐。爲了綜合考慮商家錄入的商品信息,使用商品名、商家名、導航欄名稱、商家錄入的商品描述等。這四種數據爲不一樣尺度的數據源,商品名等爲相對較短的文本,所以在模型構建時,考慮使用相似Text-CNN[1]的結構進行字級別的特徵提取;商品描述則是相對較長的文本,所以在構建時,考慮使用相似Transformer[2]的結構進行特徵提取,使用Multi-head Attention的機制,提取長文本中,「字」層面的特徵。具體結構以下:
考慮到同一商家菜品在不一樣業務線的菜品名可能略有差別,咱們設計了一套菜品名匹配的算法,經過拆解菜品名稱的量詞、拼音、先後綴、子字符串、順序等特徵,利用美食類目識別、標準菜品名抽取、同義關係匹配等進行菜品實體對齊。例如:碳燒鴿=炭燒鴿、重慶辣子雞=重慶歌樂山辣子雞、茄子肉泥蓋飯=茄子肉泥蓋澆飯、番茄炒蛋=西紅柿炒蛋等。目前,造成以下圖的菜品歸一體系:
這裏對外賣美食知識圖譜的應用,進行舉例說明。主要涉及套餐搭配、美食商品展現等。
爲知足用戶的搭配成單需求,進行套餐搭配技術的探索。套餐搭配技術的關鍵在於,對美食商品的認知,而外賣美食知識圖譜,則提供了最全面的數據基礎。咱們基於同商家內的商品信息和歷史成單信息,對商品的搭配關係進行擬合,參考指針網絡[2]等結構,構建了基於Multi-Head Attention[3]的Enc-Dec模型,具體的模型結構以下:
Encoder:對商家菜單進行建模,因菜單爲無序數據,所以採用Attention的方式進行建模。商品的信息主要包括商品名、商品圖譜標籤、交易統計數據等三部分。
Deocoder:對搭配關係進行學習,基於當前已選擇的商品,對下一個可能的搭配進行預估。
具體的模型結構以下圖所示:
基於外賣美食知識圖譜構建的套餐搭配模型,在多個入口(「滿減神器」、「對話點餐」、「菜品詳情頁」等)取得轉化的提高。
經過分析外賣用戶的需求,發現用戶存在跨店類似商品對比的需求,爲打破商家界限的選購流程特色,提供便捷的跨店對比決策方式。交互式推薦,經過新的交互模式,打造推薦產品的突破點。在用戶的交互過程當中,根據用戶的歷史偏好、實時的點擊行爲,向用戶推薦可能喜歡的美食商品。以下圖8(左)所示,在向用戶進行同類美食的推薦時,美食知識圖譜中的標準菜品標籤提供了主要的數據支撐。
搜索做爲外賣核心流量入口,承載了用戶明確的外賣需求。用戶經過輸入關鍵詞,進行菜品檢索。在實際使用中,從搜索的關鍵詞類型看,多是某個具體的菜品,也多是某種食材、某種菜系。在美食知識圖譜中,圖譜標籤的高準確率和高覆蓋,有助於提高搜索入口的用戶體驗,最新的實驗也代表了這一點(新增部分食材、菜系、功效等標籤,在搜索的線上實驗效果正向)。
美食與咱們的生活息息相關,美團外賣天天爲千萬用戶提供美食方面的服務。然而,用戶的需求是多種多樣的,在不一樣的環境、不一樣的場景下,對美食的需求也不盡相同。目前美食知識圖譜挖掘,在場景相關的標籤較爲缺失,例如某些節氣、節日等圖譜知識;特定天氣狀況下的圖譜知識;特定人羣(增肌人羣、減肥人羣)等的圖譜知識。接下來咱們會在場景化標籤的挖掘方面進行探索。
在挖掘方法方面,目前的挖掘數據主要爲文本信息。在商品圖片、描述、結構化標籤等信息的融合方面,挖掘不夠深刻,模型的效果也有待提高。所以在多模態識別模型方面,咱們也會進行相應的探索。
美團外賣在理解美食的基礎上,向用戶進行美食推薦,以更好地知足用戶對美食的需求。外賣美食知識圖譜和外賣業務數據,做爲實現這一點的數據基礎,包含上億的節點信息和十幾億的關係數據。經過對用戶的商品搜索、點擊、購買等行爲進行建模分析,能夠更加貼合用戶的需求,向用戶進行商品推薦,例如,將美食知識圖譜和外賣行爲數據融合,以用戶爲起點,進行隨機遊走,向用戶推薦相關的美食。在接下來的圖譜應用方面的探索中,咱們也會更加深刻的探索基於美食知識圖譜和用戶行爲的推薦技術。
楊林、郭同、海超、懋地等,均來自美團外賣技術團隊。
閱讀美團技術團隊更多技術文章合集
前端 | 算法 | 後端 | 數據 | 安全 | 運維 | iOS | Android | 測試
| 在公衆號菜單欄對話框回覆【2020年貨】、【2019年貨】、【2018年貨】、【2017年貨】等關鍵詞,可查看美團技術團隊歷年技術文章合集。
| 本文系美團技術團隊出品,著做權歸屬美團。歡迎出於分享和交流等非商業目的轉載或使用本文內容,敬請註明「內容轉載自美團技術團隊」。本文未經許可,不得進行商業性轉載或者使用。任何商用行爲,請發送郵件至tech@meituan.com申請受權。