特邀嘉賓:
項招貴(項公)--阿裡巴巴進階技術專家
視訊位址:
https://yqh.aliyun.com/live/opensearch查詢分析介紹
查詢分析在搜尋中的作用
在搜尋請求的處理過程中可以在工程實作上分為兩個階段,召回和排序。在召回階段需要盡可能的把使用者想要的文檔在引擎中找到,在排序階段需要将最滿足需求的文檔排在最前面去傳回給使用者。
通過查詢分析可以快速進行處理和分析,比如,往往在實際的生産環境中,使用者往往會有一些錯誤的輸入,需要進行query糾錯。 其次我們需要對query分詞并且識别其中不同詞的重要程度,這有助于我們在召回和排序中去使用。 同時由于實際的環境中存在一詞多意,是以要進行同義詞的擴充。 其次需要對使用者的query進行改寫去幫助引擎更高效的去執行召回。在query處理的階段,會輸出一些資訊去以幫助我們在排序時候跟文檔去算一些文檔的相關性、類目相關性、以及通過一些将文本進行向量化去算它的語義相關性等。
查詢分析鍊路
總的來說,查詢分析的作用就是對使用者輸入的query進行分析和改寫,去提升我們系統的召回的準确率和排序的相關性。 下面通過簡單的例子介紹開放搜尋的查詢分析的功能。
自建搜尋服務面臨的問題
- 需要行業領域知識不斷積累;
- 缺少大量行業樣本資料,自研難度大;
- 算法調優、工程開發、日常運維需要持續的人力投入;
開放搜尋查詢分析特點
- 面向行業提供完整的查詢分析解決方案
針對特定領域提供算法功能,以及對某些特定的算法功能進行優化。例如,電商行業,開放搜尋提供了實體識别。教育行業,往往不僅是文本,也有可能是副文本或圖檔,是以對query進行了一個文本向量化的功能。有些功能在不同的行業裡面我們也會針對性的去做優化,像拼寫糾錯或同義詞的挖掘等等。
- 查詢分析每一個功能均可幹預
幹預是實時生效的, 包含實體識别、拼寫糾錯、停用詞、詞權重,同義詞,類目預測等。
- 輕量化的去定制服務
根據客戶不同的業務場景去配置他的查詢分析的能力,開放搜尋提供這些能力功能的全集,使用者可以根據實際需求選擇其中一部分能力在實際生産環境中使用。 其次支援使用者使用多種不同類型的查詢分析,或者說是不同的查詢分析的配置。
- 免運維
免除使用者日常的運維的持續的投入。
查詢分析服務架構
算法服務中心
- 算法功能的釋出,疊代;
- 使用者模型的增删改查;
- 算法模型的訓練;
- 算法模型的回流;
幹預功能
- 使用者幹預資料的增删改查;
- 實時同步幹預資料到查詢分析服務中;
查詢分析和類目預測服務
- 加載詞典、模型、資料、配置;
- 不同行業通過不同的服務鍊配置來實作;
- 加載使用者幹預資料;
查詢過程
- 根據使用者配置的功能執行對應的查詢分析鍊;
- 改寫的query發給引擎執行查詢;
DIIRuntime架構
- 支援多種不同類型的索引,滿足算法對各種不同類型資料的高效通路;
- 索引建構、分發、加載、查詢統一,降低開發和運維成本;
- 鍊式服務架構,靈活組鍊,支援不同場景的功能;
- 算法開發隻需要關注算法功能本身邏輯的實作,簡單快捷;
Elasticsearch相容架構
開放搜尋Elasticsearch引擎查詢分析功能
- 基本對齊開放搜尋的查詢分析能力;
- 具備行業分詞能力
-
- 可幹預
- 支援擴充分詞
- 具備行業查詢分析能力
-
- 可配置
實作架構
1.建立執行個體
- 建立開放搜尋執行個體,關聯Aliyun Elasticsearch的執行個體
- 安裝插件
2.配置查詢分析
- Mapping中設定使用響應的分析器
- 插件功能
-
- 提供通用、行業的分詞能力
- 通路查詢分析服務,擷取query改寫結果
- 改寫Elasticsearch的查詢query
>>如果有搜尋效果深度優化需求,可以填寫專家咨詢問卷,參與試用即可免費獲得開放搜尋通用分詞能力。問卷位址:
https://c.tb.cn/F3.05Srxl如果你想與更多開發者們進行交流、了解最前沿的搜尋與推薦技術,可以釘釘掃碼加入社群