本發(fā)明涉及圖算法搜索,尤其是涉及一種基于劃分的多區(qū)穿越向量近似檢索方法和系統(tǒng)。
背景技術(shù):
1、給定數(shù)據(jù)集表示包含n個(gè)向量的數(shù)據(jù)集,其中vi表示其中一個(gè)在歐幾里得空間下的d維向量。任意兩個(gè)向量p和q之間的距離可以用δ(p,q)來表示。本研究的問題定義為給定查詢q,在一定允許的誤差范圍內(nèi),返回最接近q的k個(gè)向量集合。
2、針對低延時(shí)高精度的業(yè)務(wù)場景,現(xiàn)有系統(tǒng)通常采用基于近似近鄰圖(proximitygraph,pg)的方案。即在數(shù)據(jù)集上構(gòu)建一張單一的大的近似近鄰圖,使用結(jié)點(diǎn)表示數(shù)據(jù)集中的一個(gè)向量,并使用連邊表示向量之間存在近鄰關(guān)系。當(dāng)給定查詢的時(shí)候,系統(tǒng)使用貪心束搜索的策略,即:算法從圖上某個(gè)點(diǎn)出發(fā),維護(hù)一個(gè)長度受限的候選集,并不斷朝離查詢向量更近的鄰居結(jié)點(diǎn)擴(kuò)展,直到候選集中沒有離查詢向量更近的向量了。這一過程如圖1所示,其中數(shù)據(jù)集圖a中是定義在上的向量數(shù)據(jù)集,表示查詢向量,平行四邊形表示搜索過程中離查詢較近的區(qū)域?,F(xiàn)有的方案如圖b所示構(gòu)建一張單一的大的近似近鄰圖。搜索從v1出發(fā),并不斷朝貪心逼近。
3、隨著大模型以及檢索增強(qiáng)生成技術(shù)的蓬勃發(fā)展,向量近似搜索在大模型、推薦系統(tǒng)、信息檢索領(lǐng)域都有越來越廣泛的應(yīng)用價(jià)值。為了應(yīng)對各種業(yè)務(wù)場景越來越高的端到端時(shí)延和精度需求,迫切需要為減少無效搜索為不同的圖算法提供統(tǒng)一的優(yōu)化。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在導(dǎo)致許多不必要的擴(kuò)展的缺陷而提供一種減少無效搜索并為不同的圖算法提供統(tǒng)一的優(yōu)化的基于劃分的多區(qū)穿越向量近似檢索方法和系統(tǒng)。
2、本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
3、一種基于劃分的多區(qū)穿越向量近似檢索方法,包括以下步驟:
4、獲取待搜索的數(shù)據(jù)集,對數(shù)據(jù)集以采樣比λ采樣一部分向量作為路由向量,對數(shù)據(jù)集中未被采樣的向量隨機(jī)劃分為m個(gè)分區(qū),將路由向量作為各個(gè)分區(qū)的共享向量;對m個(gè)分區(qū)分別構(gòu)建稀疏近似近鄰圖;
5、接收查詢信息,以第一候選集隊(duì)列長度進(jìn)行第一階段搜索,逼近到查詢信息附近的區(qū)域;
6、在逼近的區(qū)域中以第二候選集隊(duì)列長度進(jìn)行第二階段搜索,若搜索過程中擴(kuò)展到路由向量,則將該路由向量在所有分區(qū)中的副本加入到候選集隊(duì)列中,進(jìn)行跨分區(qū)的動(dòng)態(tài)搜索,最終得到搜索結(jié)果;所述第二候選集隊(duì)列長度大于第一候選集隊(duì)列長度。
7、進(jìn)一步地,所述第一階段搜索僅針對一個(gè)稀疏近似近鄰圖進(jìn)行搜索。
8、進(jìn)一步地,所述稀疏近似近鄰圖的更新操作包括向量插入和向量刪除;
9、所述向量插入具體包括:將待插入的向量隨機(jī)插入到m個(gè)稀疏近似近鄰圖中,采用所述采樣比λ所確定的概率判斷待插入的向量是否被選作路由向量,若被選作路由向量,則將該向量插入各個(gè)稀疏近似近鄰圖中。
10、進(jìn)一步地,所述向量刪除具體包括:對每個(gè)包含待刪除向量的稀疏近似近鄰圖執(zhí)行向量刪除操作;若待刪除向量為路由向量,則從各個(gè)稀疏近似近鄰圖中刪除該路由向量。
11、進(jìn)一步地,所述方法用于向量查詢驅(qū)動(dòng)的ai應(yīng)用場景、推薦系統(tǒng)、電子商務(wù)、計(jì)算機(jī)視覺、信息檢索或金融風(fēng)險(xiǎn)管理領(lǐng)域。
12、本發(fā)明還提供一種基于劃分的多區(qū)穿越向量近似檢索系統(tǒng),包括:
13、隨機(jī)劃分框架構(gòu)建模塊,用于獲取待搜索的數(shù)據(jù)集,對數(shù)據(jù)集以采樣比λ采樣一部分向量作為路由向量,對數(shù)據(jù)集中未被采樣的向量隨機(jī)劃分為m個(gè)分區(qū),將路由向量作為各個(gè)分區(qū)的共享向量;對m個(gè)分區(qū)分別構(gòu)建稀疏近似近鄰圖;
14、第一階段搜索模塊,用于接收查詢信息,以第一候選集隊(duì)列長度進(jìn)行第一階段搜索,逼近到查詢信息附近的區(qū)域;
15、第二階段搜索模塊,用于在逼近的區(qū)域中以第二候選集隊(duì)列長度進(jìn)行第二階段搜索,若搜索過程中擴(kuò)展到路由向量,則將該路由向量在所有分區(qū)中的副本加入到候選集隊(duì)列中,進(jìn)行跨分區(qū)的動(dòng)態(tài)搜索,最終得到搜索結(jié)果;所述第二候選集隊(duì)列長度大于第一候選集隊(duì)列長度。
16、進(jìn)一步地,所述第一階段搜索模塊僅針對一個(gè)稀疏近似近鄰圖進(jìn)行搜索。
17、進(jìn)一步地,所述隨機(jī)劃分框架構(gòu)建模塊中,稀疏近似近鄰圖的更新操作包括向量插入和向量刪除;
18、所述向量插入具體包括:將待插入的向量隨機(jī)插入到m個(gè)稀疏近似近鄰圖中,采用所述采樣比λ所確定的概率判斷待插入的向量是否被選作路由向量,若被選作路由向量,則將該向量插入各個(gè)稀疏近似近鄰圖中。
19、進(jìn)一步地,所述向量刪除具體包括:對每個(gè)包含待刪除向量的稀疏近似近鄰圖執(zhí)行向量刪除操作;若待刪除向量為路由向量,則從各個(gè)稀疏近似近鄰圖中刪除該路由向量。
20、進(jìn)一步地,所述系統(tǒng)用于向量查詢驅(qū)動(dòng)的ai應(yīng)用場景、推薦系統(tǒng)、電子商務(wù)、計(jì)算機(jī)視覺、信息檢索或金融風(fēng)險(xiǎn)管理領(lǐng)域。
21、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
22、(1)為了減少圖搜索過程中一些無意義的擴(kuò)展計(jì)算,進(jìn)一步提升圖搜索的查詢性能,本發(fā)明提出了一種通用的框架:穿越近似緊鄰圖(crossing?sparse?proxi?mitygraph,cspg),該框架通過隨機(jī)劃分?jǐn)?shù)據(jù)集以及維護(hù)一個(gè)路由向量集合的方式提供了一種簡單高效的模式來優(yōu)化現(xiàn)有的主流圖索引算法,由于劃分后的子數(shù)據(jù)集比原數(shù)據(jù)集更小、更稀疏,因此構(gòu)建的稀疏近似近鄰圖也比構(gòu)建在整個(gè)數(shù)據(jù)集上的近似緊鄰圖要更加稀疏,因此允許在搜索過程中采用更長的補(bǔ)償來更快地逼近查詢向量。
23、由于其具有的高度靈活性,該框架可以被嵌入到幾乎所有的現(xiàn)有的最好的圖索引算法中去。
24、(2)針對跨分區(qū)的多分區(qū)視圖,本發(fā)明在cspg上設(shè)計(jì)了高效的兩階段搜索策略,包括了快速逼近階段和跨分區(qū)精細(xì)搜索階段,在快速逼近階段中,cspg搜索算法能夠采用更少的擴(kuò)展和更大的補(bǔ)償快速逼近查詢附近的區(qū)域;在跨分區(qū)精細(xì)搜索階段,若擴(kuò)展到路由向量,那么它位于所有分區(qū)中的副本都會(huì)被加入到候選集隊(duì)列中。這樣的操作使得搜索過程動(dòng)態(tài)地在不同地分區(qū)之間來回穿越,最大化了向量的搜索空間,同時(shí)使得搜索過程中得到的結(jié)果取之于不同的稀疏近似近鄰圖,因此最大化了查詢附近的搜索精細(xì)程度,整體上大幅提升了查詢效率。
25、(3)對本發(fā)明的方法,在最為廣泛使用的公開數(shù)據(jù)集以及最具有代表性的主流圖索引上進(jìn)行了一系列實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果顯示cspg在維持相同的查詢精度下,能夠有效減少無意義的圖搜索擴(kuò)展,加速了查詢過程。
1.一種基于劃分的多區(qū)穿越向量近似檢索方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于劃分的多區(qū)穿越向量近似檢索方法,其特征在于,所述第一階段搜索僅針對一個(gè)稀疏近似近鄰圖進(jìn)行搜索。
3.根據(jù)權(quán)利要求1所述的一種基于劃分的多區(qū)穿越向量近似檢索方法,其特征在于,所述稀疏近似近鄰圖的更新操作包括向量插入和向量刪除;
4.根據(jù)權(quán)利要求3所述的一種基于劃分的多區(qū)穿越向量近似檢索方法,其特征在于,所述向量刪除具體包括:對每個(gè)包含待刪除向量的稀疏近似近鄰圖執(zhí)行向量刪除操作;若待刪除向量為路由向量,則從各個(gè)稀疏近似近鄰圖中刪除該路由向量。
5.根據(jù)權(quán)利要求1所述的一種基于劃分的多區(qū)穿越向量近似檢索方法,其特征在于,所述方法用于向量查詢驅(qū)動(dòng)的ai應(yīng)用場景、推薦系統(tǒng)、電子商務(wù)、計(jì)算機(jī)視覺、信息檢索或金融風(fēng)險(xiǎn)管理領(lǐng)域。
6.一種基于劃分的多區(qū)穿越向量近似檢索系統(tǒng),其特征在于,包括:
7.根據(jù)權(quán)利要求6所述的一種基于劃分的多區(qū)穿越向量近似檢索系統(tǒng),其特征在于,所述第一階段搜索模塊僅針對一個(gè)稀疏近似近鄰圖進(jìn)行搜索。
8.根據(jù)權(quán)利要求6所述的一種基于劃分的多區(qū)穿越向量近似檢索系統(tǒng),其特征在于,所述隨機(jī)劃分框架構(gòu)建模塊中,稀疏近似近鄰圖的更新操作包括向量插入和向量刪除;
9.根據(jù)權(quán)利要求8所述的一種基于劃分的多區(qū)穿越向量近似檢索系統(tǒng),其特征在于,所述向量刪除具體包括:對每個(gè)包含待刪除向量的稀疏近似近鄰圖執(zhí)行向量刪除操作;若待刪除向量為路由向量,則從各個(gè)稀疏近似近鄰圖中刪除該路由向量。
10.根據(jù)權(quán)利要求6所述的一種基于劃分的多區(qū)穿越向量近似檢索系統(tǒng),其特征在于,所述系統(tǒng)用于向量查詢驅(qū)動(dòng)的ai應(yīng)用場景、推薦系統(tǒng)、電子商務(wù)、計(jì)算機(jī)視覺、信息檢索或金融風(fēng)險(xiǎn)管理領(lǐng)域。