????????之前寫過一篇文章,是我個人到目前階段的認知,所做的判斷。我個人是做萬億級數據的搜索優化工作的。一直在關注任何和搜索相關的內容。
下一代搜索引擎會什么?-CSDN博客
? ? ? ? 這篇文章再來講講為什么要使用向量搜索。
在閱讀這篇文章之前呢,最好已經知道向量檢索是怎么回事。如果還不知道,可以學習這篇文章。
什么是向量數據庫
向量數據庫的真相
?
大幅提升搜索相關性
????????如果你在絞盡腦汁,做搜索內容相關性提升,搜索召回質量提升,以及排序優化的。那么一定要關注一下向量搜索了。因為向量搜索在很大概率上大幅度的為你帶來效果提升。如果說的沒錯的話,你之前一直在提升BM25的相關性。不得不承認,在關鍵詞命中匹配方面。BM25仍然還具有它的優勢。并且不是向量搜索能替代的。到目前為止,BM25和向量檢索所結合,才是相關性提升的最佳實踐。
? ? ? ? 問為什么能大幅度提升搜索相關性?
? ? ? ? 因為向量檢索,得益于機器學習的進步,得益于深度學習的進步。利用深度學習NLP模型,去捕獲上下文的相關性。將數據映射在更高維度的網絡空間。而并非是單純的關鍵詞匹配。
? ? ? ? 如果你還不知道什么是機器學習,已為你準備了這些文章
什么是機器學習
?
什么是大語言模型
什么是向量嵌入
跨模態搜索能力
? ? ? ? 如果你想實現多模態搜索,以圖搜圖,以文搜索圖,一圖搜文,甚至是通過聲音搜索。如果苦于找不到合適的方案,或者效果不好。都可以使用向量檢索來實現。同樣這項能力,本質上也是依賴深度學習和機器學習的進步,能夠提供多模態大模型,例如CLIP等等。
讓搜索變得更簡單
? ? ? ? 在很早很早以前,做搜索還是很復雜的事情。但是隨著技術的進步,到了今天,各種問題都已迎刃而解了。例如:搜索意圖識別、query改寫、同義詞擴展、等等用來提升提升搜索相關性的復雜性問題。都能在大模型中,在向量檢索中得到很好的解決。隨之而來的是新的問題,如何提升模型的空間映射效果、如何embedding的速度、到目前為止,GPU性能還是一個很大的問題。不過不久的將來,隨著硬件技術的進步,這些也不會是問題了。
語義檢索能力
? ? ? ? 在這之前,最好能夠先知道什么是語義檢索。關于語義檢索,可以學習這篇文章。https://elasticstack.blog.csdn.net/article/details/134806320
? ? ? ? 不同于BM25算法。BM25是純粹的利用關鍵詞匹配技術,利用詞頻和逆文檔率來計算相關性。假如你搜索的關鍵詞,在數據中并未出現,則一定不會被搜索到。而向量檢索,是依賴大模型的,做的事KNN最鄰近搜索。總會給你一個最相關,最相近的答案。在模型中,能夠更好的理解query的意圖。而這一切在技術實現上,又并不復雜。
? ? ? ? 想要用文本搜索圖片,原本一定是要獲取圖片的表示內容的,傳統的做法是將圖片專為標簽。但是標簽總是有限的,會讓圖片損大量的有效信息,所以導致最終檢索的效果并不好,召回效果不好。