Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Storia dell'Elaborazione del Linguaggio Naturale: Dalle origini all'IA - Prof. Monteleone, Appunti di Linguistica

riassunto corso linguistica computazionale

Tipologia: Appunti

2018/2019

Caricato il 30/05/2019

Roronoa94
Roronoa94 🇮🇹

4.6

(26)

26 documenti

1 / 7

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Storia dell’elaborazione del linguaggio naturale
Nel 1939 durante la Seconda Guerra Mondiale un team di scienziati,matematici ed
ingegneri si riunì fuori Londra per discutere dello sviluppo di macchine che
decriptavano il codice segreto usato dalla macchina nazista Enigma per comunicare
tra i vari reparti. Il matematico Turing affermò di voler inventare una macchina
universale,la famosa “Macchina di Turing”. Secondo la sua idea questa macchina
doveva avere una struttura fissa che usando istruzioni e dati codificati,inseriti
nella sua memoria,potesse svolgere qualsiasi compito algoritmico,dal cambiare da
macchina dedicata ad un compito,ad esempio di calcolatrice,ad una macchina
dedicata ad un compito di editor di testo.
Inizialmente per decifrare i codici delle macchine tedesche sempre più
innovative,come la Fish,Turing,insieme a Newman e Wymm-Williams produsse la
Heath Robinson che riusciva a leggere 2000 caratteri al secondo,dimostrando che i
dispositivi elettronici ad alta velocità potevano svolgere con successo questo tipo di
azioni. In poco tempo però la Heath Robinson diventò obsoleta e così ci fu l’esigenza
di costruire una macchina ancora più grande,veloce e potente. Flowers ispirandosi ai
lavori di Turing con la Heath Robinson costruì il Colossus:la prima versione leggeva
5000 caratteri al secondo,la seconda invece 25000 caratteri al secondo perché
riusciva ad eseguire diverse operazioni in parallelo disponendo inoltre di una
memoria a breve termine.
Successivamente Turing e Newman lavorarono per la costruzione del computer
avanzato chiamato Pilot ACE(Pilot Automatic Computing Engine) proponendo il
concetto di Programma Memorizzato che consisteva in un programma residente
all’interno del computer che rendeva possibile l’utilizzo simultaneo di programmi
e dati attraverso un unico dispositivo di input.
Durante la Guerra Fredda,la paura di una guerra nucleare e delle spie sovietiche
scatenò l’esigenza dell’Elaborazione del Linguaggio Naturale(NLP),un processo
di trattamento automatico delle informazioni attraverso un calcolatore
elettronico,iniziata con la traduzione della lingua russa,sia scritta che
parlata,utilizzando un algoritmo capace di tradurre i testi molto velocemente e
soprattutto con una bassa percentuale di errori,senza ricorrere quindi ad
operazioni di editing(correzione umana). La prima traduzione automatica avvenne
nella dimostrazione di Georgetown nel 1954 in cui furono convertiti più di 60
dichiarazioni russe in inglese,utilizzando il computer matematico,poi trasformato in
traduttore elettronico,IBM 701,che era composto da un nastro con i numeri di
codice russi alimentato nella macchina a cui corrispondevano numeri di codice
inglesi. Nel 1966 però l’ALPAC(Comitato consultivo per l’elaborazione del
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Storia dell'Elaborazione del Linguaggio Naturale: Dalle origini all'IA - Prof. Monteleone e più Appunti in PDF di Linguistica solo su Docsity!

Storia dell’elaborazione del linguaggio naturale

Nel 1939 durante la Seconda Guerra Mondiale un team di scienziati,matematici ed ingegneri si riunì fuori Londra per discutere dello sviluppo di macchine che decriptavano il codice segreto usato dalla macchina nazista Enigma per comunicare tra i vari reparti. Il matematico Turing affermò di voler inventare una macchina universale,la famosa “ Macchina di Turing ”. Secondo la sua idea questa macchina doveva avere una struttura fissa che usando istruzioni e dati codificati,inseriti nella sua memoria,potesse svolgere qualsiasi compito algoritmico ,dal cambiare da macchina dedicata ad un compito,ad esempio di calcolatrice,ad una macchina dedicata ad un compito di editor di testo.

Inizialmente per decifrare i codici delle macchine tedesche sempre più innovative,come la Fish,Turing,insieme a Newman e Wymm-Williams produsse la Heath Robinson che riusciva a leggere 2000 caratteri al secondo,dimostrando che i dispositivi elettronici ad alta velocità potevano svolgere con successo questo tipo di azioni. In poco tempo però la Heath Robinson diventò obsoleta e così ci fu l’esigenza di costruire una macchina ancora più grande,veloce e potente. Flowers ispirandosi ai lavori di Turing con la Heath Robinson costruì il Colossus :la prima versione leggeva 5000 caratteri al secondo,la seconda invece 25000 caratteri al secondo perché riusciva ad eseguire diverse operazioni in parallelo disponendo inoltre di una memoria a breve termine.

Successivamente Turing e Newman lavorarono per la costruzione del computer avanzato chiamato Pilot ACE (Pilot Automatic Computing Engine) proponendo il concetto di Programma Memorizzato che consisteva in un programma residente all’interno del computer che rendeva possibile l’utilizzo simultaneo di programmi e dati attraverso un unico dispositivo di input.

Durante la Guerra Fredda,la paura di una guerra nucleare e delle spie sovietiche scatenò l’esigenza dell’Elaborazione del Linguaggio Naturale(NLP),un processo di trattamento automatico delle informazioni attraverso un calcolatore elettronico ,iniziata con la traduzione della lingua russa,sia scritta che parlata,utilizzando un algoritmo capace di tradurre i testi molto velocemente e soprattutto con una bassa percentuale di errori ,senza ricorrere quindi ad operazioni di editing(correzione umana). La prima traduzione automatica avvenne nella dimostrazione di Georgetown nel 1954 in cui furono convertiti più di 60 dichiarazioni russe in inglese,utilizzando il computer matematico,poi trasformato in traduttore elettronico, IBM 701 ,che era composto da un nastro con i numeri di codice russi alimentato nella macchina a cui corrispondevano numeri di codice inglesi. Nel 1966 però l’ALPAC(Comitato consultivo per l’elaborazione del

linguaggio) fermò le ricerche sulla traduzione automatica perché il progresso era stato lento e la macchina di traduzione era molto costosa: l’errore fu quello di concentrarsi solo su traduzioni utili alle agenzie governative ignorando l’utilità che essa potesse avere in altri ambiti. Questa ristrettezza fu il motivo principale che portò al fallimento del primo tentativo della macchina di traduzione automatica.

Solo verso gli anni ’80 un gruppo di statistici guidati da Jelinek pensarono di utilizzare la statistica e la probabilità per elaborare il linguaggio,favoriti dalla diffusione di computer più potenti che permettevano la creazione di programmi come l’IA(Intelligenza Artificiale) che poteva simulare la conversazione naturale umana.

Problemi di comprensione del linguaggio naturale da parte del computer

Esistono diversi motivi per cui la ricerca con l’utilizzo del linguaggio naturale potrebbe non funzionare:

1 Molti provider di ricerca si basano su un tipo di ricerca incentrato su “espansione semantica” ,ovvero tramite parole chiave ,prendendo le parole che gli utenti digitano e facendo uso di un dizionario,o di un corpus linguistico,espandendo la query di ricerca dell’utente ad una query di ricerca più lunga ed avanzata. Ad esempio se viene digitato “assicurazione per un Doberman” l’espansione semantica invierebbe al motore di ricerca “Polizza o società di assicurazione” e “Doberman o Boxer o Bulldog” e si potrebbe facilmente ottenere come risultato “Senatore Boxer”.

2 Le società di informatica che rielaborano le informazioni come Autonomy, dichiarano che il loro motore di ricerca si basa sulla statistica secondo cui se due parole si trovano in determinati testi,le due parole sono collegate tra loro. Così nel momento in cui cerchiamo una delle due parole,troveremo anche l’altra,con la possibilità di ottenere come risultato di ricerca un’informazione che non ci interessa.

3 Quando si digita una frase che contiene una parola che si può riferire ad un contesto come ad un altro,la ricerca porterà i risultati di entrambi i riferimenti indipendentemente da quale risultato si vuole ottenere. Per evitare questo tipo di problema è consigliato inserire un “tag”,un identificatore,una parola chiave o un termine associato che descrive l’oggetto rendendo possibile la classificazione.

4 Molti produttori suggeriscono di utilizzare l’NLP per implementare le chatbots ,che sono dei software progettati per simulare conversazioni intelligenti con esseri umani tramite l'uso della voce o del testo,che attraverso sofisticati sistemi di elaborazione del linguaggio e scansione delle parole chiave formano la “ proprietà di conoscenza ”. Col tempo quindi la chatbot prende vita,il contenuto del sito cambia e gli utenti pongono altri tipi di domande.

staff collabora a stretto contatto col vecchio staff in modo da imparare passo per passo e in maniera più attiva il migliore approccio al lavoro.

Elaborazione linguaggio naturale e Linguistica

La comprensione del linguaggio naturale si basa sulla Linguistica Computazionale (collegata con Linguistica generale e Linguistica applicata).

La Linguistica Generale studia la struttura generale delle varie lingue naturali,scopre le leggi del loro funzionamento e si divide in: fonologia (i suoni del parlato); morfologia (struttura interna delle singole parole e leggi che regolano la formazione delle parole); sintassi (struttura frasi e leggi che regolano le connessioni tra le parole); semantica (significato parole e testi); pragmatica (ragioni per cui sono prodotte frasi e testi in determinati contesti).

La Linguistica Applicata studia l’utilizzo delle regole di linguistica generale per la diffusione pratica.

Linguistica Computazionale

La Linguistica Computazionale è la scienza che si concentra sullo sviluppo di programmi informatici per l’elaborazione automatica del linguaggio(parole e testi) naturale ,quindi i fenomeni presi in esame,riguardanti la linguistica generale,sono molto variabili essendo la lingua un oggetto variabile,il cui studio ha visto formarsi diversi tipi di approcci. Saussure considerava il linguaggio naturale come una struttura di elementi correlati ,per cui l’ordine delle parole in una frase era lo strumento per riconoscere gruppi di parole e le strutture di una frase. Il suo approccio fu definito Strutturalismo.

Chomsky

Un contributo importante per lo sviluppo di teorie che analizzavano meglio la struttura e le caratteristiche della lingua fu dato dal linguista americano Chomsky che sostiene che per poter comprendere il funzionamento di una lingua non è sufficiente descriverne la struttura,i componenti e i rapporti che intercorrono tra essi. Lo strutturalismo,secondo Chomsky non analizza come i parlanti sono in grado di produrre e di comprendere frasi che non hanno mai udito prima,ed egli afferma che esiste una creatività del linguaggio secondo cui si generano nuove frasi. Per cui la capacità linguistica che ciascun parlante possiede non è riducibile alla meccanicità delle regole grammaticali:la grammatica è solo una conoscenza innata che permette di generare infinite frasi a seconda di come combiniamo le parole. Questa teoria fu definita innatismo del linguaggio.

La grammatica generativa di Chomsky produce stringhe di simboli e gruppi di queste stringhe sono definite lingue formali. La derivazione di una frase da una Grammatica libera dal contesto può essere descritta da un albero sintattico dove la frase non è semplicemente una stringa di parole,ma un albero con rami subordinati e connessi a dei nodi. Nella frase “Il cane mangia l’osso” l’albero si sviluppa in:

Frase (Il cane mangia l’osso) >

Sintagma Nominale (Il cane) e Sintagma Verbale (mangia l’osso);

Sintagma Nominale >

Determinante (Il) e Sostantivo (cane);

Sintagma Verbale >

Verbo (mangia) e Sintagma Nominale2 (l’osso);

Sintagma Nominale2 >

Determinante2 (l’) e Sostantivo2 (osso).

Questa è una struttura nidificata di una frase che suddivide la frase in pezzi sempre più piccoli e così via dove simboli vengono definiti non-terminali perché nello sviluppo dell’albero vengono sostituiti con un’altra stringa di simboli non-terminali. Chomsky propose la Grammatica trasformazionale ,cioè un insieme di regole che danno vita a inserimenti,modifiche e cambiamenti grammaticali passando da una frase affermativa alla costruzione di una frase interrogativa o negativa,o da una frase in forma attiva ad una in forma passiva.

Classificazione sistemi linguistici applicati

Gli scopi per lo sviluppo della linguistica computazionale sono diversi e sono già state sviluppate diverse applicazioni relative alla preparazione o correzione del testo:

Sillabazione Automatica delle parole (Microsoft Word ha nel suo menù la voce Sillabazione),

Controllo Ortografico (errori di battitura e di sincronizzazione delle dita. Quando si digita una parola appartenente ad un’altra lingua naturale ed è identificata dal correttore,l’utente può correggere manualmente),

Controllo Grammaticale (Difficoltà quando le parole che devono accordarsi si trovano in punti distanti della frase. Il correttore grammaticale di Microsoft Word è utile ma ancora imperfetto),

Informazione per fornire accesso a pubblicazioni,libri ed altri documenti e anche noi attuiamo questo processo quando facciamo una ricerca sul web o quando controlliamo l’e-mail. Lo scopo dell'IR è garantire all’utente,in seguito ad una sua ricerca,i documenti e le informazioni che rispondono alla sua richiesta. I concetti fondamentali per analizzare un sistema di IR sono:

Le Query "interrogazioni" ,sono stringhe di parole-chiavi rappresentanti l'informazione richiesta ;vengono digitate dall’utente in un sistema IR(es. motore di ricerca) e sono la concretizzazione del reale bisogno informativo dell'utente.

Un Oggetto è un'entità che possiede informazioni le quali potrebbero essere risposta dell'interrogazione dell'utente. Un documento di testo,per esempio,è un oggetto di dati.

Nel momento in cui un utente intende usare un qualsiasi sistema di reperimento dell'informazione(per esempio,un motore di ricerca)per acquisire informazioni su un determinato argomento,questi deve tradurre tale necessità in una Query; il sistema di IR ha il compito di restituire,a partire da essa,tutti i documenti rilevanti alla richiesta effettuata.

Ci sono molti modi per misurare quanto l'informazione intesa si associa bene all'informazione recuperata:

Precisione (La precisione può essere vista come una misura di esattezza o fedeltà ).

Recupero/richiamo (mentre il recupero è una misura di completezza ).