全部產品
Search
文件中心

OpenSearch:類目預測功能使用

更新時間:Jul 13, 2024

流程介紹

2

溫馨提示:圖中的內容必須都配置上,類目預測才會生效。

流程示範

建立並訓練類目預測模型

  1. 在左側導覽列中,進入排序配置->類目預測頁面,點擊“建立”,進入建立流程。

7777

  1. 進入建立流程後,需要填入模型名稱,資料類型,商品ID,商品標題,類目ID,類目名稱,過濾條件等資訊。

001

  • 資料類型:

    • 物品資料即為當前應用中已有的文檔資料,但需要應用中需要事先儲存類目ID、物品標題以及類目名稱三個欄位的資料;

    • 行為資料為上傳的使用者點擊行為採集資料,具體可參考資料擷取文檔

  • 類目ID:應用中表示類目ID的欄位,支援INT類型。必填。

  • 物品標題:應用中表示物品標題的欄位,支援TEXT、LITERAL類型。必填。

  • 類目名稱:應用中表示類目名稱的欄位,支援TEXT、LITERAL類型。必填。

  • 過濾條件:選填。如果要填寫,需要保證過濾條件中出現的欄位名稱必須是應用結構中的欄位名稱。過濾條件支援的操作運算子有:<、>、<=、>=、=、!=。多個過濾條件之間為AND關係,必須要使用英文逗號(,)分隔,表示且關係(暫不支援或關係)。例如,過濾條件為 is_onsale > 0。

  1. 配置完成後點擊完成進入類目預測模型詳情頁:

002

  1. 模型建立完成後,返回類目預測頁面,看到模型狀態為“待訓練”,點擊“啟動訓練”,訓練模型資料。

003

類目預測訓練狀態:

  • 待訓練:表示模型剛建立完成,但未做資料訓練的模型。

  • 訓練中:表示模型建立完成後進入訓練但還未完成訓練的模型。

  • 訓練失敗:表示資料錯誤造成的模型訓練失敗的模型。

  • 未應用:表示模型訓練成功,但並未在召回和排序功能中應用該模型。

配置查詢分析和排序運算式

  1. 在左側導覽列中,進入召回配置->查詢分析頁面,點擊“建立”,進入建立流程。

876878788

  1. 進入建立流程後,按下圖流程進行規則的編輯和建立。

11

  1. 然後在粗排或者精排中生效類目預測模型。在左側導覽列中,進入 排序配置->策略管理 頁面,點擊“建立”,進入建立流程。

9999999999

以下為應用到基礎排序中的流程:

  1. 進入建立流程後填寫策略名稱稱,首先選擇基礎排序(第一輪粗排),選擇類型(目前控制台配置僅支援運算式,後續還會支援自訂外掛程式)。

33333333333333333333333333

  1. 然後在排序配置中,選中算分特徵下的category_score()

767676767676

  1. 並配置搜尋欄位以及該算分特徵的權重,並儲存配置。

8787878787

以下為應用到業務排序中的流程:

  1. 進入建立流程後填寫策略名稱稱,首先選擇業務排序(第二輪精排),選擇類型(目前控制台配置僅支援運算式,後續還會支援自訂外掛程式)。

jichu

2.然後在排序配置中,選中內建函數下的category_score(cate_id_field)

bbbbbbbbbbbbbbbb

3.將cate_id_field改為模型的類目ID,並儲存配置。

cccccccccccc

4.模型應用成功後的狀態。

006

5.搜尋測試效果展示,需要添加參數raw_query=查詢詞。

5

通過SDK調用查詢介面

設定查詢參數raw_query:

  • 用於類目預測查詢;只有查詢詞和raw_query的內容一致時,查詢時,才會去查查詢分析中配置的類目預測;

  • 一般建議設定為終端使用者輸入的原始查詢詞。格式:

    raw_query=content
    //API傳參content需要URL_ENCODE(SDK不需要encode);content為原始查詢詞

    執行個體:假設某個應用的查詢分析規則配置如下表所示:

索引名

查詢分析規則名

配置類目預測

index1

rule1

No

index2

rule2

Yes

index3

rule3

Yes

  1. 查詢的索引沒有配置類目預測,請求中有raw_query,不會查詢類目預測,查詢正常返回;

  2. 查詢的索引沒有配置類目預測,請求中無raw_query,不會查詢類目預測,查詢正常放回;

  3. 查詢的索引配置類目預測,請求中無raw_query,不會查詢類目預測,查詢正常返回:a. query=index2:'search_query'

  4. 查詢的索引配置類目預測,請求中有raw_query,但和查詢索引中的查詢詞不同,不會查詢類目預測,查詢正常返回:a. query=index2:'search_query'&raw_query=raw_query

  5. 查詢的索引配置類目預測,請求中有raw_query,且和查詢索引中的查詢詞相同,查詢類目預測,查詢正常返回:a. query=index2:'search_query'&raw_query=search_query

  6. 查詢包含多個索引時,且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:演算法周邊

進階

  1. 查詢規則中配合實體識別功能使用類目預測,可以擴大類目預測的召回。查詢分析會更加實體識別的結果,在原query查詢得到類目預測無結果時,會按照一定規則對query進行丟詞,進一步查詢類目預測,並將丟詞後的類目預測結果作為最終的類目預測結果返回。具體見實體識別的文檔。

  2. 目前支援對訓練出的類目預測模型進行人工幹預。使用者實現幹預操作的過程與查詢分析幹預類似,類目預測幹預的操作步驟,請點擊查看文檔