全部產品
Search
文件中心

OpenSearch:拼字錯誤修正幹預詞典

更新時間:Jul 13, 2024

幹預詞典是在系統無法正確錯誤修正時,提供一種途徑供使用者自訂錯誤修正行為。通過建立幹預詞典,並在查詢分析中配置拼字檢查功能時,選擇對應的幹預詞典,可以實現對錯誤修正的幹預。

使用介紹

目前支援對系統內建的拼字錯誤修正詞典進行人工幹預。使用者實現幹預操作的過程通常有以下四步:

  1. 建立拼字錯誤修正幹預詞典。使用者通過搜尋演算法中心--->召回配置--->詞典管理,進入查詢分析幹預詞典頁後,點擊頁面右上方的“建立”。選擇了詞典類型後,為詞典命名,幹預詞典建立完成,詞典會出現在頁面的詞典列表中。

  2. 新增和管理幹預詞典內的幹預詞條。詞典建立完成後,在列表中點擊詞典名稱或點擊詞典對應的“管理”,即可進入到幹預詞典的詳情頁。使用者可在詳情頁內進行幹預詞條的新增和管理。使用者可對Query進行兩種類型的幹預:

    1. 添加糾正詞:對一個Query添加糾正詞,系統在查詢Query時會改寫成添加的糾正詞進行結果召回。

    2. 屏蔽糾正詞:對一個Query屏蔽糾正詞,系統在查詢Query時不再會改寫成屏蔽的糾正詞進行結果召回。

  3. 使用幹預詞典。建立並填充完成拼字錯誤修正詞幹預詞典後,可在任意應用的查詢規則內選擇使用。

  4. 幹預詞典效果測試和上線。查詢分析規則使用了幹預詞典後,在應用到線上前建議先進行搜尋效果測試,評估效果是否符合幹預預期。

幹預詞條生效順序

1.位置靠前的幹預詞條優先:

例如:幹預詞條:中國建社->中國建設建社很行->建設銀行, query:中國建社很行, 兩條幹預資料均在query中有連續語義term的匹配,但是由於幹預詞條在query中有重疊,選擇位置靠前的幹預詞條生效,最終錯誤修正結果為中國建設很行

2.位置相同的情況下,幹預詞條長度(語義term個數)優先:

例如:幹預詞條開法->開發開法搜嗦->OpenSearch,query:開法搜嗦真優秀,最終錯誤修正結果為OpenSearch真優秀

3.一個query可以有多個包含匹配的幹預生效。

注意

  • 只要有使用者幹預,那麼本次拼字檢查的可信度就為高。

  • 對於幹預匹配成功的詞條,系統會將幹預詞條替換後的query走錯誤修正模型,在保留使用者錯誤修正幹預的前提下,對未乾預的部分進行錯誤修正,例:

幹預詞條:

手機沖電器->手機充電器

query:

query:手機沖電器哪個排子好

結果:幹預後結果:手機充電器哪個排子好,將這個query再進行系統模型的錯誤修正,在保證手機沖電器->手機充電器幹預生效的前提下,系統會進行進一步錯誤修正,得到結果手機充電器哪個牌子好

實戰演練

業務情境:某電商導購類業務在OpenSearch的應用執行個體中配置使用了查詢分析規則,規則包含拼字錯誤修正功能,但是線上上發現了badcase,於是決定使用幹預功能。

badcase:使用者搜尋Query“福健”,返回的結果不多,但是都完整包含了“福建”關鍵詞,實際上該查詢的相關結果有很多都沒有召回。

問題診斷:使用者的輸入Query錯誤,正確的寫法應該是“福建”,系統的拼字錯誤修正沒有識別出錯誤寫法。

解決方案:建立拼字錯誤修正幹預詞典,在Query“福健”下幹預添加糾正詞“福建”,再將該拼字錯誤修正詞典應用線上上使用的查詢分析規則中。

操作步驟

1.控制台>搜尋演算法中心>召回配置>詞典管理建立拼字錯誤修正詞典:

image

填寫“名稱”,詞典類型選擇“拼字錯誤修正”2

2.在建立的拼字錯誤修正幹預詞典裡新增幹預詞條,Query欄填寫“福健”,糾正詞欄填寫“福建”,幹預類型選擇“添加”:

3

3.在查詢分析介面把剛剛建立的“拼字錯誤修正幹預詞典”先應用在一個未上線的查詢分析規則中,以便進行搜尋效果測試:

4

4.搜尋測試是否符合預期效果。發現搜尋結果召回了改寫成“福建”的結果,符合預期:

5

注意事項

  • 詞典類型和名稱在建立後均不可修改。

  • 新增幹預詞條時,填寫的Query不應與幹預列表內已幹預過的Query重複。

  • 同一幹預詞典可以被多個查詢分析規則使用。

  • 由於目前的幹預詞典是基於系統內建詞典的補丁式幹預,所以詞典使用時會預設勾選使用系統內建詞典。

  • 目前拼字錯誤修正幹預詞典的生效規則是包含匹配,查詢詞中一個或多個(最多5個)連續完整的語義term和幹預詞條中的query的匹配才會生效。包含匹配不完全等價於字串的子串匹配。

  • 被任一查詢規則(不論是否上線)使用的幹預詞典不能被刪除,想要刪除需要首先解除使用。

功能限制

  • 拼字錯誤修正幹預詞典一共可以建立20個。

  • 每次新增拼字錯誤修正幹預詞條時,Query只支援填寫一個,同一Query下糾正詞只支援填寫一個。

  • 每個拼字錯誤修正幹預詞典最多可建立1000個幹預詞條。

  • 拼字錯誤修正幹預詞條按照幹預的Query與查詢Query精準匹配才生效。例如,為Query“武汗”添加了拼字錯誤修正詞“武漢”,那麼查詢“武汗”時會改寫為“武漢”進行召回,但是查詢“去武汗”時,不會被改寫,仍然按照原Query進行召回。

  • 添加的幹預內容均會進行大小寫和全半形歸一化處理,其中大寫字母會歸一化為小寫,全形會歸一化為半形。