功能介紹
實體識別,全稱具名實體識別(Named Entity Recognition,簡稱NER),指對查詢詞中的具有特定意義的語義實體進行識別。查詢分析根據識別的結果,依據實體類型的權重對查詢詞進行改寫,使得召回的文檔符合查詢的意圖。目前,OpenSearch的實體識別只支援電商行業。主要實體類型如下:
|
類別 |
|||
|
普通詞 |
材質 |
風格 |
款式元素 |
|
顏色 |
品牌 |
功能功效 |
尺寸規格 |
|
品質成色 |
情境 |
人群 |
套裝 |
|
時間季節 |
型號 |
新品 |
系列 |
|
營銷服務 |
地點地區 |
人名 |
文娛書文曲 |
|
機構實體 |
影視名稱 |
遊戲名稱 |
數字 |
|
單位 |
品類 |
新詞 |
修飾 |
|
專有名詞 |
品類修飾詞 |
符號 |
首碼 |
|
尾碼 |
贈送 |
否定 |
代理 |
實體識別作用
在查詢分析中,實體識別主要的作用於query改寫和類目預測查詢中。
Query改寫
OpenSearch的查詢分析最多改寫出來兩個query,第一個Query相比第二個Query會更精準,第二個query減少了參與召回的term,旨在當更精確的召回結果數不足時,用第二個query進行擴大召回。
Query改寫主要根據實體的重要性,對query進行改寫,召回時保留重要性高的實體詞,對重要性低的部分不影響召回,隻影響演算法排序。實體的重要性目前分為3檔,分別是高、中、低。
Query改寫的規則如下:
-
重要性高的實體,其優先順序完全一樣,肯定會參與召回;
-
重要性低的實體,始終不參與召回;
-
重要性中的實體,其優先順序按其在查詢分析中配置的順序依次遞減,改寫規則:
-
當query中有重要性高的實體時,重要性中的實體在第一個query中參與召回,第二個query不參與召回;
-
當query中沒有重要性高的實體時,重要性中的實體在第一個query中參與召回,在第二個query中,優先順序最高的那個實體類型的詞會參與召回,其他的都不參與召回。
-
-
當query中沒有重要性高和中的實體時,query改寫不參照實體識別的結果;
-
當query只有重要性高或者只有重要性高和低的實體時,改寫後只會得到一個query。
樣本:
假設實體重要性設定為:
高:品類
中:品牌材質款式元素風格顏色
1.包含重要性高和中的實體:
query=default:'楊冪同款耐克修身連衣裙包郵'
實體識別的結果:楊冪(人名)同款(尾碼)耐克(品牌)修身(款式元素)連衣裙(品類)包郵(營銷服務)
改寫後的Query:
Query1:(default:'耐克' AND default:'修身' AND default:'連衣裙' RANK default:'楊冪' RANK default:'包郵' RANK default:'同款')
Query2:(default:'連衣裙' RANK default:'楊冪' RANK default:'耐克' RANK default:'包郵' RANK default:'同款' RANK default:'修身')
2.包含重要性高和低的實體:
query=default:'連衣裙包郵'
實體識別的結果:連衣裙(品類)包郵(營銷服務)
改寫後的Query:
Query1:(default:'連衣裙' RANK default:'包郵')
3.僅包含重要性高的實體:
query=default:'連衣裙'
實體識別的結果:連衣裙(品類)
改寫後的Query:
Query1:(default:'連衣裙')
4.包含重要性中和低的實體:
query=default:'耐克修身包郵'
實體識別的結果:耐克(品牌)修身(款式元素)包郵(營銷服務)
改寫後的Query:
Query1:(default:'耐克' AND default:'修身' RANK default:'包郵')
Query2:(default:'耐克' RANK default:'修身' RANK default:'包郵')
5.僅包含重要性低的實體:
query=default:'楊冪同款包郵'
實體識別的結果:楊冪(人名)同款(尾碼)包郵(營銷服務)
無根據實體識別改寫的query
與類目預測一起使用
Query中不同的實體對類目的影響是不一樣的,因此,當原query沒有類目預測的結果時,會根據一定的規則,去掉query中和類目意圖無關或者相關度低的詞後,進行類目預測。這對長尾query的類目預測會有很大的協助。保留的實體詞包括:
品類
人群
時間季節
款式種類
風格
樣本:
對於query 楊冪(人名)同款(尾碼)春季(時間季節)修身(款式元素)連衣裙(品類),丟詞後的query按照優先順序排序分別為:
春季修身連衣裙
春季連衣裙
修身連衣裙
連衣裙
系統會按照上述順序依次查詢類目預測的結果。
功能使用流程
1.OpenSearch控制台選擇左側導覽列中的“召回配置”下方對應的“查詢分析配置”,選擇對應的應用程式名稱和應用類型(線上/線下)點擊建立。
2.輸入“規則名稱”,選擇“索引範圍”,選擇“行業類型”為電商分詞,功能選擇選中“實體識別”,點擊“確定”:
實體類型重要性設定的預設分級為:高(品牌、品類),中(材質、款式元素、風格、顏色、功能功效、情境、人群、時間季節、型號、地點地區、人名、修飾、品類修飾詞),低(尺寸規格、品質成色、套裝、新品、系列、營銷服務、文娛書文曲、機構實體),各級實體類型支援自訂調整。註:在實體類型主要性設定中增刪實體類型,預設使用系統內建詞典,如果系統識別的實體存在badcase, 可以使用幹預詞典進行人為幹預。
3.規則建立完畢後,可以進行搜尋效果測試:
在查詢分析配置列表中,找到目標查詢分析規則,單擊其操作列中的搜尋測試。測試效果:在搜尋測試頁面,輸入查詢語句(如 query=title:'中國風夏季漢服真絲桑蠶絲改良版旗袍連衣裙'),選取查詢分析參數 qp 為 test_entity,單擊 搜尋。頁面底部 系統實際查詢詞 展示查詢經過實體識別後被拆分為多個 title 欄位 AND 條件,例如 (title:'中國' AND title:'風' AND title:'夏季' AND title:'漢服' AND title:'真絲' AND title:'桑' AND title:'蠶絲' AND title:'改良' AND title:'版' AND title:'旗袍' AND title:'連衣裙')。可單擊 查看查詢分析處理結果 查看詳細分析結果。查看查詢分析過程:在搜尋效果測試中,查詢分析處理結果彈窗展示改寫後的Query(布爾檢索運算式)、原始查詢詞及索引名稱,並以表格形式列出各功能的處理結果,包括歸一化、分詞、實體識別的具體輸出,以及拼字錯誤修正、停用詞、同義字、類目預測的配置入口。底部提供查詢分析有誤?前去幹預連結,可跳轉至幹預詞典進行修正。
4.調試無誤後,在查詢分析介面,切換到“索引視角”,找到目標查詢分析規則,單擊其操作列中的設為預設,將對應的自訂查詢分析設定為預設查詢分析。
5.設定預設自訂查詢分析後的介面效果:
該條目的查詢分析名稱前會自動添加 [預設] 標識,例如顯示為 [預設]test_entity。
實體識別幹預詞典
業務情境不同,某些詞的實體識別語義也是不同的,為了方便使用者使用,OpenSearch提供實體識別幹預詞典,供使用者自訂詞的語義,目前實體識別的幹預主要包括兩個:一是對實體識別結果本身的幹預,二是實體類型重要性的幹預。當實體識別的結果不準時,應該通過實體識別的幹預詞典的配置來進行幹預。通過建立實體識別幹預詞典,並在查詢分析中實體識別配置相應的幹預詞典,就可以幹預實體識別功能。具體實體識別幹預詞典配置及原理,請點擊此處。