為什么要用向量檢索

????????之前寫過一篇文章,是我個人到目前階段的認知,所做的判斷。我個人是做萬億級數據的搜索優化工作的。一直在關注任何和搜索相關的內容。

下一代搜索引擎會什么?-CSDN博客

? ? ? ? 這篇文章再來講講為什么要使用向量搜索。

在閱讀這篇文章之前呢,最好已經知道向量檢索是怎么回事。如果還不知道,可以學習這篇文章。

什么是向量數據庫

向量數據庫的真相


?

大幅提升搜索相關性

????????如果你在絞盡腦汁,做搜索內容相關性提升,搜索召回質量提升,以及排序優化的。那么一定要關注一下向量搜索了。因為向量搜索在很大概率上大幅度的為你帶來效果提升。如果說的沒錯的話,你之前一直在提升BM25的相關性。不得不承認,在關鍵詞命中匹配方面。BM25仍然還具有它的優勢。并且不是向量搜索能替代的。到目前為止,BM25和向量檢索所結合,才是相關性提升的最佳實踐。

? ? ? ? 問為什么能大幅度提升搜索相關性

? ? ? ? 因為向量檢索,得益于機器學習的進步,得益于深度學習的進步。利用深度學習NLP模型,去捕獲上下文的相關性。將數據映射在更高維度的網絡空間。而并非是單純的關鍵詞匹配。

? ? ? ? 如果你還不知道什么是機器學習,已為你準備了這些文章

什么是機器學習
?

什么是大語言模型


什么是向量嵌入

跨模態搜索能力

? ? ? ? 如果你想實現多模態搜索,以圖搜圖,以文搜索圖,一圖搜文,甚至是通過聲音搜索。如果苦于找不到合適的方案,或者效果不好。都可以使用向量檢索來實現。同樣這項能力,本質上也是依賴深度學習和機器學習的進步,能夠提供多模態大模型,例如CLIP等等。

讓搜索變得更簡單

? ? ? ? 在很早很早以前,做搜索還是很復雜的事情。但是隨著技術的進步,到了今天,各種問題都已迎刃而解了。例如:搜索意圖識別、query改寫、同義詞擴展、等等用來提升提升搜索相關性的復雜性問題。都能在大模型中,在向量檢索中得到很好的解決。隨之而來的是新的問題,如何提升模型的空間映射效果、如何embedding的速度、到目前為止,GPU性能還是一個很大的問題。不過不久的將來,隨著硬件技術的進步,這些也不會是問題了。

語義檢索能力

? ? ? ? 在這之前,最好能夠先知道什么是語義檢索。關于語義檢索,可以學習這篇文章。https://elasticstack.blog.csdn.net/article/details/134806320

? ? ? ? 不同于BM25算法。BM25是純粹的利用關鍵詞匹配技術,利用詞頻和逆文檔率來計算相關性。假如你搜索的關鍵詞,在數據中并未出現,則一定不會被搜索到。而向量檢索,是依賴大模型的,做的事KNN最鄰近搜索。總會給你一個最相關,最相近的答案。在模型中,能夠更好的理解query的意圖。而這一切在技術實現上,又并不復雜。

? ? ? ? 想要用文本搜索圖片,原本一定是要獲取圖片的表示內容的,傳統的做法是將圖片專為標簽。但是標簽總是有限的,會讓圖片損大量的有效信息,所以導致最終檢索的效果并不好,召回效果不好。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211433.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211433.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211433.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網絡安全】網絡設備可能面臨哪些攻擊?

網絡設備通常是網絡基礎設施的核心,并控制著整個網絡的通信和安全,同樣面臨著各種各樣的攻擊威脅。 對網絡設備的攻擊一旦成功,并進行暴力破壞,將會導致網絡服務不可用,且可以對網絡流量進行控制,利用被攻陷…

【JavaEE】線程池

作者主頁:paper jie_博客 本文作者:大家好,我是paper jie,感謝你閱讀本文,歡迎一建三連哦。 本文于《JavaEE》專欄,本專欄是針對于大學生,編程小白精心打造的。筆者用重金(時間和精力)打造&…

springcloud分布式事務

文章目錄 一.為什么引入分布式事務?二.理論基礎1.CAP定理2.BASE理論 三.Seata1.微服務集成Seata2.XA模式(掌握)3.AT模式(重點)4.TCC模式(重點)5.Saga模式(了解) 四.四種模式對比五.Seata高可用 一.為什么引入分布式事務? 事務的ACID原則 在大型的微服務項目中,每一個微服務都…

案例課4——智齒客服

1.公司介紹 智齒科技,一體化客戶聯絡中心解決方案提供商。提供基于「客戶聯絡中心」場景的一體化解決方案,包括公域私域、營銷服務、軟件BPO的三維一體化。 智齒科技不斷整合前沿的人工智能及大數據技術,已構建形成呼叫中心、機器人「在線語音…

Python中函數的遞歸調用

函數調用自己的編程方式被稱為函數的遞歸調用。遞歸通常能夠將一個大型的復雜問題的遞歸條件,一層一層的回溯到終止條件,然后再根據終止條件的運算結果,一層一層的遞進運算到滿足全部的遞歸條件。它能夠使用少量程序描述出解題過程中的重復運…

主機訪問Android模擬器網絡服務方法

0x00 背景 因為公司的一個手機app的開發需求,要嘗試鏈接手機開啟的web服務。于是在Android Studio的Android模擬器上嘗試連接,發現谷歌給模擬器做了網絡限制,不能直接連接。當然這個限制似乎從很久以前就存在了。一直沒有注意到。 0x01 And…

