Knowledge Graph
Scopri come i grafi di conoscenza rivoluzionano l'IA modellando relazioni complesse, consentendo la ricerca semantica, consigli personalizzati e altro ancora.
Un grafo della conoscenza è un modello di dati completo che organizza e integra le informazioni in una rete di entità del mondo reale, come oggetti, eventi, situazioni o concetti astratti.
mondo reale, come oggetti, eventi, situazioni o concetti astratti, e le relazioni esplicite tra di essi. A differenza di
un database relazionale standard che memorizza i dati in righe e colonne rigide, un grafo della conoscenza struttura i dati come una rete flessibile di nodi interconnessi.
flessibile di nodi e bordi interconnessi. Questa architettura rispecchia il modo in cui gli esseri umani associano cognitivamente i fatti,
consentendo ai sistemi di
sistemi di intelligenza artificiale (AI) di
di ragionare, dedurre il contesto e scoprire modelli nascosti all'interno di enormi insiemi di dati. Questa struttura semantica è un elemento
del Web semantico, creando un quadro in cui i dati sono
leggibili dalla macchina e intrinsecamente collegati.
L'anatomia di un grafo della conoscenza è costituita da due componenti primarie: i nodi, che rappresentano le entità
nodi, che rappresentano le entità (ad esempio, "Albert Einstein" o "Teoria della relatività"), e gli spigoli, che definiscono le relazioni tra di esse (ad esempio, "proposto da").
che definiscono la relazione tra di esse (ad esempio, "proposto da"). Aderendo a standard come il
Resource Description Framework (RDF), questi grafi consentono di unificare fonti di dati disparate.
fonti di dati disparate. Le implementazioni più importanti includono
Il Knowledge Graph diGoogle,
che migliora i risultati dei motori di ricerca, e i progetti della comunità come
Wikidata.
Applicazioni nell'AI e nel Machine Learning
I grafi della conoscenza sono fondamentali per far progredire varie capacità di
Machine Learning (ML) fornendo un contesto strutturato
contesto strutturato che altrimenti potrebbe sfuggire ai modelli statistici.
-
Ricerca semantica: I motori di ricerca tradizionali
motori di ricerca tradizionali si basano spesso sulla corrispondenza delle parole chiave. I grafi della conoscenza permettono ai motori di comprendere l'"intento"
dietro una query. Ad esempio, la ricerca di "Jaguar" potrebbe riferirsi all'animale o alla marca di auto; un knowledge graph utilizza il contesto per disambiguare il termine, fornendo risultati più precisi.
un knowledge graph utilizza il contesto per disambiguare il termine, fornendo risultati più precisi.
-
Sistemi di raccomandazione: In
AI nella vendita al dettaglio, questi grafi mappano complesse
relazioni complesse tra utenti, prodotti e comportamenti di acquisto. Se un utente acquista una fotocamera, il grafo comprende il collegamento con "Schede SD" o "Treppiedi" non solo perché altri li hanno acquistati, ma perché sono
collegamento con "Schede SD" o "Treppiedi" non solo perché altri li hanno acquistati, ma perché si tratta di accessori funzionalmente correlati.
accessori funzionalmente correlati.
-
Generazione aumentata dal recupero (RAG):
I modelli linguistici di grandi dimensioni (LLM) possono
generare informazioni plausibili ma non corrette. Integrando un grafo della conoscenza tramite
Retrieval-Augmented Generation (RAG), gli agenti di intelligenza artificiale possono interrogare una fonte verificata di verità prima di generare una risposta, riducendo in modo significativo le
allucinazioni negli LLM e migliorando
l'accuratezza dei fatti.
-
Contesto dellavisione artificiale (CV):
I modelli di visione detect gli oggetti, ma i grafi di conoscenza comprendono la scena. Un grafico può collegare un "casco" e un "giubbotto" rilevati
"casco" e "giubbotto" al concetto di "conformità alla sicurezza", consentendo un ragionamento di alto livello per il monitoraggio industriale.
di ragionamento di alto livello per il monitoraggio industriale.
Esempio di codice: Estrazione di entità per un grafico
Il seguente snippet Python mostra come utilizzare l'opzione
Ultralytics YOLO11 per detect oggetti in un'immagine.
Questi rilevamenti possono servire come nodi di entità per popolare un grafo della conoscenza, collegando l'immagine agli oggetti che contiene.
contiene.
from ultralytics import YOLO
# Load the official YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract entities to populate a knowledge graph node
graph_entities = []
for box in results[0].boxes:
class_id = int(box.cls)
entity_label = results[0].names[class_id]
confidence = float(box.conf)
# Create a simplified node representation
graph_entities.append({"entity": entity_label, "type": "Object", "confidence": confidence})
print(graph_entities)
Esempi reali
-
Scoperta di farmaci in ambito sanitario: Nel campo dell'IA in ambito sanitario, i ricercatori
AI in ambito sanitario, i ricercatori utilizzano i grafi di conoscenza per
grafi di conoscenza per modellare interazioni biologiche complesse. Collegando entità quali geni, proteine, malattie e farmaci
da database come PubMed e UniProt, gli algoritmi possono
UniProt, gli algoritmi possono prevedere potenziali bersagli ed effetti collaterali dei farmaci. Questo
accelerare il processo di scoperta dei farmaci, identificando connessioni non ovvie che potrebbero essere trascurate nell'analisi manuale delle immagini mediche o della letteratura.
analisi manuale delle immagini mediche o nelle
manuale delle immagini mediche o nelle revisioni della letteratura.
-
Ottimizzazione della catena di fornitura: Le aziende di logistica utilizzano i grafi della conoscenza per creare un gemello digitale della loro catena di
della loro catena di fornitura. I nodi rappresentano fornitori, magazzini, parti e prodotti, mentre gli spigoli rappresentano le rotte di spedizione o le dipendenze di assemblaggio.
rotte di spedizione o le dipendenze di assemblaggio. Questa struttura facilita l'analisi dei
Big Data, consentendo alle aziende di interrogare il grafo per
grafo per prevedere i ritardi, ottimizzare i percorsi e gestire i rischi di inventario in modo più efficace rispetto ai fogli di calcolo tradizionali.
fogli di calcolo tradizionali.
Knowledge Graph vs. Concetti correlati
Per comprendere il valore unico di un grafo della conoscenza, è utile distinguerlo dalle tecnologie di gestione e ricerca dei dati.
tecnologie di ricerca.
-
Database vettoriale: Un database vettoriale
memorizza i dati sotto forma di incorporazioni ad alta dimensione per
per consentire ricerche di somiglianza (ad esempio, trovare immagini simili). Sebbene sia potente per la
ricerca vettoriale, si basa su un'implicita vicinanza matematica.
matematica implicita. Al contrario, un grafo della conoscenza si basa su connessioni semantiche esplicite (ad esempio, "A implica B").
-
Database relazionale (RDBMS): i database tradizionali (come SQL) memorizzano i dati in tabelle con schemi fissi.
schemi fissi. Eccellono nelle transazioni strutturate, ma hanno difficoltà con i dati altamente interconnessi. L'interrogazione di relazioni complesse
relazioni complesse (ad esempio, gli amici degli amici degli amici) è computazionalmente costoso in SQL ma banale in un grafo utilizzando linguaggi di interrogazione come SPARQL o
linguaggi di interrogazione come SPARQL o Cypher in
Database a grafo come Neo4j.
-
Elaborazione del linguaggio naturale (NLP):
L'NLP si concentra sulla comprensione e sulla generazione del linguaggio umano. Un grafo della conoscenza funge spesso da "memoria" strutturata
"memoria" per i sistemi NLP, consentendo loro di fondare le proprie capacità linguistiche su dati fattuali derivati da
da attività di Data Mining.