Che cos'è l'elaborazione del linguaggio naturale?
L'elaborazione del linguaggio naturale (PNL) è un modo di tradurre tra linguaggi informatici e linguaggi umani. L'obiettivo di questo campo è consentire ai computer di comprendere ciò che dice un testo senza che vengano forniti valori ed equazioni precise per i dati contenuti nel testo. In sostanza, l'elaborazione del linguaggio naturale automatizza il processo di traduzione tra linguaggio umano e computer. Sebbene gran parte di questo campo si basi su statistiche e modelli per determinare i probabili significati di una frase, esistono e sono stati adottati molti approcci diversi a questo problema. I risultati in questo campo hanno applicazioni nelle aree del riconoscimento vocale, della traduzione del linguaggio umano, del recupero delle informazioni e persino dell'intelligenza artificiale.
Sviluppandosi da un background in informatica e linguistica, l'elaborazione del linguaggio naturale deve affrontare molti problemi perché il linguaggio non è sempre coerente e non tutti gli indizi sul significato sono contenuti nel linguaggio stesso. Anche un resoconto completo dell'intera grammatica di una lingua, comprese tutte le eccezioni, non sempre consente a un computer di analizzare le informazioni contenute in un testo. Alcune frasi sono sintatticamente ambigue, le parole hanno spesso più di un significato e alcune combinazioni di suoni o simboli cambiano il loro significato a seconda dei confini delle parole, il che può essere un problema per un computer che non comprende il contesto. Ancora più importante, gran parte del linguaggio dipende da una connessione con l'universo fisico e sociale - alcune frasi, come gli atti linguistici, non trasmettono informazioni quanto agiscono sul mondo. Anche se un computer ha una perfetta comprensione della sintassi e della semantica del linguaggio umano, il testo da analizzare deve essere privo di dispositivi umani, come il sarcasmo o l'aggressività passiva, affinché il computer possa accertare correttamente cosa significa il testo.
Dal punto di vista ideologico, l'elaborazione del linguaggio naturale è un sistema di interazione uomo-computer che è governato dall'idea che la maggior parte degli utenti di computer si sente più a suo agio a lavorare con i computer in un linguaggio umano che già conoscono piuttosto che adattarsi al linguaggio di un computer. Sfrutta anche il fatto che gran parte della conoscenza umana è già codificata nel linguaggio umano e che i testi che contengono tale conoscenza possono essere tradotti in strutture logiche che possono essere semplificate per un computer. Mentre molti progetti in questo campo lavorano per estrarre dati leggibili dal computer da testi in linguaggio umano, l'elaborazione del linguaggio naturale viene anche utilizzata per generare testi leggibili dall'uomo da dati informatici. Entrambe queste strutture di comprensione e generazione possono essere utilizzate dalla stessa tecnologia, come nel caso di applicazioni che traducono da un linguaggio umano all'altro decodificando prima il testo in un linguaggio informatico, quindi codificandolo in un altro linguaggio umano. Le innovazioni ottenute nelle attività di elaborazione del linguaggio naturale sono anche sorprendentemente applicabili ai progetti di intelligenza artificiale a causa del grado in cui l'intelligenza umana è definita da una padronanza delle complessità del linguaggio umano.