Linguistica computazionale

La linguistica computazionale si pone il problema di mettere in condizione la macchina di decifrare il linguaggio umano, sia parlato che scritto, comprendere il significato di ciò che ha acquisito e decodificato, produrre documenti di testo o vocali altrettanto significativi e pertinenti al contesto a cui sono destinati. 

I linguaggi formali, come quelli logici e matematici, sono relativamente semplici per un computer, perché hanno enunciati e significati certi, univoci, inequivocabili, indipendenti dal contesto e dalle circostanze. Ben diversi sono i linguaggi naturali, che hanno forme e significati mutevoli, ambigui, e che spesso vengono usati per mentire, imbrogliare, dissimulare. Lo stesso termine o la stessa frase acquistano significati diversi a seconda di chi li pronuncia, a chi li rivolge, in quale situazione, con quale scopo. Le cose si complicano ulteriormente aggiungendo alle lingue parlate le lingue morte e arcaiche, i dialetti, i gerghi sociali e tecnici.

Per poter gestire il linguaggio naturale occorre una teoria computazionale del linguaggio da cui sviluppare algoritmi linguistici. Come per qualsiasi altro problema, si parte dalla raccolta dei dati, che in questo caso saranno parole e frasi. I dati vengono organizzati con strutture formali come gerarchie di significati, somiglianze e differenze, elementi grammaticali e sintattici, processi di significato. Si elaborano modelli che simulano i comportamenti linguistici umani di chi legge, ascolta, apprende, parla e scrive.

Le tecnologie informatiche attuali permettono di consultare enormi quantità di dati da cui apprendere significati, regole, corrispondenze fra lingue diverse. Digitalizzazione di testi, traduzione automatica, trascrizione del parlato, richiedono metodi matematici e statistici per analizzare i dati linguistici ed elaborare modelli del linguaggio.

Il Natural Language Processing (NLP) o Trattamento Automatico del Linguaggio sviluppa conoscenze linguistiche per progettare programmi e sistemi informatici che svolgano in modo automatico o in collaborazione con l’uomo compiti linguistici come il controllo della correttezza grammaticale e ortografica, dizionari e traduttori, risponditori a domande e ricerche.

La fonetica computazionale si occupa delle campionature audio delle parole e delle corrispondenze fra lingua parlata e scritta. La morfologia computazionale si occupa della struttura delle parole, delle etimologie, declinazioni, coniugazioni, scomposizioni e combinazioni di termini, dei dizionari. La sintassi computazionale analizza le parti del discorso, strutture e regole grammaticali, relazioni con i contesti, strutture, arborescenze e dipendenze, caratteristiche dei linguaggi formali e naturali. La semantica computazionale riguarda i lessici, le disambiguazioni di significato, le semantiche delle parole e delle frasi.

La linguistica computazionale cerca di trovare una mediazione fra il linguaggio umano e le capacità di comprensione della macchina, limitate a quanto può essere descritto mediante regole formali. Alle regole astratte, che impongono di usare in un certo modo parole e frasi, si aggiungono le regolarità che emergono dalle analisi statistiche dei big data linguistici.