目前實體識別的干預主要包括兩個對實體識別結果本身的干預,以及實體類型重要性的干預。當實體識別的結果不準時,可以通過實體識別的干預來進行解決。
概念介紹
實體識別干預
通過創建實體干預的詞典,并在查詢分析中實體識別中配置相應的干預詞典,可以干預實體識別的結果。由于語義實體是和分詞器密切相關的,因此,創建實體識別干預詞典時,必須選擇分析器。且在查詢分析配置使用時,只有索引對應的分析器和干預詞典的分詞器一致,才能被選擇使用。
在創建實體識別干預的詞典時,僅支持獨享型應用配置定制模型分析器。
可以選擇干預詞典的query完整匹配或者部分匹配。
每個干預詞典最多可創建1000個干預詞條。
添加干預詞條時,添加的query需要是經過歸一化后的(大小字母轉小寫、全角字符轉半角字符),否則干預詞條能添加成功,不能在查詢時生效。
配置查詢分析-實體識別干預詞典時,可以選擇query是否忽略空格。
某些情況下(如系統升級分詞器后),可能會導致部分query在查詢時分詞和創建干預詞典時的分詞結果不一致,那么這條干預是不會生效的。查詢會返回一個錯誤碼:6612。當出現這個錯誤碼時,需要到控制臺中對這個干預詞條進行修改。
實體重要性干預
為了方便用戶使用,當前系統提供默認的實體重要性配置。用戶可以根據實際業務情況,自主的調整配置。這塊調整會影響query的改寫規則。
配置重要性配置時,高和中不能都為空。否則根據實體識別改寫query的功能將不生效。
不同的重要性的實體不能有沖突,即一個實體只能有一個重要性。
使用介紹
目前支持對系統內置的實體識別詞典進行人工干預。用戶實現干預操作的過程通常有以下四步:
創建實體識別干預詞典。用戶通過
搜索算法中心--->召回配置--->詞典管理
,進入查詢分析干預詞典頁后,點擊頁面右上角的“創建”。選擇了詞典類型后,為詞典命名,干預詞典創建完成,詞典會出現在頁面的詞典列表中。新增和管理干預詞典內的干預詞條。詞典創建完成后,在列表中點擊詞典名稱或點擊詞典對應的“管理”,即可進入到干預詞典的詳情頁。用戶可在詳情頁內進行干預詞條的新增和管理。
使用干預詞典。創建并填充完成實體識別干預詞典后,可在應用的查詢分析內選擇使用。
干預詞典效果測試和上線。查詢分析規則使用了干預詞典后,應用到線上之前建議先進行搜索效果測試,評估效果是否符合干預預期。
實戰演練
業務場景:某電商導購類業務在OpenSearch的應用實例中配置使用了查詢分析規則,規則包含實體識別功能,但是在線上發現了badcase,于是決定使用干預功能。
badcase:用戶搜索Query“香奈兒氣墊”,默認的實體識別,將“香奈兒”歸類為“普通詞”;“氣墊”歸類為“材質”。 改寫query后為,title:’氣墊’ RANK title:’香奈兒’。但業務上“香奈兒”不是普通詞。問題診斷:業務特殊專有名詞,需要進行實體識別干預。
解決方案:新建實體識別干預詞典,再將該干預詞典應用在線上使用的查詢分析規則中。
操作步驟:
在控制臺>搜索算法中心>召回配置>詞典管理,創建實體識別詞典:
填寫名稱,詞典類型選擇實體識別,分析類型選擇系統內置分析器/自定分析器(根據查詢分析中配置的分析器類型選擇),關聯分析器中會自動過濾出符合條件的分析器(僅支持電商分詞類型配置實體識別):
若查詢分析中配置的索引為定制模型分析器,則分析器類型選擇定制模型分析器,實例選擇Ha3引擎,并選擇對應的應用名稱,關聯分析器與查詢分析中配置的分析器保持一致:
在新建的實體識別干預詞典里新增干預詞條,填寫query,并修改系統識別結果:
原始的錯誤識別實體結果:
干預后的結果:
若實體識別詞典是基于定制模型分析器創建的,在新增干預詞典時需要選擇分析器的版本,即定制召回模型使用的模型版本:
干預類型中,完整匹配表示輸入Query與干預Query完全相同時進行干預;部分匹表示輸入Query包含干預Query時進行干預。
在查詢分析界面把剛剛創建的“實體識別干預詞典”先應用在一個未上線的查詢分析規則中,以便進行搜索效果測試:
是否忽略空格功能指當在使用實體識別干預時是否忽略query中的空格(默認不開啟),例:輸入Query:“連衣裙 女” ,干預詞條:“連衣裙女”,選擇“是”則按干預詞典中的實體詞進行干預,選擇“否”則不進行干預。
搜索測試是否符合預期效果:(召回了有關“香奈兒氣墊”的doc)