電商搜索是如何保證搜索結果不偏離搜索意圖的?
電商APP中,搜索模塊是如何把控搜索結果,以保證搜索結果符合用戶搜索意圖?這篇文章里,作者介紹并梳理了電商搜索中的類目預測和相關性控制模塊,一起來看看,或許可以幫助你更了解電商搜索。
一、引入
用戶在電商APP上進行搜索時,搜索引擎是如何把控返回的搜索結果是符合用戶搜索意圖的了?
電商搜索結果的相關性把控一般是通過兩種方法:一種是通過類目相關性來把控,一種是通過相關性控制模型來把控。但相關性把控的尺度是沒有標準答案的,在滿足平臺整體業務特性和用戶體驗的前提下,可以基于用戶個性化的偏好進行進一步的相關性閾值控制。用戶個性化偏好的了解既可以通過系統的EE(探索與利用)機制,又可以通過調研問卷的形式來讓用戶主動反饋。
下面詳細介紹一下電商搜索中的類目預測和相關性控制模塊:
二、類目預測
1. 引入
不管是電商領域的搜索還是內容社區領域的搜索,全都需要做類目預測,電商和內容社區都有自己專門的類目分類體系。類目預測有助于更好地計算檢索詞與物料之間的相關 性,并應用到后續搜索類目導航功能中。
比如用戶在生鮮電商平臺叮咚買菜搜索“早點” 和“早餐”時,結果如下圖所示,搜索引擎將“早點”“早餐”和牛奶、包子、燒賣、湯圓等類目關聯起來,其實就是類目預測模塊將原始檢索詞與這些類目關聯起來。類目預測的另一個作用是在后續相關性排序環節中,將關聯度更高的類目物料排在前列。
如下圖所示, 能與“光明”匹配的類目有很多,比如牛奶、啤酒、大米和面包等,我們需要通過類目預測推測“光明”和哪一個類目的關聯度最高,以便在排序的時候進行參考。模型預測出“光明”和牛奶類目的關聯度最高,所以在后續排序中就需要將牛奶排在前列。
2. 類目預測方法
常見的類目預測有三種方法。
1)基于人工規則
通過日志信息將熱門的檢索詞提取出來,然后通過人工將這些檢索詞和相關類目匹配起來,保證用戶下一次搜索時與檢索詞匹配的類目是正確的。
- 優點:可以實現快速上線。
- 缺點:可拓展性較差,人工運營成本很高。 在搜索引擎搭建的初期可以使用此種方法。
2)基于用戶行為的數據統計
第二種方法是通過用戶的行為數據來分析得出每一個檢索詞對應的類目。
首先統計每一個檢索詞被搜索后,用戶點擊并瀏覽的物料對應的類目分布。用戶會主動尋找搜索結果里面的正確答案,用戶點擊瀏覽的物料對應的類目就是該檢索詞應該匹配的類目。我們需要設計一個指標閾值,指標是單位時間內檢索詞對應單個類目的點擊量,點擊量大于閾值才代表該數據是可信的。
如下表所示,假設將點擊次數閾值設置為50次,則罐頭類目和檢索詞“早點”之間的相關度為0,其他類目與檢索詞的相關度可以用類目點擊次數除以總點擊次數來計算。
- 優點:利用了用戶的歷史行為數據,可以從數據中進行學習,具有一定的拓展性。
- 缺點:對于長尾檢索詞的覆蓋度較低。
3)基于類目預測模型
上面介紹的兩種方法對于新檢索詞的類目預測覆蓋度都很低,拓展性也一般。實際工作中,我們需要構建專門的類目預測模型。下面本書以電商領域的類目預測為例進行說明。
① 訓練樣本構建
構建類目預測模型的第一步是構建訓練樣本,在電商領域,我們可以將商品標題或用 戶歷史檢索詞與對應的類目構成一對,一對代表一條訓練樣本。如下表所示,構建相應的訓練樣本,并進行人工標注和二次審核。類目預測模型是 一個多分類模型,一個檢索詞可能對應多個類目。
② 預測結果的選擇
模型的輸入為檢索詞,輸出為可能相關的類目及對應的概率。因為類目預測模型是一個多分類模型,所以單個檢索詞可能會輸出多個相關類目。此時我們需要針對類目預測的相關性設置一個閾值,比如檢索詞與類目的預測相關性超過 0.5 才說明兩者之間的相關性可信。這個閾值需要根據實際訓練出的模型在測試集上的驗證效果進行確定。
③ 實際應用
實際應用時,我們一般會將類目預測模型分為線上和線下兩部分。因為線上模型對實時性要求非常高,所以我們將一部分類目預測工作放在線下進行。因為每天搜索引擎里面80% 以上的搜索都是重復性搜索,針對這部分檢索詞可以提前進行類目預測,并通過人工方式對預估錯誤的檢索詞進行糾正,最終將類目預測結果提前存儲到 Redis 內存數據庫中,線上使用時直接查詢即可。針對另外 20% 的長尾檢索詞,可進行線上實時預測。通 過此種方式可以大大減輕線上的系統壓力。
- 優點:泛化性強,對于長尾檢索詞,類目預測的準確率很高。
- 缺點:線上模型耗時較多,需要設計合理的系統架構。
三、相關性控制
除了上述介紹的類目預測模型,在部分召回分支里比如語義相關性召回策略里,針對召回的結果還會單獨再過一個相關性控制模型,去評估搜索結果和Query之間的相關性,針對相關性較弱的搜索結果進行過濾。
因為語義相關性召回從語義層面評估Query和文檔的相關性,很多召回的物料在文本層面和檢索詞不具備任何相關性,所以實際應用時會出現相應的用戶體驗問題。
為了盡量減少線上出現的用戶體驗問題,系統里就需要單獨設計一個相關性控制模型。相關性控制模型是一個二分類模型,專門針對向量召回的物料進行判斷,評估其和檢索詞是否相關。
1. 相關性控制模型與語義相關性召回模型的差異
第一處是語義相關性召回模型輸出的是檢索詞與文檔的相似度,是一個具體數值,而不是類別。相關性控制模型輸出的是類別,即相關或不相關。
第二處是語義相關性召回模型訓練時使用的核心數據來自線上點擊曝光數據,而相關性控制模型訓練時使用的數據主要是人工標注數據,需要確保檢索詞與文檔的嚴格相關性。
2. 工業界實際應用
部分公司將相關性控制模型和語義相關性召回模型所需完成的任務合二為一,全部由語義相關性召回模型完成。
首先,對語義相關性召回模型使用的訓練樣本進行人工審核, 確保訓練樣本的嚴格相關性。其次,系統對語義相關性召回模型最終產出的相似度設置一個較高的閾值,保證返回的物料相關性很高。
模型拆分以后各端可以專注于優化自己的核心目標,模型融合在一起后既要保證高相關性,又要保證召回較多的物料,這兩個優化目標在某種層面上是相悖的。具體是否進行拆分,視公司搜索引擎的發展階段和實際業務量 而定,目前頭部互聯網公司都將這兩個模型拆分開,分別進行優化。
四、用戶對于“精準度“的個性化偏好
之前提到過,不同用戶對于“精準度”的偏好是不一樣的,有些用戶希望搜索結果就是和自己搜索詞強關聯的結果,有些用戶可以接受搜索結果中出現一些沒有那些精準的結果。
如何去了解不同用戶的偏好進而去更好的滿足用戶的不同需求?一種方式可以通過系統探索,去試探用戶的興趣。另一種就是像淘寶這樣,可以通過調研問卷,讓用戶來主動反饋,最終基于用戶的反饋來把控搜索結果的精準度。
本篇文章節選自我的新書《搜廣推策略產品經理-互聯網大廠搜索+廣告+推薦案例》~
專欄作家
King James,公眾號:KingJames講策略,人人都是產品經理專欄作家。算法出身的搜廣推策略產品專家。
本文原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。