CONTESTO:
Nell'ambito della Elaborazione del Linguaggio Naturale (NLP) diverse tecnologie possono essere applicate per eseguire un singolo task. Una soluzione può essere basata su un approccio statistico (Machine Learning), su un approccio semantico, o su una combinazione delle due diverse strade. A seconda del task e del problema, l'esecuzione di un particolare approccio può permettere il raggiungimento di migliori performance, perciò è importante capire a priori quale tecnologia utilizzare nel problema da aggredire. Inoltre spesso in casi d'uso reali l'applicazione dell'approccio migliore è minata da diverse difficoltà: nel caso statistico può essere difficile creare un dataset ampio e consistente, mentre nell'approccio semantico può essere difficile creare una knowledge base sufficiente per il task.
OBIETTIVI:
L'obiettivo del lavoro è quello di definire un approccio analitico per individuare a priori la tecnologia da applicare e gli strumenti necessari per eseguire un task NLP comune (classificazione, estrazione di entità), e di confrontare le performance dei due diversi approcci (statistico, semantico) nell'esecuzione di un task NLP in un caso reale.
TECNOLOGIE:
Python, Transformers, Semantica, Knowledge base, Knowledge Graphs, Ontologie, Deep Learning, Machine Learning, TensorFlow, PyTorch, Hardware GPU