企業(yè)網(wǎng)站安全建設(shè)方案上海搜索引擎優(yōu)化1
混合搜索定義
Hybrid search(混合搜索)是一種強大的信息檢索策略,它將兩種或多種搜索技術(shù)結(jié)合到一個搜索算法中。
通常,混合搜索結(jié)合了 keyword search(關(guān)鍵詞搜索)和 semantic search(語義搜索),并利用先進的機器學(xué)習(xí)技術(shù)。Semantic search 根據(jù)文本的含義來檢索結(jié)果,而 full-text search(全文搜索)則關(guān)注精確的詞語匹配?;旌纤阉鲗τ趯υ捠讲樵円约澳欠N “那個叫什么來著?” 的模糊查詢非常重要,在這種情況下用戶無法或不愿輸入精確的關(guān)鍵詞。
Keyword search 和 semantic search 各有優(yōu)勢。Keyword search 使用排序算法和特定術(shù)語來判斷文檔與查詢的相關(guān)性,semantic search 則會結(jié)合上下文來理解查詢內(nèi)容。
通過結(jié)合 semantic search 和傳統(tǒng)搜索的優(yōu)勢,混合搜索提升了搜索的精準(zhǔn)度。在兼顧語義理解和精確匹配的同時,混合搜索能夠提供更佳的用戶搜索體驗。
混合搜索的組成部分
混合搜索是關(guān)鍵字搜索、詞匯搜索或 BM25(一個用于確定相關(guān)性的排序算法)與語義搜索的組合。語義搜索關(guān)注的是你希望通過搜索實現(xiàn)什么目標(biāo),而向量搜索關(guān)注的是如何實現(xiàn)這些結(jié)果,主要是通過使用向量表示來檢索數(shù)據(jù)。
語義搜索
語義搜索專注于理解含義和上下文。這種搜索方式不再像 BM25 那樣僅僅匹配關(guān)鍵詞,而是試圖理解查詢詞背后的意圖。語義搜索彌合了人類查詢和實際含義之間的差距,能夠處理語言中的多樣性和模糊性。它利用自然語言處理(?natural language processing?- NLP )、機器學(xué)習(xí)、知識圖譜和向量來提供更符合用戶意圖的搜索結(jié)果,并融入上下文。
為了確定上下文,語義搜索可能會使用已知的用戶數(shù)據(jù)、位置或歷史搜索記錄來判斷相關(guān)結(jié)果。例如在美國搜索 “ football ”,與在世界其他地區(qū)搜索相同詞語所得到的結(jié)果會有所不同。語義搜索可以根據(jù)用戶的地理位置來識別其意圖。
向量搜索
向量搜索是一種技術(shù)性的搜索方法,它使用數(shù)值表示或向量來表示文本、圖像或音頻等內(nèi)容,并根據(jù)相似性來檢索數(shù)據(jù)。這些向量捕捉了這些內(nèi)容的潛在含義或特征。向量搜索通過衡量向量表示之間的相似性來檢索數(shù)據(jù)。
結(jié)合方法
語義搜索和向量搜索有很多共同點,事實上,語義搜索是由向量搜索驅(qū)動的。
當(dāng)發(fā)起查詢時,搜索引擎會將查詢轉(zhuǎn)換為向量嵌入。一個算法,如 kNN 算法(k-nearest neighbor 算法),會將現(xiàn)有文檔的向量與查詢向量進行匹配。然后,該算法根據(jù)概念相關(guān)性生成結(jié)果。
當(dāng)語義搜索和向量搜索協(xié)同工作時,平臺可以處理復(fù)雜查詢,包括多語言搜索和需要非結(jié)構(gòu)化數(shù)據(jù)的搜索。
混合搜索如何工作
混合搜索融合了關(guān)鍵詞搜索和向量搜索,以提供全面的搜索結(jié)果。向量嵌入將句子或照片等數(shù)據(jù)轉(zhuǎn)換為數(shù)字,這些數(shù)字捕捉其含義和關(guān)系。數(shù)據(jù)會被分詞、建立索引,并由數(shù)值嵌入表示。向量搜索可以捕捉非結(jié)構(gòu)化數(shù)據(jù)中的含義,克服關(guān)鍵詞搜索的局限 —— 即使用戶記不清準(zhǔn)確描述或精確關(guān)鍵詞,也能基于含義進行搜索。混合搜索可以解析密集和稀疏向量,以返回最相關(guān)的結(jié)果。
密集向量
密集向量處理語義理解和上下文查詢。它們在現(xiàn)代機器學(xué)習(xí)中廣泛使用,尤其是在生成嵌入等任務(wù)中。
稀疏向量
稀疏向量處理傳統(tǒng)的基于關(guān)鍵詞的索引,信息分布較稀疏。此類向量常用于大數(shù)據(jù)集。
查詢處理
混合搜索中的查詢處理利用稀疏向量進行精確關(guān)鍵詞匹配和優(yōu)先排序,利用密集向量進行語義理解,捕捉上下文含義和意圖。通過結(jié)合這兩種向量,混合搜索提供了兼具特異性和相關(guān)性的全面搜索結(jié)果。為了生成結(jié)果,混合搜索使用 RRF( reciprocal rank fusion )將多個結(jié)果集(每個都具有不同的相關(guān)性指標(biāo))合并為一個結(jié)果集。
混合搜索的優(yōu)勢
混合搜索利用不同搜索方法的結(jié)合優(yōu)勢,相較于傳統(tǒng)搜索,為用戶帶來更多好處。其主要優(yōu)勢是以更少的努力提供更準(zhǔn)確的搜索結(jié)果。
在各行各業(yè),內(nèi)部和外部的搜索算法都可以使用混合搜索來呈現(xiàn)相關(guān)結(jié)果。例如,電商平臺可以區(qū)分 “帶口袋的紅色連衣裙” 和 “第一次晚餐約會穿的紅色連衣裙,有放鑰匙和錢的空間” 這兩種搜索意圖。
另一個例子是在企業(yè)內(nèi)部福利文件中搜索 “dogs” 時,可能會返回 “辦公室寵物政策” 相關(guān)結(jié)果。雖然查詢中沒有出現(xiàn)這個具體詞,但這可能是用戶想要的答案。
總體而言,混合搜索因其對語言的靈活性而提升用戶搜索體驗。它通過平衡語義理解和精確查詢詞,提高搜索的精準(zhǔn)度。因此,可以高效處理對話式和復(fù)雜查詢,避免搜索死角和用戶挫敗感。
混合搜索與 RAG
檢索增強生成(Retrieval augmented generation?- RAG)是一種利用私有或?qū)S袛?shù)據(jù)源,為你的 LLM 原有知識庫補充上下文的搜索技術(shù)。RAG 對查詢非常有價值,因為它允許生成式 AI 系統(tǒng)利用外部信息源來生成更相關(guān)的回答。
結(jié)合混合搜索與 RAG —— 并引入額外的數(shù)據(jù)源 —— 能通過增加上下文,提高搜索體驗的相關(guān)性。額外的信息源可以是組織或客戶為回答查詢所需的任何內(nèi)容,從互聯(lián)網(wǎng)的新信息到專有或機密的業(yè)務(wù)文檔。
相比單獨運行的語言模型,RAG 有幾個優(yōu)勢:成本更低,計算和存儲需求更少,并確保模型可以訪問最新信息。
Elastic 的混合搜索
Elastic 通過開箱即用支持語義搜索,使得實現(xiàn)混合搜索變得簡單。使用 Elastic,混合搜索可以在同一平臺和同一 API 上進行,具備更快的速度和規(guī)模,同時從一開始就提供更好的相關(guān)性。
借助 Elastic 的 playground,開發(fā)者可以在低代碼界面中,用自己的私有數(shù)據(jù)探索所選 LLM 的基礎(chǔ)能力。
Elastic 通過新引入的查詢檢索器(query retrievers)?—— 標(biāo)準(zhǔn)查詢、kNN 和 RRF,幫助開發(fā)者簡化查詢構(gòu)建。利用這些查詢,Elastic 能理解所選數(shù)據(jù)并自動生成統(tǒng)一查詢。
混合搜索資源
-
親自動手體驗 Elasticsearch AI Playground
-
如何結(jié)合全文檢索和 kNN 結(jié)果
-
aNN 與 kNN:理解它們在向量搜索中的區(qū)別和作用
-
使用 Elasticsearch 和 Go 進行穴居動物獵捕的混合搜索
-
如何執(zhí)行語義文本混合搜索
-
什么是 RAG?
-
什么是語義搜索?