I modelli linguistici di grandi dimensioni (LLM) e i grafi della conoscenza (KG) sono modi diversi per fornire a un maggior numero di persone l’accesso ai dati. I KG utilizzano la semantica per collegare gli insiemi di dati attraverso il loro significato, cioè le entità che rappresentano. Gli LLM utilizzano vettori e reti neurali profonde per prevedere il linguaggio naturale. Spesso entrambi mirano a “sbloccare” i dati. Per le aziende che implementano i KG, l’obiettivo finale è di solito qualcosa come un maketplace dei dati, un’analisi semantica dei dati e/o una maggiore centralità dei dati nell’azienda. Si tratta di soluzioni diverse con lo stesso obiettivo finale: rendere disponibili più dati alle persone giuste in modo più rapido. Per le aziende che implementano un LLM o un’altra soluzione di intelligenza artificiale generativa simile, l’obiettivo è spesso simile: fornire agli utenti finale (dipendenti o clienti) un “assistente digitale” in grado di fornire più rapidamente le informazioni corrette. La potenziale simbiosi è evidente: alcune delle principali debolezze degli LLM, ovvero il fatto di essere modelli black-box e di avere difficoltà con la conoscenza dei fatti, sono alcuni dei maggiori punti di forza dei KG. I KG sono essenzialmente collezioni di fatti e sono completamente interpretabili. Ma come si possono e si devono implementare insieme KG e LLM in un’azienda?
Supponiamo di dover scrivere una lettera di presentazione per la ricerca di un nuovo lavoro. Se proviamo ad utilizzare ChatGPT o altri LLM, il risultato che otteniamo sarà un documento che è ben strutturato e focalizzato su una specifica descrizione del lavoro, a patto di includere esplicitamente la lettera di presentazione e la descrizione del lavoro esistenti nel prompt. Tuttavia, il documento mostrerà alcuni problemi rilevanti. Potrebbe, infatti, includere esperienze lavorative che non abbiamo mai fatto o corsi di formazione che non abbiamo mai frequentato.
Questo esempio è per farvi capire i punti di forza e di debolezza degli LLM e del perché i KG sono una parte importante della loro implementazione. Inoltre, questo caso d’uso non è molto diverso da quello per cui molte grandi aziende utilizzano attualmente gli LLM: la generazione automatica di report.
In questo articolo andremo ad analizzare come gli LLM possono aiutarci a costruire in modo corretto ed efficiente i KG.
Gli LLM a supporto della creazione e cura delle KG
Gli LLM sono strumenti preziosi per la creazione di KG. Un modo per sfruttare la tecnologia degli LLM nel processo di cura dei KG è quello di incorporare il vostro KG in un database vettoriale. Un database vettoriale è un database costruito per memorizzare vettori o elenchi di numeri. La vettorizzazione è una delle componenti tecnologiche principali, se non la principale, dei modelli linguistici. Questi modelli, attraverso incredibili quantità di dati di addestramento, imparano ad associare le parole ai vettori. I vettori catturano informazioni semantiche e sintattiche sulla parola in base al suo contesto nei dati di addestramento. Utilizzando un servizio di embedding addestrato con queste incredibili quantità di dati, possiamo sfruttare queste informazioni semantiche e sintattiche nel nostro KG.
La vettorializzazione della KG, ovviamente, non è assolutamente l’unico modo per utilizzare la tecnologia LLM nella cura e nella costruzione della KG. Inoltre, nessuna di queste applicazioni delle LLM è nuova per la creazione di KG. Le tecniche di Natural Language Processing (NLP) sono state utilizzate per decenni per l’estrazione di entità, ad esempio, e l’LLM è solo una nuova capacità di assistere lo studioso che si occupa delle creazioni l’ontologo/tassonomista.
Alcuni dei modi in cui gli LLM possono aiutare nel processo di creazione di KG sono i seguenti.
Risoluzione delle entità
La risoluzione delle entità è il processo di allineamento dei record che si riferiscono alla stessa entità del mondo reale. Ad esempio, l’acetaminofene, un comune antidolorifico usato negli Stati Uniti e venduto con il nome commerciale Tylenol, è chiamato paracetamolo in Italia e venduto con il nome commerciale Tachipirima. Questi quattro nomi non si assomigliano affatto, ma se si inserisse il KG in un database vettoriale, i vettori avrebbero la comprensione semantica per sapere che queste entità sono strettamente correlate.
Tagging di dati non strutturati
Supponiamo di voler incorporare alcuni dati non strutturati nel nostro KG. Si ha un mucchio di PDF con nomi di file vaghi, ma si sa che in quei documenti ci sono informazioni importanti. È necessario etichettare questi documenti con il tipo di file e l’argomento. Se la tassonomia topica e la tassonomia del tipo di documento sono state incorporate, è sufficiente vettorializzare i documenti e il database vettoriale identificherà le entità più rilevanti di ciascuna tassonomia.
Estrazione di entità e classi
Creare o migliorare un vocabolario controllato come un’ontologia o una tassonomia basata su un corpus di dati non strutturati. L’estrazione di entità è simile al tagging, ma l’obiettivo è migliorare l’ontologia piuttosto che incorporare i dati non strutturati in KG. Supponiamo di avere un’ontologia geografica e di volerla popolare con istanze di paesi, città, stati, ecc. Si può usare un LLM per estrarre entità da un corpus di testo per popolare l’ontologia. Allo stesso modo, si può usare l’LLM per estrarre le classi e le relazioni tra le classi dal corpus. Supponiamo di aver dimenticato di includere “capitale” nella nostra ontologia. L’LLM potrebbe essere in grado di estrarre una nuova classe o una proprietà di una città.
Una risposta