流程介紹
溫馨提示:圖中的內容必須都配置上,類目預測才會生效。
流程示範
建立並訓練類目預測模型
在左側導覽列中,進入排序配置->類目預測頁面,點擊“建立”,進入建立流程。
進入建立流程後,需要填入模型名稱,資料類型,商品ID,商品標題,類目ID,類目名稱,過濾條件等資訊。
資料類型:
物品資料即為當前應用中已有的文檔資料,但需要應用中需要事先儲存類目ID、物品標題以及類目名稱三個欄位的資料;
行為資料為上傳的使用者點擊行為採集資料,具體可參考資料擷取文檔。
類目ID:應用中表示類目ID的欄位,支援INT類型。必填。
物品標題:應用中表示物品標題的欄位,支援TEXT、LITERAL類型。必填。
類目名稱:應用中表示類目名稱的欄位,支援TEXT、LITERAL類型。必填。
過濾條件:選填。如果要填寫,需要保證過濾條件中出現的欄位名稱必須是應用結構中的欄位名稱。過濾條件支援的操作運算子有:<、>、<=、>=、=、!=。多個過濾條件之間為AND關係,必須要使用英文逗號(,)分隔,表示且關係(暫不支援或關係)。例如,過濾條件為 is_onsale > 0。
配置完成後點擊完成進入類目預測模型詳情頁:
模型建立完成後,返回類目預測頁面,看到模型狀態為“待訓練”,點擊“啟動訓練”,訓練模型資料。
類目預測訓練狀態:
待訓練:表示模型剛建立完成,但未做資料訓練的模型。
訓練中:表示模型建立完成後進入訓練但還未完成訓練的模型。
訓練失敗:表示資料錯誤造成的模型訓練失敗的模型。
未應用:表示模型訓練成功,但並未在召回和排序功能中應用該模型。
配置查詢分析和排序運算式
在左側導覽列中,進入召回配置->查詢分析頁面,點擊“建立”,進入建立流程。
進入建立流程後,按下圖流程進行規則的編輯和建立。
然後在粗排或者精排中生效類目預測模型。在左側導覽列中,進入 排序配置->策略管理 頁面,點擊“建立”,進入建立流程。
以下為應用到基礎排序中的流程:
進入建立流程後填寫策略名稱稱,首先選擇基礎排序(第一輪粗排),選擇類型(目前控制台配置僅支援運算式,後續還會支援自訂外掛程式)。
然後在排序配置中,選中算分特徵下的category_score()
並配置搜尋欄位以及該算分特徵的權重,並儲存配置。
以下為應用到業務排序中的流程:
進入建立流程後填寫策略名稱稱,首先選擇業務排序(第二輪精排),選擇類型(目前控制台配置僅支援運算式,後續還會支援自訂外掛程式)。
2.然後在排序配置中,選中內建函數下的category_score(cate_id_field)
3.將cate_id_field改為模型的類目ID,並儲存配置。
4.模型應用成功後的狀態。
5.搜尋測試效果展示,需要添加參數raw_query=查詢詞。
通過SDK調用查詢介面
設定查詢參數raw_query:
用於類目預測查詢;只有查詢詞和raw_query的內容一致時,查詢時,才會去查查詢分析中配置的類目預測;
一般建議設定為終端使用者輸入的原始查詢詞。格式:
raw_query=content //API傳參content需要URL_ENCODE(SDK不需要encode);content為原始查詢詞
執行個體:假設某個應用的查詢分析規則配置如下表所示:
索引名 | 查詢分析規則名 | 配置類目預測 |
index1 | rule1 | No |
index2 | rule2 | Yes |
index3 | rule3 | Yes |
查詢的索引沒有配置類目預測,請求中有raw_query,不會查詢類目預測,查詢正常返回;
查詢的索引沒有配置類目預測,請求中無raw_query,不會查詢類目預測,查詢正常放回;
查詢的索引配置類目預測,請求中無raw_query,不會查詢類目預測,查詢正常返回:a.
query=index2:'search_query'
查詢的索引配置類目預測,請求中有raw_query,但和查詢索引中的查詢詞不同,不會查詢類目預測,查詢正常返回:a.
query=index2:'search_query'&raw_query=raw_query
查詢的索引配置類目預測,請求中有raw_query,且和查詢索引中的查詢詞相同,查詢類目預測,查詢正常返回:a.
query=index2:'search_query'&raw_query=search_query
查詢包含多個索引時,且query中有raw_query:a.
query=index2:'index_query' AND index3:'search_query'&raw_query=search_query # 類目預測在index3上生效;
b.query=index2:'search_query' AND index3:'search_query'&raw_query=search_query # 類目預測會優先在index2上生效,如沒有結果,會查詢index3上的類目預測
注意事項
單個應用最多建立5個類目預測模型。
查詢分析規則中配置的類目預測模型,其訓練欄位必須是該包含在該查詢規則所應用的索引中;
在建立類目預測模型之前,需要保證類目預測所使用的相關欄位(類目ID)已添加到屬性欄位列表中
當查詢分析中配置了類目預測時,如果查詢請求中設定了category_prediction參數,查詢會報錯。
必須同時配置了查詢分析(類目預測)、排序運算式(category_score)、查詢時帶有固定參數(raw_query),類目預測模型才會生效。
類目ID必須為正數,不能為負數,否則查詢會報錯server error。
相關管控API:演算法周邊
進階
查詢規則中配合實體識別功能使用類目預測,可以擴大類目預測的召回。查詢分析會更加實體識別的結果,在原query查詢得到類目預測無結果時,會按照一定規則對query進行丟詞,進一步查詢類目預測,並將丟詞後的類目預測結果作為最終的類目預測結果返回。具體見實體識別的文檔。
目前支援對訓練出的類目預測模型進行人工幹預。使用者實現幹預操作的過程與查詢分析幹預類似,類目預測幹預的操作步驟,請點擊查看文檔。