淺談淘寶類目屬性體系:商品搜索背后的邏輯架構
淘寶目前在線商品數超過 10 億,如何精準的幫助用戶找到他想要的商品呢?經過多年的探索,淘寶通過建立一套完整的類目屬性體系,終于較好的解決了這一問題,今天就跟大家一起來談談淘寶的類目屬性體系。
一點點歷史和架構
2003 年淘寶剛上線時,商品量很少,沒有分類。 后來,商品量上百,開始有了對商品進行單級分類,有點類似于現在的一級行業類目。
等到商品上萬的時候,商品的單級分類已經不能滿足需求,開始有了多級分類,就是一顆類目樹了。從 06 年開始引入了屬性,商家按照屬性模板填寫屬性,用戶可以按照屬性篩選商品。
到了 08 年,開始將前后臺類目分開,用戶根據前臺類目篩選商品,商家將商品掛到后臺類目上,前后臺類目樹之間建立好映射。
今天的淘寶類目屬性體系主要由后臺類目樹、前臺類目樹、掛載在后來葉子類目上的商品屬性模板以及管理前后臺類目之間映射關系的類目管理平臺組成,整體架構如下:
從圖中可以看出,淘寶類目屬性體系是一個非?;A的數據服務,在商品發布頁上商家選擇后臺類目上傳商品信息,詳情頁上以面包屑的方式給用戶顯示商品所屬的前臺類目,在搜索結果頁上讓用戶根據前臺類目篩選商品。運營同學可以通過一個管理后臺來管理前后臺類目之間的映射關系以及后臺類目的屬性模板。
后臺類目
后臺類目面向商家,主要用于商品的分類和屬性管理。商家上傳商品時見到的就是后臺類目,如下圖:
后臺類目有如下特點:
- 后臺類目樹中最重要的是葉子類目,也就是類目樹上不能再往下分的類目,任何商品都必須掛載到后臺葉子類目上。
- 葉子類目掛載屬性模版,商家發布商品時選擇好類目之后會根據屬性模版,補充必填的商品屬性信息,方可成功上傳商品。
- 后臺類目相對穩定,不能隨便刪除,葉子類目不能重復。
前臺類目
前臺分類面向用戶,方便用戶篩選查找商品,大部分時候用戶見到的類目都是前臺類目。下圖就是淘寶搜索結果頁上的淘寶前臺類目樹:
前臺類目有如下特點:
- 用戶購買時看到的類目是前臺類目。
- 前臺類目通過跟后臺映射間接和商品關聯。
- 前臺類目由后臺葉子類目+屬性組成,一個前臺類目可以包含多個后臺類目,一個后臺類目也可以映射給多個前臺類目。
- 前臺類目不直接掛載屬性模版,前臺類目對應的屬性來自后臺葉子類目的公共屬性。
- 前臺類目很靈活,可重疊,可刪除。
為什么要將前后臺類目分開呢?
介紹完淘寶的類目屬性體系,或許你會問為啥要將前臺類目和后臺類目分開呢?直接用一套類目體系不就行了嗎?這里我就給大家解釋一下原因,到了 08 年,淘寶商品日益增多,類目層級也越來越深,買家越來越難找到想要的商品。淘寶的小二們就開始不斷調整類目屬性,把類目樹變淺,讓商品更容易被買家找到。只有一套類目體系的情況下,小二每次調整,賣家也必須跟著調整。如果只是改一次,賣家也能勉強接受,但這是周期性的。比如,在夏天服裝這個類目下可能是連衣裙、襯衫等夏裝,到了冬天就會變成打底褲、羽絨服等冬裝了,而且賣家也都知道這些調整時合理的,但是一年到頭這么調整,意味著他一年到頭都在編輯類目,可能還得專門養個把人在那里,一天到晚改類目,無形中賣家的運營成本也就提高了。
08 年的時候,有個淘寶的產品經理從線下零售巨頭沃爾瑪得到啟發,他發現沃爾瑪倉庫里面的類目分區和貨架區的類目分區是分離的,倉庫里面的類目分區比較穩定,很少變化,而貨架區的類目分區會根據活動和季節經常調整。類似的,淘寶也可以把原來的一套類目體系分為后臺分類和前臺分類,后臺分類面向商家,用來掛載商品和屬性模板,比較穩定很少變化;前臺分類面向用戶,主要方便用戶查找商品,很靈活,可以經常調整。后臺類目和前臺類目之間通過映射聯系起來,一個后臺類目可以映射到多個前臺類目,一個前臺類目也可以包含多個后臺類目。
從技術的角度來看的話,前臺類目就是在后臺類目的基礎上建立了一個虛擬類目。
類目屬性體系在搜索上的應用
先來看看類目屬性體系是怎么幫助提升搜索的精準度的,下圖是說明了用戶 query 到商品搜索結果的全過程:
用戶輸入 query:iPhone,淘寶類目屬性體系預測到跟這個 query 最相關的前臺類目是手機,然后前臺類目通過映射找到后臺類目手機,最終在這個類目下找到了“iPhone 5s 土豪金”這個商品。
有了類目屬性體系,用戶搜索 iPhone,淘寶就不會給出手機套這樣的配件了,因為它只會到手機類目下去找商品。
有了類目屬性體系,用戶可以直接在搜索結果頁按照類目和屬性篩選商品,更加高效的找到想要的商品。而淘寶搜索可以通過記錄用戶搜索 query 之后的類目屬性篩選行為,精準預測每一個 query 的類目和屬性意圖,當用戶再次搜索的時候,可以根據 query 的類目屬性意圖,在 query 文本相關性的基礎上計算出商品的類目和屬性相關性,把包含 query,且跟用戶的類目和屬性意圖最相關的商品優先展示給用戶。這也是百度這樣的通用搜索引擎所做不到的,因為它沒有類目屬性體系。
有了類目屬性體系,還可以做好搜索算法的垂直化優化。也就是在每一個細分類目下,可以采用不同的商家權重和品牌權重,甚至可以有不同的排序公式。比如用戶選擇手機時,更多考慮各項參數和評測文章,這個時候相應的排序權重因子可以加強,而選擇服裝的時候,一張漂亮的主圖就無比重要了,排序因子里面主圖質量的權重就需要提升了。 有了類目屬性體系,還可以做基于類目和屬性的個性化搜索。搜索引擎通過用戶的類目屬性篩選日志,可以挖掘出用戶的一些特征,比如性別,意向價格區間,偏好品牌,偏好品類等,從而可以對這個用戶做個性化的展示。
類目屬性體系無處不在
除了電商,其實在各個需要幫助快速查找信息領域都可以見到類目屬性體系的身影。比如:教育行業里面的課程分類,醫療行業的疾病和醫院分類。當我們把用戶查找的信息看做一個個實體的時候,對實體分類以幫助快速定位查找就是一個非常通用的方法。從這個角度來講,Google 的 Knowledge Graph 可以看做是將電商網站里面的商品類目屬性體系推廣到了整個世界中的萬事萬物,它試圖使用一套統一的類目屬性網來囊括所有的實體,或許這就是通用搜索引擎的類目屬性體系吧。
本文為作者葛燦輝(@葛燦輝-搜索數據挖掘)投稿發布,轉載請注明出處并附帶本文鏈接
想問下 query后記錄用戶類目屬性篩選行為是通過什么方案記錄的呢 數據埋點嗎?
淘寶商品會有標簽體系么?標簽類目直接的關系是怎樣的?