【新功能】开放搜索多路召回技术解读
背景
所謂的“多路召回”就是指采用不同的策略、特征或者簡單模型,分別召回一部分候選集,然后再把這些候選集混合在一起后供后續排序模型使用的策略。
阿里云開放搜索(OpenSearch)是基于阿里巴巴自主研發的大規模分布式搜索引擎搭建的一站式智能搜索業務開發平臺,目前為包括淘寶、天貓在內的阿里集團核心業務提供搜索服務支持。目前開放搜索提供文本檢索,通過對文本query進行分詞加上一些查詢分析處理,對query進行改寫后再查詢引擎,大大提高了搜索的效果。但是對于一些對搜索效果要求較高的場景,例如:教育搜題場景,教育拍照搜題相比傳統的網頁或者電商的搜索存在明顯的差異,第一點是搜索的Query特別長,第二點是搜索的Query由拍照OCR識別之后得到的文本,其中關鍵TERM識別錯誤的話,就會嚴重影響召回排序。針對這些問題的解決方法,一種方案是繼續優化QP,增強QP對文本處理的能力。另一種方案是引入向量召回,通過計算向量空間的距離來召回文檔,作為對文本召回的一種補充。
功能價值
在長Query、長尾Query、Query不規范等場景時,如果基于文本檢索出現召回不準確、結果不足等問題,補充向量召回可以有效地提高召回文本的效果,同時也可以提供擴召回的能力。
開放搜索提供多路召回的算法工程能力,賦予不同行業的用戶定制不同的多路召回功能需求,并且已經產品化,在多個行業的用戶中實踐應用。其優點有以下幾個方面:
1、提供靈活的算法能力,支持根據不同行業的特點對文本向量化進行技術優化,兼顧效果和性能;
2、支持cava腳本,提供更加靈活的定制排序算分能力;
3、支持帶模型的分析器和不帶模型的分析器,分別對無算法能力的用戶和有算法能力的用戶提供向量召回功能;
4、對比開源產品,開放搜索搜索準確性和搜索延遲優勢更加明顯,搜索延遲從開源秒級降到幾十ms。
多路召回架構圖
多路查詢
開放搜索(OpenSearch)支持多路查詢功能。配置好查詢策略,可以同時查詢文本Query和向量Query。當然也支持只查詢文本Query或只查詢向量Query。如果配置了文本向量化功能,則文本查詢的時候開放搜索會對文本向量化,生成向量Query,兩路結果召回后排序。
向量分析器
開放搜索(OpenSearch)支持多種類型的向量分析器,主要是行業通用向量分析器、行業定制向量分析器、以及通用的向量分析器(向量-64維、128維、256維通用)。其中通用的向量分析器需要用戶自行將數據轉化為向量,并以DOUBLE_ARRAY類型存儲,這適用于算法能力較強的客戶使用。
查詢分析
賦予算法同學對不同行業的向量模型進行定制,根據以教育行業為例,
其中針對教育搜題做的特別優化有:
- BERT模型采用達摩院自研的StructBERT,并針對教育行業定制模型
- 向量檢索引擎采用達摩院自研的proxima引擎,準確性和運行速度遠超開源系統
- 訓練數據可以基于客戶的搜索日志不斷積累,效果持續提升
- 改寫出語義向量query, RANK上文本term, 只參與算分不參與召回,提升召回的top文本質量。
排序定制
開放搜索(OpenSearch)開放了兩階段排序:基礎排序和業務排序,即粗排和精排。其中,精排支持cava腳本,更靈活地支持用戶的排序需求。
多路召回流程中開放搜索最終會進行統一排序,目前支持內部排序和精排模型打分排序。內部排序直接根據多路召回的結果按照返回的分數從高到低排序。精排模型打分需要用戶提供模型信息,對多路召回的結果根據模型打分排序。
多路召回實踐案例
電商/零售搜索
社區論壇搜索
對比接入前后top title的不同效果
如有產品指導需求,可填寫問卷獲得專家指導>>https://survey.aliyun.com/apps/zhiliao/lKD_J8cRj
如果你想與更多開發者們進行交流、了解最前沿的搜索與推薦技術,可以釘釘掃碼加入社群
原文鏈接:https://developer.aliyun.com/article/788235?
版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。總結
以上是生活随笔為你收集整理的【新功能】开放搜索多路召回技术解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云IoT Studio升级版新增解决
- 下一篇: 一图看懂钉钉宜搭线上发布会