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