NLP
Natural Language Processing
Elaborazione del linguaggio naturale
È un ramo accessorio della linguistica (studio scientifico del linguaggio verbale umano e delle sue strutture), dell’informatica (scienza che si occupa del trattamento dell’informazione mediante procedure automatizzate) e del machine learning (intelligenza artificiale) che tratta l’interazione tra i computer e il linguaggio umano con l’obbiettivo di rendere la tecnologia in grado di comprendere il contenuto dei documenti e le loro sfumature contestuali (riconoscimento vocale, comprensione del linguaggio naturale e la generazione del linguaggio naturale) per classificarli e categorizzarli.
Le difficoltà e le complessità, caratteristiche intrinseche dell’ambiguità del linguaggio umano, hanno reso necessario suddividere il processo di elaborazione in quattro fasi cercando di uniformarle alle stesse difficoltà e le complessità che si riscontrano nel processo di elaborazione di un linguaggio di programmazione:
- analisi lessicale: scomposizione di un’espressione linguistica in token (in questo caso le parole);
- analisi grammaticale: associazione delle parti del discorso a ciascuna parola nel testo;
- analisi sintattica: arrangiamento dei token in una struttura sintattica (ad albero: parse tree);
- analisi semantica: assegnazione di un significato (semantica) alla struttura sintattica e, di conseguenza, all’espressione linguistica.
Nell’analisi semantica la procedura automatica che attribuisce all’espressione linguistica un significato tra i diversi possibili è detta disambiguazione.
Il risultato finale consente la creazione di un linguaggio computazionale comprensibile visivamente e testualmente all’uomo.