功能介紹
在實際搜尋情境中,會經常出現包含同義字的表達。例如,我們希望使用者在搜尋廣東話的同時,也能找出和粵語有關的資訊;使用者在搜尋蘋果手機的同時,包含iPhone的內容也能被檢索並呈現。在現實生活中,相同語義的表述詞彙往往有很多,而使用者在檢索的時候很難在一條 query 中將它們全部體現,所以識別和提供同義字檢索顯然可以獲得更高的召回率。同義字功能主要是對查詢詞進行同義擴充,擴大召回和查詢詞同義的文檔。例:“包菜” 存在一個同義字是“圓白菜”,在沒有開啟同義字功能時,搜尋“包菜”時是無法召迴文檔中僅包含“圓白菜”;開啟同義字功能時,則能召回。
功能使用流程
1.OpenSearch控制台選擇左側導覽列中的“召回配置”下方對應的“查詢分析配置”,選擇對應的應用程式名稱和應用類型(線上/線下)點擊建立。
2.輸入“規則名稱”,選擇“索引範圍”,選擇“行業類型”,功能選擇選中“同義字”,點擊“確定”:在彈出的編輯規則對話方塊中,設定目標應用(引擎類型、應用程式名稱、應用類型)、規則名稱、索引範圍、行業類型(如電商增強)及Query改寫策略(如AND)。在功能選擇地區勾選同義字及其他所需功能(如停用詞、拼字錯誤修正、詞權重、實體識別)。展開同義字配置面板,啟用模板使用(電商通用同義字模型)和詞典使用(系統內建詞典),按需選擇幹預詞典,單擊確定完成建立。
注:如果未設定幹預詞典,則按照系統預設的同義字詞典。如果實際使用情境中出現badcase ,可以參考下文配置幹預詞典。
3.規則建立完畢後,可以進行搜尋效果測試:
在查詢分析列表中,找到已建立的同義字規則(如 test_tong),單擊其操作列的搜尋測試。測試效果:在搜尋測試頁面,將查詢語句設為 default:'KFC',子句 config 設為 start:0,hit:10,format:fulljson,參數 qp 設為已建立的查詢分析規則(如 test_tong),單擊 搜尋。頁面底部顯示實際查詢詞為 (((default:'kfc') OR (default:'肯德基'))),說明同義字功能已將"KFC"自動擴充為"kfc"和"肯德基"。查看查詢分析過程:以查詢詞 KFC 為例,在查詢分析過程對話方塊中,分析步驟依次包括拼字錯誤修正(-)、歸一化(kfc)、分詞(kfc)、停用詞(-)、同義字(肯德基 kfc)、類目預測,最終 Query 改寫結果為 (((default:'kfc') OR (default:'肯德基'))),驗證同義字擴充生效。
4.調試無誤後,在查詢分析介面,切換到“索引視角”,將對應的自訂查詢分析設定為預設查詢分析,即在索引視角中找到目標規則並單擊設為預設按鈕。
5.設定預設自訂查詢分析後的介面效果:
設定完成後,被設為預設的自訂查詢分析名稱前會顯示[預設]標識,例如[預設]test_tong(同義字)。
同義字幹預詞典
業務情境不一樣,某些詞的同義字也會有所差異,會存在系統內建詞典缺少同義字或者提供了錯誤的同義字。因此,提供了幹預功能,供使用者自訂同義字。通過建立同義字幹預詞典,並在查詢分析中同義字配置相應的幹預詞典,就可以幹預同義字功能。具體同義字幹預詞典配置及原理,請點擊此處。