分銷電商結算設計

概述 分銷電商中涉及支付與結算;支付職責是收錢,結算則是出錢給各利益方; 結算核心圍繞業務模式涉及哪些費用,以及這些費用什么時候通過什么出資渠道,由誰給到收方利益方; 結算要素組成費用項結算周期出…

區塊鏈的可拓展性研究【03】擴容整理

為什么擴容:在layer1上,交易速度慢,燃料價格高 擴容的目的:在保證去中心化和安全性的前提下,提升交易速度,更快確定交易,提升交易吞吐量(提升每秒交易量) 目前方案有&…

詳解進程管理(銀行家算法、死鎖詳解)

處理機是計算機系統的核心資源。操作系統的功能之一就是處理機管理。隨著計算機的迅速發展,處理機管理顯得更為重要,這主要由于計算機的速度越來越快,處理機的充分利用有利于系統效率的大大提高;處理機管理是整個操作系統的重心所…

前后端聯調神器《OpenAPI-Codegen》

在后端開發完接口之后,前端如果再去寫一遍接口來聯調的話,會很浪費時間,這個時候使用OpenAPI接口文檔來生成Axios接口代碼的話,會大大提高我們的開發效率。 Axios引入 Axios是一個基于Promise的HTTP客戶端,用于瀏覽器…

Go壓測工具

前言 在做Go的性能分析調研的時候也使用到了一些壓測方面的工具,go本身也給我們提供了BenchMark性能測試用例,可以很好的去測試我們的單個程序性能,比如測試某個函數,另外還有第三方包go-wrk也可以幫助我們做http接口的性能壓測&…

C# 任務并行類庫Parallel調用示例

寫在前面 Task Parallel Library 是微軟.NET框架基礎類庫(BCL)中的一個,主要目的是為了簡化并行編程,可以實現在不同的處理器上并行處理不同任務,以提升運行效率。Parallel常用的方法有For/ForEach/Invoke三個靜態方法…

Element-UI定制化Tree 樹形控件

1.復制 說明&#xff1a;復制Tree樹形控件。 <script> export default {data() {return {data: [{label: 一級 1,children: [{label: 二級 1-1,children: [{label: 三級 1-1-1}]}]}, {label: 一級 2,children: [{label: 二級 2-1,children: [{label: 三級 2-1-1}]}, {l…

Linux:進程優先級與命令行參數

目錄 1.進程優先級 1.1 基本概念 1.2 查看系統進程 1.3 修改進程優先級的命令 2.進程間切換 2.1 相關概念 2.2 Linux2.6內核進程調度隊列&#xff08;了解即可&#xff09; 3.命令行參數 1.進程優先級 1.1 基本概念 cpu資源分配的先后順序&#xff0c;就是指進程的優…

【C++】在類外部定義成員函數時,不應該再次指定默認參數值

2023年12月10日&#xff0c;周日下午 錯誤的代碼 #include<iostream>class A { public:void fun(int a10); };void A::fun(int a10) //<----在這里報錯 {}int main() {} 正確的代碼 代碼目前有一個問題&#xff0c;主要是在類外部定義成員函數時&#xff0c;不應該…

解密QQ號——C語言

題目&#xff1a; 有一串已加密的數字“6 3 1 7 5 8 9 2 4”解密規則&#xff1a;首先將第1個數字刪除&#xff0c;緊接著將第2個數字放到這串數字的末尾&#xff0c;再將第3個數字刪除并將第4個數字放到這串數字的末尾&#xff0c;再將第5個數刪除 代碼實現&#xff1a; #inc…

利用Node.js和cpolar實現遠程訪問,無需公網IP和路由器設置的完美解決方案

文章目錄 前言1.安裝Node.js環境2.創建node.js服務3. 訪問node.js 服務4.內網穿透4.1 安裝配置cpolar內網穿透4.2 創建隧道映射本地端口 5.固定公網地址 前言 Node.js 是能夠在服務器端運行 JavaScript 的開放源代碼、跨平臺運行環境。Node.js 由 OpenJS Foundation&#xff0…

ESP32網絡編程-OTA方式升級固件(基于Web瀏覽器)

OTA方式升級固件(基于Web瀏覽器) 文章目錄 OTA方式升級固件(基于Web瀏覽器)1、ESP32的OTA介紹2、OTA升級固件方式3、軟件準備4、硬件準備5、代碼實現6、一種優雅方式實現Web方式OTA升級6.1 基礎OTA代碼6.2 新固件庫代碼在前面的文章中,我們在Arduino IDE的網絡端口中,實現…

LeetCode 77.組合

題目&#xff1a; 給定兩個整數 n 和 k&#xff0c;返回范圍 [1, n] 中所有可能的 k 個數的組合。 你可以按 任何順序 返回答案。 方法&#xff1a;靈神-組合型回溯 剪枝 class Solution {private int k;private final List<Integer> path new ArrayList<>();…

反序列化 [網鼎杯 2020 朱雀組]phpweb 1

打開題目 我們發現這個頁面一直在不斷的刷新 我們bp抓包一下看看 我們發現index.php用post方式傳了兩個參數上去&#xff0c;func和p 我們需要猜測func和p兩個參數之間的關系&#xff0c;可以用php函數MD5測一下看看 我們在響應處得到了一串密文&#xff0c;md5解密一下看看 發…