什么是矢量相似性搜索及其用途?
現(xiàn)代數(shù)據(jù)搜索是一個復雜的領域。矢量相似性搜索或VSS表示具有上下文深度的數(shù)據(jù),并向消費者返回更多相關信息以響應搜索查詢。讓我們舉一個簡單的例子。
像“數(shù)據(jù)科學”和“科幻小說”這樣的搜索查詢指的是不同類型的內(nèi)容,盡管它們都有一個共同的詞(“科學”)。傳統(tǒng)的搜索技術會匹配常用短語以返回相關結(jié)果,這在這種情況下是不準確的。矢量相似度搜索會考慮這些搜索查詢的實際搜索意圖和含義,以返回更準確的響應。
本文將討論矢量相似性搜索的各個方面,例如其組件、挑戰(zhàn)、優(yōu)勢和用例。讓我們開始。
什么是矢量相似性搜索 (VSS)?
矢量相似性搜索通過將大量結(jié)構化或非結(jié)構化數(shù)據(jù)轉(zhuǎn)換為稱為矢量或嵌入的數(shù)字表示形式,從大量結(jié)構化或非結(jié)構化數(shù)據(jù)中查找和檢索上下文相似的信息。
VSS可以管理多種數(shù)據(jù)格式,包括數(shù)字、分類、文本、圖像和視頻。它將數(shù)據(jù)語料庫中的每個對象轉(zhuǎn)換為與其相關格式對應的高維向量表示(在下一節(jié)中討論)。
最常見的是,VSS定位可比對象,例如相似的短語或段落,或在龐大的圖像檢索系統(tǒng)中查找相關圖像。亞馬遜、eBay 和 Spotify 等大型消費品公司使用這項技術為數(shù)百萬用戶改善搜索結(jié)果,即提供用戶最有可能購買、觀看或收聽的相關內(nèi)容。
矢量相似度搜索的三個主要組成部分
在我們了解向量相似性搜索的工作原理之前,讓我們先看看它的主要組成部分。實施有效的VSS方法主要包括三個基本組成部分:
- 矢量嵌入:嵌入以數(shù)學格式表示不同的數(shù)據(jù)類型,即有序數(shù)組或數(shù)字集。他們使用數(shù)學計算來識別數(shù)據(jù)中的模式。
- 距離或相似性度量:這些是計算兩個向量相似或密切相關程度的數(shù)學函數(shù)。
- 搜索算法:算法有助于找到與給定搜索查詢相似的向量。例如,K 最近鄰或 KNN 算法經(jīng)常用于支持VSS的搜索系統(tǒng),以確定數(shù)據(jù)集中與給定輸入查詢最相似的 K 個向量。
現(xiàn)在,讓我們討論這些組件如何在搜索系統(tǒng)中工作。
矢量相似性搜索如何工作?
實現(xiàn)向量相似性搜索的第一步是將數(shù)據(jù)語料庫中的對象表示或描述為向量嵌入。它使用不同的向量嵌入方法,例如GloVe、Word2vec和BERT,將對象映射到向量空間。
對于每種數(shù)據(jù)格式,如文本、音頻和視頻,VSS構建不同的嵌入模型,但此過程的最終結(jié)果是數(shù)字數(shù)組表示。
下一步是創(chuàng)建一個索引,可以使用這些數(shù)字表示將相似的對象排列在一起。像 KNN 這樣的算法是實現(xiàn)搜索相似性的基礎。然而,為了索引相似的術語,搜索系統(tǒng)使用現(xiàn)代方法,例如局部敏感哈希 (LSH)和近似最近鄰 (ANNOY)。
此外,VSS算法計算相似度或距離度量,例如歐氏距離、余弦相似度或 Jaccard 相似度,以比較數(shù)據(jù)集合中的所有矢量表示并返回相似內(nèi)容以響應用戶查詢。
矢量相似性搜索的主要挑戰(zhàn)和優(yōu)勢
總的來說,目的是找到數(shù)據(jù)對象之間的共同特征。然而,這個過程提出了幾個潛在的挑戰(zhàn)。
實施VSS的主要挑戰(zhàn)
- 不同的向量嵌入技術和相似性度量呈現(xiàn)不同的結(jié)果。為相似性搜索系統(tǒng)選擇合適的配置是主要挑戰(zhàn)。
- 對于大型數(shù)據(jù)集,VSS的計算成本很高,需要高性能 GPU 來創(chuàng)建大規(guī)模索引。
- 維度過多的向量可能無法準確表示數(shù)據(jù)的真實結(jié)構和聯(lián)系。因此,矢量嵌入過程必須是無損的,這是一個挑戰(zhàn)。
目前,VSS技術正在不斷發(fā)展完善中。但是,它仍然可以為公司或產(chǎn)品的搜索體驗帶來很多好處。
VSS的好處
- VSS允許搜索系統(tǒng)在不同的數(shù)據(jù)類型上以極快的速度定位相似的對象。
- VSS確保有效的內(nèi)存管理,因為它將所有數(shù)據(jù)對象轉(zhuǎn)換為機器可以輕松處理的數(shù)字嵌入。
- VSS可以根據(jù)系統(tǒng)可能未遇到過的消費者新搜索查詢對對象進行分類。
- VSS是處理不良和不完整數(shù)據(jù)的絕佳方法,因為它可以找到上下文相似的對象,即使它們不是完美匹配。
- 最重要的是,它可以大規(guī)模檢測和聚類相關對象(可變數(shù)據(jù)量)。
矢量相似度搜索的主要業(yè)務用例
在商業(yè)業(yè)務中,VSS技術可以徹底改變廣泛的行業(yè)和應用。其中一些用例包括:
- 問答:向量相似度搜索可以在問答論壇中找到幾乎相同的相關問題,從而為最終用戶提供更準確、更中肯的回答。
- 語義網(wǎng)絡搜索:向量相似性搜索可以根據(jù)向量表示的“接近度”來定位相關文檔或網(wǎng)頁。它旨在提高網(wǎng)絡搜索結(jié)果的相關性。
- 產(chǎn)品推薦:向量相似度搜索可以根據(jù)消費者的瀏覽或搜索歷史進行個性化的產(chǎn)品推薦。
- 更好的醫(yī)療保健服務:醫(yī)療保健研究人員和從業(yè)者利用向量相似性搜索通過分析相關醫(yī)學研究的向量表示來優(yōu)化臨床試驗。
如今,使用基于 SQL 的傳統(tǒng)技術來管理、分析和搜索數(shù)據(jù)已不再可行?;ヂ?lián)網(wǎng)消費者在網(wǎng)絡上提出復雜的查詢——對人類來說看似簡單,但對機器(搜索引擎)來說解釋起來卻異常復雜。機器以機器可理解的格式破譯不同形式的數(shù)據(jù)是一項長期挑戰(zhàn)。
矢量相似性搜索使搜索系統(tǒng)可以更好地理解商業(yè)信息的上下文。