APPROFONDIMENTO

Knowledge Graphs, l’importanza della conoscenza strutturata



Indirizzo copiato

Il termine fa riferimento alle interconnessioni tra entità, oggetti, situazioni, eventi e soprattutto tra concetti astratti. Un sottile equilibrio tra tassonomia, semantica e terminologie su cui poggiano le rispettive fondamenta i motori di ricerca, le reti sociali e gli assistenti vocali

Pubblicato il 14 set 2023



knowledge graph

Stiamo per entrare nel dominio dell’astrazione e questo breve viaggio nel mondo dei Knowledge Graphs non può essere esaustivo giacché, al di sotto delle spiegazioni di superficie, pullulano ecosistemi di concetti e relazioni che sono base fondante delle tecnologie usate da Google, Bing, Siri, Alexa e Facebook.

I Knowledge Graphs (KGs) sono da considerare al pari di espressioni semantiche, una sorta di linguaggio con il quale si crea una relazione tra soggetto, predicato e complemento laddove ognuno di questi può essere rappresentato da idee o concetti.

Sono oggetto di studi durati decenni e, di fatto, i Knowledge Graphs sono stati sviluppati come modello per rappresentare un qualsiasi tipo di conoscenza in modo strutturato. Nella loro accezione più moderna e nota i KGs rimandano a Google, che ne fa uso per fornire informazioni pertinenti alle ricerche svolte dagli utenti riunendo dati che provengono da un’ampia pluralità di fonti.

Cosa sono i Knowledge Graphs

Un KGs è detto anche rete semantica, nome che già da sé vale mezza spiegazione: è la rappresentazione grafica delle correlazioni tra oggetti, eventi, situazioni, idee, persone e altre informazioni che, nel caso specifico, vengono archiviate in un database e restituite in modo che siano interpretabili all’occhio umano.

Gli elementi cruciali sono detti node (nodo), edge (bordo, margine) e label (etichetta). I nodi, per esempio luoghi, persone o concetti possono essere considerate dei nodi e, parallelamente, i bordi definiscono le relazioni tra i nodi.

Poiché un’immagine vale più di mille parole, chiediamo il supporto della scultrice Edmonia Lewis la quale, oltre a essere idealmente vicina all’Italia poiché ha passato parte della sua vita a Roma, è nota soprattutto per la statua “La morte di Cleopatra”, un’opera monumentale famosa in tutto il mondo. Un’ipotetica ricerca sul web restituirebbe una cospicua quantità di informazioni le quali, principalmente, sono riassumibili così:

 Knowledge Graphs
Fonte Wikimedia.org

ovvero, un KGs che offre a colpo d’occhio tutte le opere, i legami, i luoghi visitati, le persone frequentate e i fatti salienti della vita sua vita.

Siamo quindi davanti a un grafo della conoscenza ma anche a qualcosa che ha un valore olistico: un’ontologia con delle caratteristiche inalienabili.

Per cosa è utilizzato

Nell’accezione più attuale, rilanciata da Google nel 2012 con il proprio database Knowledge Graph, viene utilizzato per contribuire a fornire risposte alle query degli utenti.

Tuttavia, ha alle spalle una storia più lunga e un uso radicato tanto in ambito accademico quanto in quello aziendale. Il fatto stesso di potere avere tutte le informazioni necessarie in un grafo facilita la conoscenza e ne consente il trasferimento. Ne risulta un’utilità trasversale per i motori di ricerca, per i servizi di risposta tipici di Siri o di Alexa ma anche per le reti sociali.

Viene usato anche nel marketing, nell’assistenza ai clienti e, come vedremo sotto, nel Machine learning.

I Knowledge graphs sono utili per comprendere a colpo d’occhio concetti complessi e, se questi grafi fossero impiegati per stabilire dei rapporti e delle relazioni tra i diversi prodotti o servizi offerti da un’impresa, sarebbe possibile, per esempio, crearne di nuovi che includono tutto ciò che risulta più gradito alla clientela. Tutto ciò, ridotto all’essenziale, si tramuta in decisioni migliori che spingono fatturati e profitti.

Esempi di Knowledge Graphs

Partiamo dai social network e citiamo un esempio noto a tutti. Un grafo della conoscenza tipico è quello che mostra le relazioni tra le persone. I nodi, in questo caso, sarebbero i singoli utenti e i bordi (edge) è il tipo di relazione che li unisce (parenti, colleghi, amici…). Un simile grafo è utile alle logiche degli inserzionisti.

Entrando nelle aziende e rimanendo negli ambiti delle relazioni funzionali e di quelle gerarchiche, è facile comprendere che un grafo mostra l’intera struttura aziendale. Si può pensare una rappresentazione grafica che mostra le relazioni tra i diversi dipartimenti oppure tra dipendenti.

Knowledge Graphs - Computerphile

In ambito scolastico o accademico si può pensare a un grafo che mostra le relazioni tra fauna e flora in un ecosistema. I nodi rappresentano gli animali o le piante e gli edge sono formati dai rapporti preda-predatore oppure pianta-impollinatore.

Knowledge Graphs e Machine learning

Ci sono diversi modi in cui Knowledge Graphs e Machine learning possono essere utilizzati in simbiosi. L’uso più immediato è destinato alle nuove associazioni probabilistiche. Usando i KGs è possibile identificare relazioni tra prodotti e gli algoritmi di apprendimento possono usare queste informazioni per stilare associazioni probabilistiche tese, per esempio, a capire quali prodotti possono essere acquistati tutti insieme. Le aziende possono così avere informazioni preziose sia per lo studio di nuovi prodotti sia per le iniziative di marketing. Ancora una volta, si tratta di benefici per le capacità decisionali.

