图谱实战 | 李翔:美团到店综合知识图谱的构建与应用
轉載公眾號 | DataFunTalk
分享嘉賓:李翔?美團 算法專家
編輯整理:王惠靈 合肥工業大學
出品平臺:DataFunTalk
導讀:美團到店綜合業務涵蓋了本地生活中的休閑玩樂、麗人、親子、結婚、寵物等多個行業。為了不斷提升到店綜合業務場景下的供需匹配效率,美團深入挖掘用戶在本地生活中的多樣化需求,構建了以用戶需求節點為中心并鏈接商戶、商品和內容的到店綜合知識圖譜 ( GENE,GEneral NEeds net )。本文將圍繞美團到店綜合知識圖譜展開,介紹圖譜構建與應用過程中的技術實踐,并分享具體的落地應用和最新探索。
主要包括以下幾個部分:
美團到店綜合業務介紹
到店綜合知識圖譜的構建方案
到店綜合知識圖譜的應用實踐
未來展望
01
美團到店綜合業務介紹
美團到店綜合業務涵蓋了本地生活中的休閑玩樂、麗人、親子、結婚等眾多行業,聚焦用戶的到店消費場景,為用戶提供豐富便捷的本地生活服務。
在到店綜合業務場景下,我們希望能夠深耕本地生活的細分行業,不斷提升供需匹配效率,改善用戶體驗,而這其中的關鍵是如何理解用戶需求。
用戶的決策路徑可以分為五個階段,依次是起心動念、考慮、評估選擇、交易購買和履約服務。用戶的需求往往集中在前兩個階段產生,首先起心動念形成場景化的訴求,例如“周末陪寶寶去哪玩”,我們稱之為場景需求,繼而考慮具體的方案,例如“戶外燒烤”,我們稱之為具象需求。
無論是用戶的場景需求還是具象需求,都需要進一步和商戶和商品等實體建立聯系,從而為用戶提供能滿足其對應需求的不同類型的供給。知識圖譜作為一種揭示實體及實體間關系的語義網絡,用以解決上述問題顯得尤為合適。為此,我們以用戶需求節點為中心,鏈接到店綜合業務涉及的行業知識、商戶、商品和內容,構建了到店綜合知識圖譜(GENE,GEneral NEeds net)。
在到店綜合知識圖譜的構建過程中,主要面臨三個方面的挑戰:
用戶需求多樣化:在本地生活場景中,用戶的需求多樣。為了理解和表達用戶在不同行業的多元需求,我們設計了多層次多維度的圖譜體系,對用戶需求進行層次化和結構化的挖掘。
本地生活行業復雜:到店綜合業務涵蓋了百余個本地生活的行業,行業知識專業且差異很大。為了在多行業上快速構建知識圖譜,我們設計和開發高效可復用的挖掘流程和模型,并結合少樣本學習來不斷提升圖譜構建的效率。
知識圖譜質量要求高:由于面向實際的業務應用,對圖譜節點和關系準確性的要求高。為此,我們基于多源多模態數據,通過多種挖掘方法聯合使用來進行優勢互補,以確保最終知識圖譜的質量。
02
到店綜合知識圖譜的構建方案
1.?到店綜合知識圖譜體系設計
到店綜合知識圖譜的體系設計由六部分組成,包含場景需求層、場景要素層、具象需求層、需求對象層、行業體系層和供給層。
場景需求層:該層包含了用戶的場景需求節點,例如“戶外親子”、“周末閨蜜聚會”,這些節點直接反應了用戶場景化的訴求。
場景要素層:在該層中,為了更好地表達場景需求,我們對其進行拆解,細化成多個不同類型的細粒度的詞匯,我們將其稱為場景要素。
具象需求層:該層包含了用戶的具象需求節點,例如“戶外燒烤”、“實景劇本殺”,這些節點直接反應了用戶在場景化訴求下具體的服務需求。
需求對象層:在該層中,為了進一步理解具象需求,我們將其分為具體的服務需求所對應的對象,并疊加各種維度的屬性描述,包括服務交互、風格、功效、部位等。
行業體系層:在該層中,我們構建了各行業涉及的類目體系,作為上述各層構建的業務基礎。
供給層:該層包含了內容供給和商戶商品這類實物供給,這些供給將會和需求節點進行關聯,從而為用戶需求提供相對應的供給支撐。
總體來說,在到店綜合知識圖譜中,用戶場景化的需求和具體的服務需求分別在場景需求層和具象需求層進行展現。這兩種需求又分別通過場景要素和需求對象進行表達。最后,不同類型的供給都會與場景需求和具象需求相關聯,從而以用戶需求為紐帶,提升供給和用戶的匹配效率。
2.?圖譜各層構建涉及的主要任務
在圖譜各層的構建中主要涉及三個方面的任務:
① 節點挖掘:包括需求、對象、屬性等不同類型節點的挖掘;
② 節點關系構建:包括同義、上下位、屬性關系等多種節點關系的構建;
③ 節點和供給關聯:包括節點與商戶、商品和內容等不同類型供給的關聯。
下面我們將按照自底向上的順序介紹各層的具體構建方案。
行業體系層:
① 類目樹構建和屬性挖掘
由于行業體系的構建對專家知識的要求較高,我們直接沿用了已有的行業類目樹,再通過人工定義來完善。為了對不同行業有更深的理解,我們還定義了包含復購周期、距離偏好在內的多個維度的類目屬性,并基于業務策略對各個行業進行多維度的描述。
② 類目節點和供給的關聯
在行業體系層中,我們需要進一步建立類目和供給之間的關聯關系。我們將其轉化為分類問題,基于供給的各種信息,構建多源異構數據融合判別模型來進行類目分類。
以商戶供給為例,我們將商戶名、商品名、商品詳情、商戶內容(UGC)、商戶畫像等多源數據進行融合判別。其中:
商戶名、商品名及商品詳情:均為文本數據,直接通過BERT提取文本語義特征后輸出;
商戶UGC:由于數量非常多,為了對其信息進行有效利用,我們首先通過Doc2Vec的方式進行Encode得到UGC的特征后,再通過一個Self-Attention模塊進行特征處理后輸出;
商戶畫像則直接轉成One-Hot特征后,通過全連接層進行非線性映射后輸出。
上述三種特征相連接后進行融合,實現最終的類目判別?;诙嘣磾祿娜诤辖?#xff0c;商戶信息得到了充分利用,分類準確率也得到了明顯提升。
需求對象層:
在需求對象層,我們希望能夠挖掘出需求的對象和各種維度的屬性作為該層的節點,這是用于組成具象需求的基礎。在挖掘過程中,我們分為了粗粒度和細粒度兩個環節。
在粗粒度挖掘中,我們希望獲取對象和屬性維度。由于專業知識差異很大、行業知識壁壘較高,為了高效挖掘,我們設計了關鍵詞抽取->相關詞聚類->維度提煉的pipeline,通過算法和人工相結合的方式來確定該層最終的結構。
接下來是針對各維度進行細粒度的節點挖掘。為了確保對象和屬性挖掘的全面性,我們采用多源多方法的方式。在數據上,我們采用用戶搜索、UGC等多種文本作為挖掘語料。在方法上,我們采用無監督擴充和有監督標注相結合來挖掘。
在無監督擴充中,我們利用詞向量模型,對各維度的種子詞提取詞向量,并結合余弦相似度,快速擴充相關的對象和屬性。在有監督標注中,我們則采用基于BERT+CRF的序列標注模型,在語料中自動識別出新的對象和屬性。
由于人工標注樣本數量往往十分缺乏,面對少樣本的情況,我們進一步利用無監督擴充的結果有針對性地構造有監督標注環節的訓練樣本。完成對象和屬性節點的挖掘后,我們會進一步基于統計特征結合BERT來實現節點的上下位和同義關系的構建。
具象需求層:
①?具象需求挖掘
在具象需求層中,除了部分需求對象可以直接成為具象需求節點外,我們還需要在對象和屬性的基礎上進一步挖掘具象需求。
首先我們進行具象需求的候選生成。為了生成的全面性,我們通過基于Pattern和基于短語挖掘兩種方式互補來實現。一方面,通過屬性和對象的Pattern組合直接生成,比如“戶外燒烤”、“吃火鍋K歌”,另一方面通過依存句法樹的句法關系模板挖掘和基于遠程監督的AutoPhrase方法進行短語挖掘,以對組合結果進行補充。最后所有挖掘的結果通過詞頻過濾后進入候選池。
以上獲取的候選節點雖然符合我們預設的規則或句法關系,但語義上仍然存在大量與用戶實際需求或者行業知識不相符的情況。為了更全面地衡量候選節點的質量,我們基于節點的統計和語義特征聯合建模,構建了一個基于Wide&Deep結構的質量判別模型,對候選池中每個節點的質量進行判別。
Wide部分提取候選節點的全局和上下文的統計特征,Deep部分通過BERT提取候選節點的深度語義特征。兩部分的特征相連接后進行融合,經過全連接層來實現最終的短語質量判別。在訓練過程中,除了直接使用已經積累的常識性短語作為正樣本外,我們還通過預設一些常識性的組合來構造樣本,并結合主動學習來進行訓練。通過質量判別后保留的節點則會交由運營人工審核后入庫。
② 節點關系的構建
對于同義和上下位的關系,可以復用需求對象層積累的關系結果和相應的模型。此外,還需要進一步建立具象需求和屬性之間的關系,以對具象需求進行更詳細的刻畫。對于基于Pattern生成的具象需求,關系已經天然存在,而直接通過需求對象得到以及基于短語挖掘生成的具象需求,則需要構建其和屬性的關系。
我們采用兩階段的方式來構建關系。首先通過在語料文本中提取包含具象需求和屬性的固定Pattern,快速獲取關系三元組。在此基礎上,構建基于BERT的句中實體關系抽取模型,對包含具象需求和屬性的語料上下文建模,將具象需求和屬性的特征與上下文特征融合后聯合分類獲取,從而進一步豐富關系三元組。
③?具象需求節點和供給的關聯
在具象需求層中,我們還需要將具象需求與實體供給(商戶和商品)和內容供給進行關聯。我們將這個問題抽象為一個實體鏈接的問題,通過語義匹配來解決。由于具象需求數量眾多,同時供給的文本信息通常包含多個子句,出于效率和效果的平衡考慮,我們將整個匹配過程分為了召回、排序和聚合三個階段。
在召回階段,基于構建的同義關系擴展具象需求的同義標簽,并將其與子句文本進行粗粒度匹配,粗篩出可能與具象需求節點有潛在關聯的子句,并進入到排序階段進行精細化的關聯關系計算。
在排序階段,我們采用基于BERT句間關系分類的語義匹配模型,同時通過一些對比學習方法來彌補樣本的不足,并結合主動學習提升標注效率。模型通過對召回階段得到的粗篩樣本進行預測,識別兩者在語義上的匹配關系。最后對于商戶,我們將結合商品和內容的匹配結果,通過規則聚合來完成關聯。具象需求和供給的關聯,保證了用戶的具體服務需求有相應的供給進行承接。
場景要素層:
場景要素層包含了組成用戶場景需求的場景要素。在該層中,我們復用在之前已經積累的流程進行高效挖掘。
①?場景要素的挖掘
我們首先對場景要素進行類型拆解,要描述一個場景,需要交代特定的人物、時間、空間、目的等要素。在此基礎上,考慮到場景要素作為具象需求的場景化的信息,往往來自于用戶的直觀感受,所以我們選擇與具象需求關聯的UGC的上下文作為挖掘語料。與需求對象挖掘的方法類似,我們基于無監督擴充和有監督標注相結合的方式,完成各個類型的要素挖掘。
②?場景要素和具象需求關系的構建
場景要素與具象需求之間還需要進一步構建關系,即對于每個場景要素,我們還需要找出其適合的具象需求,例如和“閨蜜”可以玩“劇本殺”,帶“孩子”可以去“親近動物”。具體的方法和具象需求-屬性關系構建類似,我們通過關系模板提取和句中實體關系建模,在UGC中提取場景要素和具象需求的關系。
場景需求層:
在場景需求層,我們將場景要素層的信息進行組裝,從而生成大量的場景需求。組裝出的場景需求,既可以包含單個場景要素,也可以包含多個不同類型的場景要素。例如周末和閨蜜聚會、戶外親子等等。
對于組裝得到的場景需求,最重要的是保證其合理性,例如“戶外”和“親子”就是合理的場景,而“閨蜜”和“親子”則是矛盾的場景。為此,我們首先需要計算場景要素之間的關系評分,從而指導場景需求的組裝。我們以場景要素和具象需求的關系得分作為依據,通過關系傳遞評估兩個場景要素之間的相關性,以過濾低質場景需求。
最終場景需求通過其包含的場景要素,可以鏈接到相應的具象需求,進而關聯相關的供給,從而給用戶提供場景化的解決方案。
3.?數據沉淀
經過一年多的發展,到店綜合知識圖譜已完成整體的結構設計和核心數據的建設,覆蓋了到店綜合業務的60多個行業,包含了40多萬的需求節點、上億的關系數以及上百種的關系類型,整體關系的準召率均在90%以上。
03
到店綜合知識圖譜的應用實踐
到店綜合知識圖譜當前已在到店綜合業務的諸多場景中進行了應用,取得了不錯的效果,提升了用戶體驗,下面我們介紹具體應用實踐。
1.?到店綜合知識圖譜的應用
當前到店綜合知識圖譜的應用主要有三個方面,分別是搜索、推薦和信息智能展示。除了這三個主要應用之外,由于在本地生活中新行業不斷出現,我們還會進一步基于知識圖譜在新興行業上進行一系列應用探索。
搜索:
現階段主要應用于搜索的召回和可解釋性優化。這里以醫美行業為例,由于醫美行業的專業性高,用戶在搜索時輸入的query和供給之間往往存在較多的語義隔閡。我們的圖譜數據,可以為醫美搜索的召回和可解釋性提供大量的知識輸入。例如,用戶希望眼部年輕化,我們可以直接返回提供相關項目的供給,從而提升用戶搜索的效率。
推薦:
現階段主要應用于推薦的召回和排序。對于召回,圖譜信息可以直接應用于供給的關聯召回。對于排序,圖譜信息則可以作為特征融入排序建模。當前到店綜合知識圖譜已在美團首頁的猜你喜歡和到店綜合業務涉及的各個頻道頁內的多個推薦流量位進行了應用,推薦的效果得到了明顯改善。
信息智能展示:
① 供給聚合
為了滿足用戶豐富多樣的需求,我們跨類目生成需求ICON,如“親近動物”、“帶娃泡湯”,對符合用戶需求的相似供給進行聚合。同時,我們也為用戶生成主題式的供給聚合卡片,更人性化地滿足用戶需求,提升了用戶決策效率。
② 標簽篩選
圖譜的部分需求節點可以直接用于列表頁的標簽篩選,這些篩選項提升了用戶選擇供給的效率。
③?推薦理由
基于需求節點和供給的關聯關系為每個供給選擇包含相應需求的文本信息,通過抽取式或受控生成的方式,作為推薦理由外露,這些句子從用戶實際需求的角度展示供給信息,顯著提升了用戶體驗。
2.?到店新興行業場景下的應用探索
這里我們以最近很火的劇本殺行業為例進行介紹。
劇本殺行業近年來呈爆發式增長態勢,然而由于劇本殺是新興行業,平臺已有的類目體系和產品形態,越來越難以滿足飛速增長的用戶和商戶需求,主要表現為平臺類目缺失、用戶決策效率低、商戶上架繁瑣三個方面的問題。為了解決這些問題,我們需要進行劇本殺的供給標準化建設,實現以標準化為基礎,改善供給管理和供需匹配。
在標準化建設過程中,涉及了劇本名稱、劇本屬性、類目、商戶、商品、內容等多種類型的實體,以及它們之間的多元化關系構建,這很適合用知識圖譜來解決。因此我們以到店綜合知識圖譜的體系設計為基礎,以標準劇本為核心構建劇本殺行業知識圖譜,來實現劇本殺的供給標準化。整個劇本殺供給標準化包括了劇本殺供給挖掘、標準劇本庫構建和供給與標準劇本的關聯三個步驟。
劇本殺供給挖掘:
在劇本殺供給挖掘中,需要判斷商戶是否提供劇本殺服務,判別依據包括了商戶名、商品名及商品詳情、商戶UGC三個來源的文本語料。這個本質上是一個多源數據的分類問題,然而由于缺乏標注的訓練樣本,我們沒有直接采用前文提到的端到端的多源數據融合判別模型,而是依托業務輸入,采用無監督匹配和有監督擬合相結合的方式高效實現。首先基于劇本殺關鍵詞文本匹配計算各來源的分數,再基于線性回歸擬合標注的商戶分數,獲取各來源的權重,從而實現對劇本殺商戶的精準挖掘。
標準劇本庫構建:
在標準劇本庫構建中,關鍵是劇本名稱的挖掘,我們根據劇本殺商品的特點,先后采用了規則聚合、語義聚合和多模態聚合三種方法進行迭代,從數十萬劇本殺商品的名稱中聚合得到數千標準劇本名稱。下面分別對三種聚合方法分別進行介紹。
我們首先考慮劇本殺商品的命名特點,設計相應的清洗策略對劇本殺商品名稱進行清洗后再聚合。除了梳理常見的非劇本詞,構建詞庫進行規則過濾外,也進一步將其轉換為命名實體識別問題,采用序列標注對字符進行分類。對于清洗后的劇本殺商品名稱,則通過基于最長公共子序列(LCS)的相似度計算規則,結合閾值篩選對其進行聚合。通過規則聚合的方式能夠在建設初期幫助業務快速對劇本殺商品名稱進行聚合。
規則聚合的方式雖然簡單好用,但由于劇本名稱的多樣性和復雜性,我們發現聚合結果中仍然存在一些問題:1)字面距離相近但不屬于同一個劇本。2)商品名稱常出現簡稱縮寫和錯別字。
針對這上述這兩種問題,我們進一步考慮使用商品名稱語義匹配的方式,從文本語義相同的角度來進行聚合。具體地,我們采用雙塔式的方法來實現,以Sentence-BERT的模型結構為基礎,將兩個商品名稱文本分別通過BERT提取向量后,再使用余弦距離來衡量兩者的相似度。在訓練過程中,首先基于規則聚合結果,構造粗粒度的訓練樣本,完成初版模型的訓練。在此基礎上,進一步結合主動學習,對樣本數據進行完善。此外,我們還根據規則聚合出現的兩種問題,針對性的批量生成樣本。
通過語義聚合的方式實現了從商品名稱文本語義層面的同義聚合,然而我們通過對聚合結果分析后發現,劇本還存在一些語義完全不一樣的別稱,導致語義不同的商品但仍屬于同一個劇本。為此,我們考慮引入商品的圖像信息來進一步輔助聚合,嘗試構建劇本殺商品的多模態匹配模型,充分利用商品名稱和圖像信息來進行匹配。
在多模態匹配模型中,模型沿用語義聚合中使用的雙塔式結構。劇本殺商品的名稱和圖像分別通過基于BERT的文本編碼器和基于Efficientnet的圖像編碼器得到對應的向量表示后,再進行拼接作為最終的商品向量計算相似度。通過多模態聚合,彌補了僅使用文本匹配的不足,進一步改善了標準劇本的挖掘效果。
供給與標準劇本關聯:
在完成標準劇本庫構建后,還需要建立劇本殺的商品、商戶和內容三種供給與標準劇本的關聯關系,從而使劇本殺的供給實現標準化。由于商品和內容從屬于商戶,所以我們只對商品和內容進行標準劇本關聯。
在商品關聯中,我們首先對商品名稱進行清洗再進行匹配關聯。在匹配環節,我們基于商品和標準劇本的名稱及圖像的多模態信息,對兩者進行匹配判別。而對于內容關聯,則沿用前文介紹的在具象需求層中使用的內容和需求節點關聯的方法,通過召回和排序兩個環節,采用基于BERT句間關系分類的語義匹配模型來實現。
效果呈現:
①?劇本殺類目上線
通過劇本殺供給挖掘,識別出劇本殺商戶,助力劇本殺新類目和相應劇本殺列表頁的構建,為用戶提供了中心化流量入口,提升了用戶的選擇效率。
②?推薦優化
基于劇本屬性關聯召回和圖譜信息融入雙通道DIN建模排序,為推薦帶來了顯著的效果提升,優化了用戶認知和選購體驗,提高了用戶和供給的匹配效率。
③ 信息展示
基于劇本殺知識圖譜的劇本標簽篩選項和相關信息外露,為用戶提供了規范的信息展示,降低了用戶決策成本,更加方便了用戶選店和選劇本。同時,內容和標準劇本的關聯關系參與到劇本的評分計算。在此基礎上,基于劇本維度,形成劇本榜單,從而為用戶的劇本選擇決策提供了更多的幫助。
04
未來展望
由于美團到店綜合業務的復雜性,到店綜合知識圖譜還有很長的迭代之路要走,在此我們提出一些后續的思考和展望。
首先,我們將從當前的供給側向用戶側延伸,實現圖譜從貨到人的迭代,納入用戶節點。同時,加強對已覆蓋的行業的建設,挖掘更多的節點和關系,更好的理解用戶需求,并基于高效的挖掘流程,快速橫向覆蓋到店綜合涉及的所有行業。此外,我們也會將圖譜進一步擴展到用戶決策的全鏈路,覆蓋履約服務環節,分析其中的用戶需求和反饋,更好地賦能商家提升用戶體驗。最后,我們還會基于在知識表示和計算等環節上的不斷迭代,更充分地利用圖譜信息進行更深更廣的應用。
希望我們的到店綜合知識圖譜能夠在供需匹配上發揮出更大的作用,為用戶在本地生活到店場景下提供更好的服務,幫大家吃得更好,生活更好。
05
問答環節
Q:模板抽取的部分,人工定義的三元組模板抽取怎么跟算法提取結果相結合?整體的效果怎么樣?
A:這一部分說的應該是需求節點和屬性之間關系的構建。通過人工定義的模板抽取的三元組本身質量較高,可以直接入庫。這部分關系也可以作為后續算法建模的樣本輸入,整體結果準確率在95%以上。
Q:現在的體系和流程,擴展一個新的行業大概需要多久?
A:美團到店綜合業務涵蓋的行業非常多,每個行業差異又比較大,所以很難給出準確的時間預估,要看行業本身的復雜性。對于新行業,我們會先按照之前業務上積累下來的高效構建流程,先整體構建一遍,再來判斷夠到底需要多少時間。
Q:標簽召回是離線標簽嗎?知識圖譜的召回是利用了圖中哪些信息,效果怎么樣?
A:我們對接下游應用有兩種方式。一種是通過離線數據的形式直接向下游傳輸;第二種是通過圖數據庫以服務來對接下游,滿足多跳查詢等復雜的應用需求。標簽召回當前采用的是第一種方式,利用需求節點及其和供給的關系信息,將需求節點以離線標簽的形式進行應用。在召回效果上,我們以醫美這個行業為例進行了介紹,除了醫美之外,我們在結婚、親子、教育等多個行業上都有一些實踐,整體上用戶的CTR都有不錯的提升。
今天的分享就到這里,謝謝大家。
分享嘉賓:
OpenKG
OpenKG(中文開放知識圖譜)旨在推動以中文為核心的知識圖譜數據的開放、互聯及眾包,并促進知識圖譜算法、工具及平臺的開源開放。
點擊閱讀原文,進入 OpenKG 網站。
總結
以上是生活随笔為你收集整理的图谱实战 | 李翔:美团到店综合知识图谱的构建与应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 会议交流 | CAAI BDSC2021
- 下一篇: 论文浅尝 | 知识图谱的单样本关系学习