Il Natural Language Processing

Lo sviluppo di applicazioni software che fanno uso di tecniche di NLP non è un fatto nuovo; Systran (il primo sistema commerciale di traduzione automatica), per esempio, è stato realizzato nel 1960, e nelle decadi successive si è avuto un flusso costante di trasferimento di tecnologia, dall’uso di teorie dei linguaggi formali nella costruzione di compilatori, al controllo ortografico nei word processor. Lo sviluppo di applicazioni software che fanno uso di tecniche di NLP non è un fatto nuovo; Systran (il primo sistema commerciale di traduzione automatica), per esempio, è stato realizzato nel 1960, e nelle decadi successive si è avuto un flusso costante di trasferimento di tecnologia, dall’uso di teorie dei linguaggi formali nella costruzione di compilatori, al controllo ortografico nei word processor.

Che cos’è il Clustering?
Introduzione ai Web Services
Panoramica sui servizi di Platform as a Service

Lo sviluppo di applicazioni software che fanno uso di tecniche di Natural Language Processing non è un fatto nuovo; Systran (il primo sistema commerciale di traduzione automatica), per esempio, è stato realizzato nel 1960, e nelle decadi successive si è avuto un flusso costante di trasferimento di tecnologia, dall’uso di teorie dei linguaggi formali nella costruzione di compilatori, al controllo ortografico nei word processor.

Le ragioni per cui recentemente le applicazioni software hanno subito una forte impennata sono:

  • la rapida crescita tecnologica che ha notevolmente aumentato la velocità dei processori e la  capacità di memoria, a cui è corrisposta una drastica diminuzione dei prezzi, e quindi processi computazionalmente costosi caratteristici dell’elaborazione del linguaggio lavorano molto più velocemente;
  • la crescente disponibilità su larga scala di risorse linguistiche on-line, come dizionari, thesauri, corpora per diverse lingue annotati con informazioni descrittive;
  • la domanda di applicazioni in un mondo in cui i testi elettronici sono cresciuti in volume e dove le comunicazioni elettroniche e la mobilità hanno accresciuto l’importanza della comunicazione multilingua;
  • la maturità della tecnologia NLP oggi disponibile, per alcuni compiti.

Definizione del NLP

Il linguaggio è come “un sistema per l’espressione dei pensieri, bisogni, ecc.., mediante l’uso di suoni parlati o simboli convenzionali” [1], il linguaggio è un meccanismo di comunicazione il cui tramite è il testo o il discorso.

Il Natural Language Processing è un termine utilizzato in vari modi in differenti contesti, è un ramo dell’informatica che studia “sistemi automatici per l’elaborazione del linguaggio naturale, include lo sviluppo di algoritmi per il parsing, la generazione, e l’ acquisizione di conoscenza linguistica; l’indagine sulla complessità spaziale e temporale di tali algoritmi; la progettazione di linguaggi formali computazionalmente utili (come grammatiche e formalismi lessicali) per codificare conoscenza linguistica; l’indagine su architetture software appropriate per i vari compiti del NLP; e considerazioni sui tipi di conoscenza non linguistica che vengono a contatto con il NLP. E’ un’area di studio discretamente astratta che non mette particolare impegno nello studio della mente umana, e neppure mette particolare impegno nel produrre artefatti utili.” [2].

In definitiva l’NLP è quella parte dell’informatica che si occupa dei sistemi computerizzati per l’elaborazione del linguaggio. Il Language Engineering è l’applicazione del NLP alla costruzione di sistemi computerizzati che elaborano il linguaggio per qualche compito come la modellazione del linguaggio stesso, o “…l’uso strumentale della elaborazione del linguaggio, tipicamente come parte di un sistema più grande con qualche obiettivo pratico, per esempio l’accesso ad un database” [3]. Quindi possiamo dare la seguente definizione: il Natural Language Processing è “lo studio dei sistemi informatici per la comprensione e generazione del linguaggio naturale”. L’elaborazione automatica del linguaggio naturale ha lo scopo di implementare strumenti informatici per analizzare, comprendere e generare testi che gli uomini possano comprendere in maniera naturale, come se stessero comunicando con un altro interlocutore umano e non un computer. È caratterizzato da due prospettive diverse, che mirano l’una all’analisi del materiale testuale, l’altra alla generazione di testi linguistici:

  • Natural Language Analysis (NLA) o Natural Language Understanding (NLU): data una frase ha l’obiettivo di darne una rappresentazione della sua analisi, ossia del processo di comprensione della frase;
  • Natural Language Generation (NLG): data una grammatica di una lingua naturale, ha lo scopo di produrne frasi di senso compiuto.

Riferimenti

[1]  M. Makins, editor. Collins English Dictionary, 3rd Edition. Harper Collins, 1991.

[2]  G. Gazdar. Paradigm merger in natural language processing. In R. Milner and I. Wand, editors, Computing Tomorrow: Future Research Directions in Computer Science, pages 88–109. Cambridge University Press, 1996.

[3]  H. Thompson. Natural language processing: a critical analysis of the structure of  the field, with some implications for parsing. In K. Sparck­Jones and Y. Wilks, editors, Automatic Natural Language Parsing. Ellis Horwood, 1985.

COMMENTS

WORDPRESS: 0