Un altro aspetto di rilievo è costituito dalla convalida dei dati e dalla loro coerenza. Comprendendo le relazioni tra i dati, il Machine learning può identificare le imprecisioni e correggerle e, allo stesso modo, un KGs può essere impiegato per garantire che i dati siano organizzati in modo coerente.

Come scritto in apertura, i Knowledge Graphs contribuiscono a tenere spalancate le porte dell’astrazione, situazioni e contesti nei quali possono essere impiegati per le ontologie e le rappresentazioni vettoriali.

La creazione di ontologie, ossia sistemi di classificazione di dati in gruppi e sottogruppi, sono utili agli algoritmi di apprendimento per creare modelli più accurati. Tra gli esempi di spicco c’è Google Translate, che traduce utilizzando KGs al fine di creare ontologie di tutte le possibili traduzioni di parole tra due lingue. Ontologie che vengono impiegate per vettorializzare il testo, in questo caso mediante la famiglia di algoritmi word2vec che usano una rete neurale per apprendere le relazioni tra due parole.

Knowledge Graphs e NLP

Le nuove frontiere non sono prive di difficoltà, occorre però che queste vengano affrontate e superate. Si muove in questa direzione uno studio pubblicato a settembre del 2022 e realizzato tra gruppi di ricercatori di atenei tedeschi, canadesi e britannici.

Tra le tante ricerche disponibili proponiamo questa perché si approccia in modo critico al tema delle interazioni tra KGs e Natural Language Processing (NLP), pure riconoscendo alla materia un’importanza fondamentale per i modelli linguistici aumentati, lamenta scarsi approfondimenti nella pratica: se ne parla tanto e si agisce poco.

Questo a causa di limiti nell’accuratezza nell’individuare gli errori di astrazione nei dati, questo a ulteriore riprova di quanto abbiamo detto fino a qui: entrando nel dominio dei KGs ci si scontra con un livello di astrazione elevato che si manifesta soprattutto nel rapporto con il riconoscimento del linguaggio naturale. Pure limitando i database ai quali i NLP possono attingere, gli studi indicano che ci sono forti lacune nella comprensione comune del testo, cosa che può essere facilitata da KGs che, nell’insieme, possono essere utili ai modelli linguistici per “comprendere il contesto” delle parole.

Knowledge Graphs supervised e semi-supervised

Il richiamo va ai modelli di apprendimento supervisionato e semi-supervisionato dei quali abbiamo già parlato.

L’apprendimento supervisionato nei KGs è un metodo grazie al quale i modelli vengono addestrati mediante dati etichettati, si tratta quindi di modelli utili alla classificazione di dati nuovi e non visibili. Il classico esempio nell’emisfero dei KGs è l’estrazione di caratteristiche positive oppure negative da intere frasi e, quindi, un aiuto nella sentiment analysis. Un altro utilizzo pratico è quello di trovare nodi, edge oppure label equivalenti esaminando diversi Knowledge Graphs.

L’apprendimento semi-supervisionato è invece un metodo che fa leva sia sui dati etichettati sia su dati non etichettati. Utilizza reti neurali convolutive di grafici per impiegare informazioni locali o globali delle entità. Una rete neurale convolutiva (CNN) è un’architettura di rete per il Deep learning in grado di apprendere direttamente dai dati ed è uno dei pilastri dell’identificazione di modelli tra le immagini.

Nel caso specifico dei KGs le informazioni di testo di ciascuna entità vengono trattate come attributi dell’entità medesima all’interno del processo di apprendimento.

Come visualizzare un Knowledge Graphs

Ci sono diversi tool che rendono possibile la realizzazione dei KGs. Ci soffermiamo su quelli Open source partendo da DBpedia che, pure avendo sospeso alcuni servizi, offre dei dataset standard utili a prendere le misure con la materia. Una comunità crowdsourcing per estrarre contenuti strutturati dai diversi progetti Wikimedia.

Uno dei motori Open più famosi è Cyc, adatto alle imprese e alle comunità di studio perché impronta i dati al senso comune: in altre parole è un gateway che media parole e significanti. I costi d’uso sono comunicati a chi ne fa richiesta ma è possibile richiedere una demo per testare con mano la potenza dello strumento.

Degno di attenzione è anche il progetto Yago, un database di conoscenze semantiche ereditate da Wikipedia, WordNet e GeoNames. La versione stabile più recente risale al 2020 ma è uno strumento di facile utilizzo che può fungere da palestra per i neofiti. Il download, totalmente gratuito, richiede 11,2 GB di spazio disco.

I Knowledge Graphs sono strutture di dati?

È il punto focale del concetto stesso: i KGs sono strutture che utilizzano modelli di dati o, in ogni caso, topologie strutturate a grafo, per integrare tra loro informazioni provenienti da diverse fonti.

Per fare un esempio in ambito aziendale, si può ricorrere a un cliente che si rivolge al servizio post-vendita il quale, utilizzando un Knowledge Graphs può ricostruire a vista d’occhio tutto lo storico del cliente stesso, attingendo a dati provenienti da diversi compartimenti aziendali, inclusi i prodotti comprati, la situazione contabile, eventuali ritardi nei pagamenti e anche le richieste di assistenza pregresse.

Se poi, sempre muovendoci nell’ipotetico, risultasse che il cliente è solito chiedere interventi relativi al medesimo prodotto, l’azienda può prendere in considerazione l’ipotesi di offrirgli un contratto per la manutenzione mirata oppure un’istruzione ad hoc per renderlo più autonomo nelle attività di troubleshooting.

Articoli correlati

Articolo 1 di 2