電商知識圖譜建設及大模型應用探索
一、電商知識圖譜概覽
對于任何電商平臺而言,商品都是至關重要的元素,它連接著買家和賣家。針對買家、賣家和電商平臺這三個角色,我們需要解決以下問題:
- 首先,買家和賣家的表達習慣不同,如何高效地匹配買家的購買意圖與賣家的商品信息,促成交易轉化?
- 其次,不同賣家間存在語言表達習慣差異,例如新手和成熟賣家的區別,本地賣家和跨境賣家的區別等,如何統一管理平臺上的商品,消除差異化?
- 另外,對于跨境電商平臺,比如 Shopee,面臨著跨越不同市場和語言的挑戰,如何對齊不同市場的商品,實現高效管理?
解決這些問題,我們可以采用多種方法,其中深度學習和大模型是其中的佼佼者,具有明顯優勢,能在許多任務上取得顯著效果,并具有較強的泛化能力。然而,深度學習和大模型的缺點也顯而易見,缺乏直觀的可解釋性,需要大量標注數據進行訓練,并且需要強大的計算資源支持,同時大模型還存在幻覺問題。
相比之下,知識圖譜的優點也很清晰,它可以將異構數據源轉化為結構化知識,易于處理。通常,知識圖譜由三個元素構成:實體、關系和屬性,并通過實體-關系-實體的方式表達數據之間的關聯關系。得益于這種清晰的數據表達方式,知識圖譜的可解釋性更強。但知識圖譜也存在一些缺點,比如構建難度較大,且泛化能力相對有限,需要強大的推理能力或人工輸入才能構建企業所需的泛化能力。
目前而言,知識圖譜尚無法完全被深度學習或大型模型所替代。因為它所帶來的優勢能為買家、賣家和電商平臺帶來諸多好處。統一的商品知識圖譜,能夠高效提升用戶體驗,例如進行同款商品的橫向比較,進行不同商品在相同維度上的對比,以及挖掘多種維度的商品信息等等。
對于賣家而言,可以通過知識圖譜優化其管理邏輯,比如對于同一店鋪內商品進行去重和質量優化等。同時,對于同市場內的同款商品,可以為賣家提供優化建議,提升其商品競爭力。還可以為同市場內不同商品補足提供及時的提醒。對于跨境電商平臺,可以幫助賣家及時輸出跨市場的爆品商品。
對于電商平臺本身而言,通過電商知識圖譜可以降低運營成本。例如,通過商品聚合管理可以大大降低管理維度,進行跨市場商品對比和輸出,以及進行同類或跨類別商品的效率分析,從而幫助平臺進行品類上新和招商等活動。
上圖展示了電商知識圖譜的基本形態,我們可以觀察到,其中的信息是有很多維度、多層級,并且是跨多個信息源的。舉例來說,賣家信息會補充商品基礎內容以外的信息,比如優惠券、付款方式以及發貨地等等。這些因素都在一定程度上影響著買家是否能夠完成購買轉化。通過這些圖譜,我們能夠有效地進行連接和關系推理。
接下來,將介紹知識圖譜構建的基本方法。
二、電商知識圖譜構建
1. 電商知識圖譜構建難點
電商領域構建知識圖譜面臨的主要挑戰包括:
- 首先是信息多元。信息來自多個來源,包括買家和賣家等。在某些情況下,商品本身的信息可能不完整,但我們可以從買家的評論中提取出有效的補充信息,以彌補這些缺失。另外,信息的表達方式也是多樣的。例如,在上圖的例子中,“ready stock”這個詞是東南亞市場經常使用的表達方式,但在其他市場可能并不適用,比如拉美市場。
- 第二是質量參差不齊。比如,在這個例子中,賣家在標題中輸入的品牌信息“Sumsung”實際上是錯誤的。這種拼寫錯誤、信息錯誤、冗余或缺失在電商平臺上非常常見。
- 第三是依賴領域知識。對于某些品類的商品,需要依賴領域知識來判斷其準確性。例如,在摩托車這個品類中,“50CC”對于不太了解該領域的人來說并不明確,他們可能無法確定它指的是某個型號還是排量。因此,需要領域信息來幫助我們進行驗證。
- 最后是數據量大。以 Shopee 為例,我們擁有數十億種商品,涵蓋了 8 個市場,使用了 6 種語言。如何將如此龐大的信息融合構建成一個統一的知識圖譜,是一個巨大的挑戰。
2. 電商知識圖譜基本框架
電商領域構建知識圖譜的基本框架都是從數據源出發,可能是同構信息,也可能是異構信息。第一步是進行信息抽取,然后進行知識的融合,最后進行知識的加工。在此不詳細展開每一步驟的各個環節,僅針對其中的一些難點介紹我們對應的解決方案。
3. 電商知識圖譜構建方法
(1)數據源
首先,讓我們對齊一下信息源的名稱。上圖展示的是一個商品的詳情頁,其中包含了標題、圖片、variation(也就是可以選擇每個具體的 SKU 的部分)、結構化的商品詳情,free-text 的商品描述,以及買家填寫的評論信息。
(2)信息抽取
在進行信息抽取之前,我們想強調一點,對于電商平臺來說,一個重要的基石就是進行 Ontology 的定義和結構化。為什么這么重要呢?因為商品信息非常豐富,我們并不需要抽取所有的信息內容,很多時候只需要抽取對我們的實際應用和業務訴求有影響的關鍵信息就足夠了。
構建方法基本上可以分為兩大類:一是通過領域專家知識進行構建,二是通過數據進行主動挖掘。第一種方法需要大量人力,我們最近也在研究如何通過數據主動挖掘,發現一些未知的本體形式和結構。
以 Shopee 為例,我們的 Ontology 結構主要分為兩層:
- 第一層是基礎定義層,包括一些基礎的元素,如類別和屬性。類別又分為多個層級,從 L1 到 L5,屬性也包括關鍵屬性和銷售屬性,這些都與實際業務場景密切相關。
- 在基礎定義層的基礎上,我們可以根據這些基礎元素進行排列組合,形成組合定義層,例如場景、標簽、標品等。對于像春日露營這樣的場景,通常我們會跨越多個類目進行組合。對于“戶外防水裝備”這個標簽,則戶外運動類別商品具備防水屬性才符合要求。對于標品,定義會相對嚴格,需要完全符合一些類目或屬性的定義,才能稱之為同一個標品。
下面介紹信息抽取中的難點以及相應的解決方案。
以類目信息提取為例,我們的輸入信息基本上就是商品,包含圖片和標題。了解了這個信息源之后,我們就可以清楚地了解到,信息質量參差不齊。例如,在第一個商品例子中,從圖片很難分辨出要銷售的商品主體,因為背景嘈雜。但是通過商品的其它圖片,通過一些質量較高的、能夠突出反映要銷售的商品主體的圖片,可以發現要賣的商品是鼠標墊。針對這種情況,我們可以在多個信息輸入源中篩選出更高質量的信息,再作為模型的輸入,效果會更好。
其次,信息還可能模糊或不完整。例如,右邊的例子中,單看圖片可能會認為是一個樂器架子鼓,但實際上在標題中會發現它是兒童樂器玩具,應屬于兒童玩具類目,而不是樂器類目,這是一個較大的差異。
同時,對于跨境電商平臺來說,多語言適配也是非常重要的。像 code switch 在我們的場景下是非常常見的。
針對信息參差不齊的情況,我們有針對性地對文本和圖片信息分別進行了質量評估。例如,對于文本,我們采用了多種方法。首先是一些簡單的基于規則的方法,憑借先驗知識來判斷,比如標題過短或過長的商品信息質量通常不會很高。除此之外,我們還訓練了許多模型來判斷文本的質量,比如一些多任務模型,輸入是商品標題,一方面可以對文本進行分類,另一方面可以抽取標題中的關鍵詞。一個重要的假設是,高質量的關鍵詞(通常是一些品類詞)或標題,它們所對應的類別輸出應該是一致的。基于這一假設,我們構建了一個多任務模型進行學習。整合文本各維度評估,從而得到文本質量評分。
另一方面,我們也對圖片質量進行評估,考慮因素包括像素、是否包含多個實體、是否包含文字信息、背景是否嘈雜等等。結合這些信息,可以得到綜合的圖片質量評分。
通過文本和圖片質量評分,我們可以在眾多輸入信息源中篩選出更高質量的信息,從而為后續模型的最終預測提供數據源的質量保障。
針對信息模糊或不完整的情況,我們采取的方案是根據文本和圖片進行交叉驗證。提到文本和圖片的交叉驗證,大家可能會首先想到多模態模型,我們也進行了許多相關嘗試。我們微調了 ALBEF 模型,通過圖像和文本的對比學習結構,直接預測對應的品類。
我們還重點優化了圖像和文本的表示學習,融入了多語言商品信息,建立了 Labse-DinoV2-Vit 等模型,在一些難以區分的類目中,效果得到了顯著提升。
多語言適配方面,我們嘗試了許多語言模型,例如 Labse 結構模型,用來多語言之間信息對齊,還對比了編碼器解碼器結構模型,例如 Flan-T5,以及解碼器模型 Llama 系列等,分別在多語言電商商品信息上進行微調。由于這些模型結構本身較大,在實際的推理過程中需要較快的速度,因此我們也嘗試通過 MiniLM 等方式對模型進行壓縮。
(3)知識融合
信息抽取后,下一步是知識融合,這里的難點是實體消歧。下面將結合類目和屬性具體問題來介紹我們的解決方案。
首先,對于類目而言,輸入是文本和對應的圖片,消歧問題體現在文本和圖片信息之間的一些沖突。以上圖右邊的例子為例,商品圖片質量是相對較高的,然而僅憑圖片難以確定是在賣上衣、短褲還是整套服裝,通過標題我們可以明確推斷出是在售賣上衣。因此,我們結合文本和圖像對齊的任務,訓練了一些模型,其中一個典型的框架 Blip。我們借助這個框架,做了一些改進。
然而,文本和圖像對齊任務需要文本和圖片的語義表達盡可能匹配,但在電商平臺應用場景中并非總是如此。例如,在上一例子中,圖片中只有上衣部分能與標題對齊,另一方面,標題中也會包含圖片中未顯示的信息,賣家通常會添加一些圖片中無法表現的屬性信息。因此,這些信息并不是完全對齊的。
針對這一領域特定的問題,我們調整了模型,例如進行了文本引導的圖像生成分類,以及圖像引導的文本分類,因為它們并不是一個對稱的關系。同時我們還加了對齊信息的約束,例如不希望發生顏色匹配但商品卻不匹配的情況,因此限定了圖片中的實體對象和文本中的關鍵商品詞進行對齊匹配。
此外,在屬性識別任務中,實體消歧也有一些難點。例如,一個屬性可能存在多個屬性值,比如顏色屬性在標題中抽取到的顏色是紅色,但在描述中抽取出的顏色是黑色,哪一個是正確的呢,還是它們需要結合起來使用?另一個例子是,多個屬性抽取到相同的屬性值,例如顏色和材質同時抽取到了“gold”,那么兩者都正確嗎,還是只適用于其中一個?還有某些屬性值可能跨越不同屬性,例如在標題中抽取到的顏色是“red”,但在品牌中又抽取到了“red mi”,這時“red”既涉及到顏色屬性,又涉及到品牌屬性。
針對這些問題,我們嘗試了一些解決方案。首先,我們搭建了常用 NER 模型,例如 BERT NER,用于屬性提取。隨著大型模型的發展,我們也利用了生成式模型的能力,嘗試主動生成屬性值,以期提高效果。我們在 T5 模型基礎上,結合電商領域屬性抽取的任務特性,用 prompt tuning 的方法訓練了模型。我們驚喜地發現,在一些難以處理的、容易產生歧義的案例中,準確率有了顯著提升。
知識融合的另一個難題是實體對齊。以屬性為例,在實體對齊中涉及多種類型。我們的目標是對齊同一屬性值的不同表達方式。對于拼寫錯誤的問題,可以通過編輯距離、語義相似度、常見錯誤集合等方法處理。對于不同語言的問題,可以使用多語言嵌入相似度和模型翻譯等方法解決。同義詞和近義詞的區分可能會有一些困難,因此我們借鑒了 Labse 模型框架,訓練了一個同義詞模型。重點區分詞形相似但語義差別很大,以及不同詞形但語義相近的情況。還有不同單位的情況。例如,一個人可能用"50cm",另一個人用"0.5m",我們針對這種情況進行了單位轉換計算等處理。
當對齊這些詞后會發現同一屬性詞可能有很多選項。在眾多選項中,我們需要選擇一個標準詞來代表相同的含義。選擇標準詞的標準有很多,比如流行度,即哪些詞的使用頻率最高。然而,流行度并不適用于所有場景。舉例來說,在印尼市場中,錯誤拼寫的使用最多,但錯誤拼寫并不能在許多情況下準確表達商品的含義,因此我們還考慮了其他因素,如困惑度和標準表達能力,用來更準確的代表屬性值集合。綜合考慮這些因素,我們訓練了一個模型,選擇相應的標準值。
(4)知識加工
在知識加工這一步中,將著重討論信息推理和不一致檢測。這兩個任務之所以被放在一起討論,是因為它們其實是相互關聯的。通過一些信息,我們可以進行推理,同時我們也可以反向利用推理結果來校驗提取信息的準確性。如果存在沖突,那么很可能其中一個任務出現了錯誤,因此這兩個任務可以進行雙向校驗。
在這個任務中,仍以屬性為例來介紹相應的方法。傳統方法通常使用關聯規則挖掘。例如,在左圖例子中,我們看品牌和型號之間的關系,如果提取到一個商品型號是 iPhone 15,那我們可以反向推理出對應的品牌一定是蘋果(Apple),這是一種單向推理。但如果我們已經知道一個商品的品牌是小米,而型號卻是 iPhone 15,那顯然這個關系是錯誤的,提取結果是錯誤的。
除了傳統方法外,我們還結合了知識圖譜嵌入推理的方法。例如,通過歸納推理,可以給定一些頭實體和它們的描述文本信息,然后預測它們與其他實體之間是否存在某種關系。通過這種方式可以進行信息的補全。
最近,我們還發現了一些研究是類比推理,即進行平行關系的推演。類比推理可以基于已有節點之間關系形態,類比擴展到其他節點之間的相似關系結構。
歸納推理和類比推理,都可以用于知識圖譜補全。其中,歸納推理相當于從一個點出發,推理出不同方向的關系或連接的實體,可能存在于圖中,也可能不存在。而類比推理則是進行平行關系的推演。它們適用于不同場景下的知識圖譜補全。在電商領域中,我們經常面臨信息不完整的情況,因此進行知識推理和補全尤為重要。
三、電商知識圖譜應用
接下來,介紹知識圖譜在電商領域中的一些具體應用案例。
首先,知識圖譜可以有效地與流量側進行結合。在搜索場景中,以 VLP 場景為例,可以幫助處理查詢,包括識別商品的特定屬性和標簽,然后將這些屬性和標簽直接注入到相應的索引系統中。當出現相關查詢并解析出對應的屬性和標簽時,就可以進行高效的屬性和標簽對齊。通過這種方式,幫助搜索系統補充召回了大量相關數據,同時也提升了排序過程中的相關性。最終,轉化效率也得到了顯著提升。
在推薦場景下,也有多種應用。以每日發現場景為例,在類別基礎之上,我們提供了更細粒度的品類信息。可以在召回過程中補充細粒度品類召回,同時,在向用戶展示商品時,將相鄰商品的同品類信息進行打散,從而增加了用戶看到信息的豐富度。我們發現用戶的興趣度明顯提升,例如在 impression、點擊率等指標中都有明顯的改善。
除了與流量側的結合,我們在運營側也有許多應用案例。例如,與商家系統結合,通過對數據的分析,針對類目填寫不正確、屬性填寫不標準等問題,為商家提供優化建議和方案。
此外,還與選品系統結合,為商品打上不同類別、屬性和標簽等標識。運營團隊可以根據每個賣場想要表達的主題,靈活組合他們想要推薦的商品。這樣,選品篩選更加高效,選出的商品也更相關。
四、知識圖譜與大模型探索
最后,來探討一下知識圖譜與大模型的結合。
目前有三種主要的結合方式:第一種是將知識圖譜作為大模型的輸入;第二種是將大模型作為知識圖譜的輸入;第三種是雙方進行協同訓練。
上圖中展示的結構圖來自一篇整理得非常清晰的調查報告,推薦大家閱讀,這里不做贅述。僅分享一個有趣的發現,在整個知識梳理中,我們發現了一個比較薄弱的環節,即知識圖譜的補全。盡管知識圖譜補全的機制在理論上比較容易理解,例如歸納推理和類比推理,但在真實應用中相關工作和成功案例仍然比較少。
在知識圖譜構建中,一個重要問題是如何更全面地覆蓋知識。如何借助大型模型根據不斷更新的自然知識來補充知識圖譜仍然是一個難題。此外,由于大型模型天然存在一些知識幻覺的問題,如何自動驗證補充信息的準確性也是亟待研究的一個問題。
讓我們進一步聚焦于電商領域中知識圖譜與大型模型的結合方式。之前提到的三種結合方式在這里都是適用的。除此之外,在電商領域,信息的更新速度非常快,每天我們都會有數十萬甚至上百萬個新商品的注入和更新。在這種情況下,如何利用現有技術,例如 RAG,來幫助大型模型和知識圖譜實現及時更新,同時及時響應實際應用場景,這也是值得研究的一個重點方向。
在及時更新的過程中,我們又如何將實時發現的知識與已有的知識圖譜進行融合和去重,并將其沉淀下來,作為未來的基礎使用,這其中也有很多細節值得探討。
此外,推理速度的優化,也是一個老生常談的問題,特別是在實際應用場景中,包括電商平臺等,大型模型的推理速度往往會是一個很大的瓶頸。目前已經有很多加速的方式,例如量化、模型壓縮等,在這不做過多展開。
這里分享一篇有趣的研究。該研究并不是關注于使用什么技術來壓縮模型或量化推理,而是通過應用層面的觀察發現,針對不同任務,并不一定需要運行大型模型的所有層級,對于一些簡單任務,可能只需跑完淺層的信息推理即可得出最終結論,而對于較難的任務再適配更多層模型信息。這為我們提供了一個新思路,在優化時可以考慮結合不同的應用場景進行選擇性的適配。
另外,多模態知識圖譜也是一個方向。對于電商平臺來說,所有信息源天然都是多模態的,包括文本、圖片和視頻等。我們可以嘗試高效地將這些不同模態的信息源融合到知識圖譜中,并將其整合到更多下游應用中。
從整個電商平臺的視角來看,也有很多與大型模型結合的成功應用案例。例如,最近許多平臺都在嘗試 AI 助手,最初是受搜索平臺結合 AI 助手啟發而來的,通過強大的搜索引擎和建模系統來改變平臺和賣家之間的互動方式。當然,這需要經過一些實踐驗證,以確保符合用戶的購物習慣,并根據反饋進行迭代更新。
除此之外,還可以幫助賣家生成 AI 模特圖,從而節省運營成本和時間。還可以通過二維圖像,甚至文字描述,升級到三維視頻展示,結合實際商品的應用場景,為賣家創造更直觀的展示效果。
近期,多模態大語言模型出現了爆發式增長,如 ChatGPT-4、Gemini、Sora、Claude 3 等,它們提供了強大的多模態大語言模型能力。這些模型的出現引發了對于未來是否能夠實現一鍵式商品生成的討論。盡管有許多聲稱是一鍵式商品生成,但實際上需要賣家進行大量手動輸入。然而,如果這些模型能夠應用到實際場景中,也許真的只需要賣家上傳一張商品圖片,就可以自動生成商品標題、描述、高質量圖片,甚至視頻等等。這些應用場景都具有很大的潛力。
最后對本次分享進行一下總結。首先,我們通過電商知識圖譜概覽,分析了為什么電商平臺需要知識圖譜,它可以為賣家、買家和平臺帶來哪些幫助。接著,依照電商知識圖譜構建的基本流程,針對其中的難點分享了我們的解決方案。第三部分介紹了實際的應用場景和效果。最后探討了知識圖譜以及電商平臺與大模型的結合。在未來,知識圖譜加大模型將會有更廣泛的應用場景。
五、問答環節
Q1:質量分的判斷是用垂直模型嗎?是不是能夠用語言模型呢?
A1:質量分的部分可以使用語言模型進行判斷。然而,最重要的是明確定義質量分所要識別的內容。通過具體任務定義,語言模型是一種解決方案。
Q2:實體語義消歧或實體合并有哪些好的方法或建議?比如兩個不同的地址如何識別為同一個地址?
A2:實體消歧涉及到諸如地址等的關聯。建議首先獲取領域知識,并結合輔助信息進行判斷,如物流路徑是否一致、收件人是否集中等。此外,可以通過上下文信息輔助判斷,但準確性可能受限。
Q3:當訓練數據很少時,大模型在知識抽取上如何更好地應用?
A3:在訓練數據有限時,可以借助大模型的 prompt 功能,并結合技術如 COT,利用少量輸入信息進行推理和泛化。
Q4:知識圖譜給大模型白名單,大模型給知識圖譜構建,有推薦的工具或算法嗎?
A4:目前尚未有統一的工具或算法。研究領域涉及眾多算法和應用方式,建議深入研究相關文獻以獲取更多信息。
Q5:知識圖譜和電商品分類、商品庫有重復性,可以直接用商品庫關聯大模型嗎?
A5:直接使用商品庫關聯大模型可能存在問題,因為商品庫數量龐大,且大模型輸入信息量也較大。需根據具體場景考慮是否需要全部信息關聯,可能只需少量輸入即可實現目的。
以上就是本次分享的內容,謝謝大家。