微软开源Bing搜索背后的关键算法
微軟今天宣布開源了一項(xiàng) Bing 搜索背后的關(guān)鍵算法 —— SPTAG,它使 Bing 能夠快速將搜索結(jié)果返回給用戶。
僅在幾年前,網(wǎng)絡(luò)搜索很簡(jiǎn)單,用戶輸入幾個(gè)關(guān)鍵詞然后瀏覽結(jié)果頁面。現(xiàn)如今,這些用戶可能會(huì)在手機(jī)上拍照并將其放入搜索框中,或使用智能助手提問,而無需親自觸摸設(shè)備。他們也可能會(huì)輸入一個(gè)問題并期待一個(gè)實(shí)際的答復(fù),而不是一個(gè)可能答案的頁面列表。
SPTAG (Space Partition Tree And Graph,空間劃分樹和圖)是分布式近似最近鄰域搜索(ANN)庫的核心,為大規(guī)模矢量搜索場(chǎng)景提供高質(zhì)量矢量索引構(gòu)建、搜索和分布式在線服務(wù)工具包。
利用 SPTAG 算法作為開源 Python 庫的核心,Bing 能夠在幾毫秒內(nèi)搜索數(shù)十億條信息。
當(dāng)然,矢量搜索本身并不是一個(gè)新想法,但微軟所做的是將這一概念應(yīng)用于深度學(xué)習(xí)模型。
首先,團(tuán)隊(duì)采用預(yù)先訓(xùn)練的模型并將數(shù)據(jù)編碼到矢量中,其中每個(gè)矢量代表一個(gè)字或像素。然后使用新的 SPTAG 庫生成向量索引。隨著查詢的進(jìn)入,深度學(xué)習(xí)模型將該文本或圖像轉(zhuǎn)換為向量,該庫緊接著就能在索引中找到最相關(guān)的向量。
微軟表示,SPTAG 庫迄今已對(duì)超過 1500 億條數(shù)據(jù)進(jìn)行了編目,包括單個(gè)單詞、字符、網(wǎng)頁代碼段和完整查詢。
“Bing 每天處理數(shù)十億個(gè)文檔,現(xiàn)在的想法是將這些條目表示為向量,并搜索這個(gè) 1000 億以上向量的巨大索引,以便在 5 毫秒內(nèi)找到最相關(guān)的結(jié)果”。
通過將矢量搜索應(yīng)用到深度學(xué)習(xí)模型,微軟讓 Bing 搜索引擎能更快地向用戶提供更相關(guān)的結(jié)果。
例如在 Bing 上搜索“巴黎的塔樓有多高?”,搜索引擎會(huì)告訴你埃菲爾鐵塔高 324 米(1063 英尺),盡管在搜索關(guān)鍵詞中并沒有出現(xiàn)“埃菲爾”(Eiffel)這個(gè)單詞。
Bing 團(tuán)隊(duì)期望開源 SPTAG 可用于構(gòu)建可識(shí)別基于音頻片段所說語言的應(yīng)用,或用于讓用戶拍攝植物照片并識(shí)別屬和物種的服務(wù)。
該庫現(xiàn)已開放使用,并提供構(gòu)建和搜索這些分布式矢量索引的所有工具。
碼云極速下載地址
https://gitee.com/mirrors/sptag
開源讓世界更美好↓↓↓
總結(jié)
以上是生活随笔為你收集整理的微软开源Bing搜索背后的关键算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结合eShopOnWeb全面认识领域模型
- 下一篇: dotnet pack 打包文件版本号引