Microsoft hà apertu u codice per a libreria di ricerca vettoriale utilizata da Bing

Microsoft publicatu codici fonte di a biblioteca di l'apprendimentu automaticu SPTAG (Space Partition Tree And Graph) cù implementazione di l'algoritmu apprussimativu ricerca di u vicinatu più vicinu. Biblioteca sviluppatu in a divisione di ricerca di Microsoft Research è u centru di sviluppu di tecnulugia di ricerca (Microsoft Search Technology Center). In pratica, SPTAG hè utilizatu da u mutore di ricerca Bing per determinà i risultati più pertinenti basatu annantu à u cuntestu di e dumande di ricerca. U codice hè scrittu in C++ è distribuitu da sottu licenza MIT. Custruisce per Linux è Windows hè supportatu. Ci hè un ligame per a lingua Python.

Malgradu u fattu chì l'idea di usà l'almacenamiento di vettori in i motori di ricerca hè stata flottante per un bellu pezzu, in pratica, a so implementazione hè ostacolata da l'alta intensità di risorse di operazioni cù vettori è limitazioni di scalabilità. Cumminendu metudi d'apprendimentu automaticu profondu cù algoritmi di ricerca di u vicinatu più vicinu hà permessu di portà u rendiment è a scalabilità di i sistemi vettoriali à un livellu accettabile per i grandi motori di ricerca. Per esempiu, in Bing, per un indice di vettori di più di 150 miliardi di vettori, u tempu per piglià i risultati più pertinenti hè in 8 ms.

A biblioteca include strumenti per custruisce un indice è urganizà e ricerche vettoriali, è ancu un inseme di strumenti per mantene un sistema di ricerca in linea distribuitu chì copre cullizzioni assai grande di vettori. Offertu i seguenti moduli: index builder per indexing, searcher per a ricerca cù un index distribuitu in un cluster di parechji nodi, servitore per eseguisce handlers in nodes, Aggregator per unisce parechji servitori in unu, è client per mandà dumande. L'inclusione di novi vettori in l'indici è l'eliminazione di vettori à a mosca hè supportata.

A biblioteca implica chì i dati trattati è presentati in a cullizzioni sò furmatu in forma di vettori rilativi chì ponu esse paragunati in basa di Euclidianu (L2) o cosenu distanze A ricerca di ricerca torna vettori chì a distanza trà elli è u vettore originale hè minima. SPTAG furnisce dui metudi per urganizà u spaziu vettoriale: SPTAG-KDT (arburu K-dimensionale (kd-arburu) è graficu di vicinanza relative) è SPTAG-BKT (k-means tree (k-significa arbre è graficu di vicinanza relative). U primu metudu richiede menu risorse quandu travaglia cù l'indici, è u sicondu mostra una precisione più alta di i risultati di ricerca per cullezzione assai grande di vettori.

À u listessu tempu, a ricerca di vettori ùn hè micca limitata à u testu è pò esse appiicata à l'infurmazioni multimediali è l'imaghjini, è ancu in sistemi per generà automaticamente raccomandazioni. Per esempiu, unu di i prototipi basati nantu à u quadru PyTorch implementatu un sistema vettoriale per a ricerca basatu annantu à a similitudine di l'uggetti in l'imaghjini, custruitu cù dati da parechje cullezzione di riferimentu cù l'imaghjini di l'animali, i misgi è i cani, chì sò stati cunvertiti in set di vettori. . Quandu una maghjina entrante hè ricivuta per a ricerca, hè cunvertita utilizendu un mudellu di machine learning in un vettore, basatu nantu à quale i vettori più simili sò selezziunati da l'indici utilizendu l'algoritmu SPTAG è l'imaghjini assuciati sò tornati in u risultatu.

Source: opennet.ru

Add a comment