Incontra DeepOnto un pacchetto Python per l’ingegneria dell’ontologia con il Deep Learning

DeepOnto è un pacchetto Python per l'ingegneria dell'ontologia con il Deep Learning.

I progressi nelle metodologie di Deep Learning stanno avendo un grande impatto sulla comunità di Intelligenza Artificiale. Con alcune grandi innovazioni e sviluppi, un numero di compiti sta diventando più facile. Le tecniche di Deep Learning vengono ampiamente utilizzate in quasi tutti i settori, che si tratti di sanità, social media, ingegneria, finanza o istruzione. Una delle migliori invenzioni del Deep Learning sono i Large Language Models (LLM), che di recente sono diventati popolari e sono principalmente nelle prime pagine per i loro incredibili casi d’uso. Questi modelli imitano gli esseri umani e, utilizzando la potenza del Natural Language Processing o della Computer Vision, dimostrano alcune soluzioni straordinarie.

L’applicazione dei Large Language Models nel campo dell’Ingegneria dell’Ontologia è stata argomento di discussione fin da quando. L’Ingegneria delle Ontologie è un ramo dell’Ingegneria della Conoscenza che si occupa della creazione, costruzione, cura, valutazione e mantenimento delle ontologie. Un’ontologia è essenzialmente una specifica formale e precisa della conoscenza all’interno di un’area particolare che offre un vocabolario sistematico di concetti e attributi, insieme alle relazioni tra di essi, al fine di consentire una comprensione condivisa della semantica tra esseri umani e macchine.

API ben note dell’ontologia come l’OWL API e Jena sono principalmente basate su Java, mentre i framework di deep learning come PyTorch e Tensorflow sono sviluppati generalmente per la programmazione in Python. Questo rappresenta una sfida per affrontare la quale un team di ricercatori ha introdotto DeepOnto, un pacchetto Python sviluppato specificamente per l’ingegneria delle ontologie che consente una integrazione senza soluzione di continuità dei framework e delle API.

Il pacchetto DeepOnto fornisce un supporto completo, generale e compatibile con Python per l’ingegneria delle ontologie basate sul deep learning e consiste in un modulo di elaborazione delle ontologie come base che supporta operazioni di base come il caricamento, il salvataggio, l’interrogazione delle entità, la modifica delle entità e degli assiomi, e funzioni avanzate come il ragionamento e la verbalizzazione. Include anche strumenti e risorse per l’allineamento delle ontologie, il completamento e la modellazione del linguaggio basata sull’ontologia.

Il team ha scelto l’OWL API come dipendenza di backend per DeepOnto. Questo a causa delle caratteristiche dell’API, come la sua stabilità, affidabilità e diffusa adozione in progetti e strumenti notevoli come ROBOT e HermiT. PyTorch è la base per le dipendenze di deep learning di DeepOnto grazie al suo grafo di calcolo dinamico, che consente l’adattamento a tempo di esecuzione dell’architettura del modello, offrendo flessibilità e usabilità. La libreria Transformers di Huggingface è stata utilizzata per le applicazioni di modelli di linguaggio e la libreria OpenPrompt è stata utilizzata per supportare il paradigma di apprendimento delle prompt, che è una base fondamentale per i grandi modelli di linguaggio come ChatGPT.

Il modulo di base di elaborazione delle ontologie di DeepOnto è composto da una serie di parti, ognuna delle quali svolge un compito specifico: in primo luogo, l’Ontologia, la classe di base di DeepOnto che offre i metodi fondamentali per visualizzare e modificare un’ontologia. In secondo luogo, il ragionamento dell’ontologia, che viene utilizzato per condurre attività di ragionamento, seguito dalla potatura dell’ontologia in cui viene presa un’ontologia e ne viene estratto un sottoinsieme scalabile a seconda di criteri specifici, come i tipi semantici. Infine, c’è la verbalizzazione dell’ontologia che migliora l’accessibilità dell’ontologia e aiuta in una varietà di attività di ingegneria delle ontologie verbalizzando gli elementi dell’ontologia in testo in linguaggio naturale.

Il team ha dimostrato l’utilità pratica di DeepOnto con l’aiuto di due casi d’uso. Nel primo caso d’uso, DeepOnto è stato utilizzato per aiutare compiti di ingegneria delle ontologie nel contesto del Digital Health Coaching presso Samsung Research UK. Il secondo caso d’uso è quello del Bio-ML track dell’Ontology Alignment Evaluation Initiative (OAEI), in cui DeepOnto è stato utilizzato per allineare e completare ontologie biomediche utilizzando tecniche di deep learning.

In conclusione, DeepOnto è un pacchetto solido per l’ingegneria delle ontologie e rappresenta un’ottima aggiunta agli sviluppi nel campo dell’Intelligenza Artificiale. Per implementazioni e progetti futuri come i logic embeddings e la scoperta e introduzione di nuovi concetti, DeepOnto fornisce un’interfaccia flessibile ed espandibile.