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