GUIDA

Database vettoriali: cosa sono e come funzionano 



Indirizzo copiato

Una agile guida per capire questa tecnologia dati che sta acquistando sempre più importanza grazie all’AI e agli algoritmi RAG (Retrieval-Augmented Generation) 

Pubblicato il 13 set 2024

Pablo Cerini

Giornalista



Database vettoriali
Immagine di Tee11 da Shutterstock

Un database vettoriale è un database che immagazzina i dati come vettori. A differenza di un database relazionale, composto da righe e colonne che contengono stringhe e numeri, un database vettoriale salva i dati scomponendoli sotto forma di vettori, impiegando la tecnologia del Vector Embeddings. Questo sistema consiste nel convertire parole, frasi e altri dati in numeri che catturano il significato dei dati originali e, soprattutto, permettono di mappare le loro relazioni, rappresentando i diversi tipi di dati come punti in uno spazio multidimensionale.

Ciascuna dimensione corrisponde a una caratteristica specifica dei dati, le cosiddette “feature” nel linguaggio del Machine Learning: misurando la distanza tra i punti dati nello spazio, il sistema dei database vettoriali consente all’utente di cercare e recuperare i dati in base alla somiglianza (o vicinanza) anziché alla tradizionale corrispondenza esatta.

La tecnologia dei database vettoriali ha numerose applicazioni in molti campi innovativi dell’informatica, a partire dagli algoritmi di ricerca fino a complesse applicazioni di intelligenza artificiale come la NLP (Natural Language Processing).

Ricerche e database vettoriali

I database vettoriali rappresentano un importante punto di svolta nella strutturazione degli algoritmi di ricerca. Un algoritmo di ricerca basato su un database relazionale è limitato a ragionare in base a corrispondenze parziali o complete tra token discreti come parole chiave o meta data.

Una ricerca basata su un database vettoriale, utilizzando al posto di token discreti dei vettori densi, è in grado di arricchire i risultati della ricerca con similarità e correlazioni.

Per esempio, un motore di ricerca basato su database relazionale, ricevendo in input la parola chiave “violino” restituirà in output solo risultati relativi al violino; un motore di ricerca basato su database vettoriale, invece, potrebbe restituire anche risultati relativi a violoncello, viola o orchestra.

Il vettore denso, infatti, fa leva sul meccanismo delle caratteristiche latenti del dato, cioè un attributo sottostante che non viene osservato direttamente, ma dedotto attraverso modelli matematici o algoritmi. Queste caratteristiche latenti aiutano a evidenziare le relazioni nascoste nei dati, consentendo rappresentazioni più significative e accurate degli elementi come vettori in uno spazio multidimensionale.

Database vettoriali e NLP

La Natural Language Processing (NLP), ossia l’elaborazione del linguaggio naturale, è una tecnologia di apprendimento automatico che offre ai computer la capacità di interpretare, manipolare e comprendere il linguaggio umano. Questa tecnologia impiega i database vettoriali per rappresentare relazioni semantiche complesse che i modelli di dati tradizionali non sono in grado di catturare, in modo da avere una comprensione più sfumata del linguaggio.

Siccome il significato delle parole dipende in gran parte dal contesto e dalle sfumature interpretative, gli algoritmi di Machine Learning ricorrono alla multidimensionalità dei database vettoriali per analizzare le relazioni tra le diverse parole di una frase e il loro tono. In questo modo viene migliorata l’esecuzione di attività quali l’analisi del sentiment e la traduzione.

Questo permette di realizzare soluzioni di comunicazione come chatbot evoluti, in grado di dialogare in modo proattivo con un interlocutore umano e di gestire una conversazione impegnativa sui contesti oggetto del training del bot.

RAG e database vettoriali

I database vettoriali sono impiegati per potenziare le performance degli algoritmi RAG. La Retrieval-Augmented Generation (RAG) è un’infrastruttura che permette ai modelli LLM di ottenere informazioni anche da base dati esterne al modello. Per esempio, immaginiamo un modello AI addestrato sulle cure mediche, ma il cui ultimo training risalga a un mese fa. Se chiediamo a questo modello una previsione sull’efficacia di un vaccino approvato la settimana scorsa, non potrà rispondere perché questo evento è avvenuto dopo il completamento del suo training. In casi come questi interviene il RAG, che permette al modello di recuperare l’informazione da una fonte esterna e inglobarlo nel suo processo valutativo.
I database vettoriali aiutano gli algoritmi RAG a concentrarsi su ambiti specifici e a circoscrivere i domini da cui recuperare le informazioni. Basandosi sul meccanismo dei database vettoriali, gli algoritmi RAG possono effettuare un recupero veloce e accurato di informazioni che arricchiscono il modello di partenza in base a diversi criteri.

I RAG utilizzano i database vettoriali per valutare la somiglianza semantica e la rilevanza contestuale, e in questo modo possono aumentare l’accuratezza e il dettaglio delle risposte fornite dal modello originale. 

Database vettoriali e computer vision

I database vettoriali, grazie alla loro capacità di fornire dati di qualità fortemente correlati, giocano un ruolo importante anche nell’evoluzione della computer vision. Algoritmi come la ricerca di immagini correlate, la ricerca mista di immagini e testo, l’analisi di documenti OCR, tutte queste tecnologie beneficiano dell’accesso a dataset vettoriali per velocizzare le loro performance e fornire risultati più accurati.

I database vettoriali sono indispensabili nella computer vision, poiché offrono un potente motore per gestire dataset utilizzando incorporamenti multimodali, interpolazione di concetti e algoritmi di attraversamento. Grazie alla costante evoluzione dell’intelligenza artificiale, l’integrazione dei database vettoriali svolgerà un ruolo sempre più cruciale nel plasmare il futuro delle tecnologie basate sui dati non strutturati.

Articoli correlati

Articolo 1 di 5