什么是類目預測
搜索引擎效果優化在查詢意圖理解階段有語義理解、命名實體識別、詞權重分析、拼寫糾錯等手段,在排序階段有文本相關度、人氣模型、類目預測等手段。通過配置查詢分析策略和調整排序公式,搜索效果優化有很大的提升空間,再通過AB測試對比不同優化策略的表現,衡量優化效果。
類目預測功能簡單來說就是:用戶輸入一個query,則計算物品所屬類目與query的相關度,類目與query的相關度越高,物品就獲得了越高的排序得分,從而這個物品就會排在越前面。
舉個例子,用戶輸入“光明”,查詢到一批物品,這批物品中有一部分的類目是“牛奶”,另一部分的類目是“大米”。根據搜索歷史行為數據,搜索“光明”的人里面,點擊“牛奶”類目物品的人要比點擊“大米”類目物品的人多得多。則類目預測模型就會給出這樣的預測結果:“牛奶”類目與“光明”的相關度要比“大米”類目與“光明”的相關度高,所以在計算每個物品的排序分時,“牛奶”類目物品的得分比“大米”類目物品得分高,因此“牛奶”類目物品會排在更前面,從而提高了搜索的業務價值。
類目預測基本原理
類目預測的目標是預測搜索的query與類目的相關度,它需要用到歷史query數據、點擊行為數據、類目下的物品信息數據。具體來說是把之前搜過的query收集起來,結合搜索后的點擊行為數據,與類目下的物品信息聯系起來,刻畫query與類目之間的數據規律。
訓練模型需要有數據源,創建類目預測模型時先要與某個應用關聯起來,關聯應用之后,需要確定訓練模型所需的三類數據:
1.歷史上在該應用搜索過的所有query,需要在搜索請求中添加raw_query參數。
2.類目數據和物品數據,這部分數據由用戶在準備模型訓練時從應用中指定字段,至少需要指定應用中的類目ID字段、物品標題字段。
3. 應用的點擊行為數據,行為上報的數據越全面、質量越高,意味著模型的特征越豐富,效果越好。
OpenSearch類目預測功能支持帶行為數據的模型訓練和不帶行為數據的模型訓練。
帶行為數據的模型訓練,適用于已經上傳行為數據,在開始訓練前會自動做入口條件檢查,確保數據量、數據質量、數據完整度都能達到要求,模型訓練有如下步驟:
1.使用歷史query和類目信息,抽樣生成樣本數據,使用行為數據進行樣本數據打標簽。
2.對行為數據進行指標統計、特征計算等操作,生成點擊行為類特征。
3.結合query和類目下的物品標題,對query和標題分詞后,計算query文本與物品標題文本的語義類特征。
4.如果上傳了成交類行為數據,會對成交行為數據進行指標統計、特征計算,生成成交類特征,使得成交表現較好的物品排在更前面。
5.把以上抽樣生成的樣本數據和這些樣本數據的行為特征、語義特征、成交特征和樣本的標簽,綜合起來作為訓練數據,輸入到算法中進行迭代訓練。
6.訓練完成后就得到了描述樣本中query和類目相關度關系的模型,利用這個模型就可以預測query和類目的相關度。
不帶行為數據的模型訓練,適用于沒有上傳行為數據,或行為數據質量較差的場景,只需要指定應用中的類目ID字段和物品標題字段,就可以開始訓練模型。由于沒有行為數據,樣本打標簽沒有依據,那么會使用另一類算法來訓練模型,僅通過query和類目下物品標題的文本數據,進行分詞后,計算query文本與物品標題文本的語義相關度,得到query與類目的相關度。
使用行為數據的模型效果要優于不使用行為數據的模型,訓練模型的特征越豐富,模型對于query和類目的數據規律的刻畫越全面,做出的預測越準確。
不管是帶行為數據的模型還是不帶行為數據的模型,訓練的過程都經過了大量的實驗,使用不同場景的數據,做了精心的參數調優,確保效果能符合預期。
如何使用類目預測
必要條件
進行模型訓練需要數據源,訓練模型之前必須先綁定某個應用。應用數據、應用的query數據、應用的行為數據,都是類目預測模型所需要的數據。
如果沒有上傳點擊行為數據,或不想使用點擊行為數據進行訓練,或點擊行為數據尚未滿足訓練條件,那么可以先不使用點擊行為數據來訓練模型,此時類目預測模型需要從應用中選擇三個字段的數據,分別是:類目ID、物品標題、類目名稱。其中類目ID和物品標題必選,類目名稱可選。在模型訓練完成后,會輸出部分模型的預測結果供效果評估,類目名稱將被用于效果評估頁面以評估query與類目的相關度是否符合預期,所以建議訓練的時候提供類目名稱字段。
如果已上傳了點擊行為數據,那么除了選擇上述的字段內容,在進行模型訓練時,還可以選擇關聯行為數據的選項,只要行為數據滿足訓練條件,就會使用這部分數據訓練模型。
操作步驟
在應用下創建類目預測模型。
應用類目預測模型:首先需要在查詢分析中應用該模型,然后再在基礎排序、業務排序中生效模型。
創建一個查詢分析,配置上類目預測并選擇1中創建的模型
查詢中生效類目預測模型:SDK調用查詢接口,輸入raw_query參數。
具體操作流程可參考類目預測功能使用。