La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Trattamento Automatico del Linguaggio Naturale (1)

Presentazioni simili


Presentazione sul tema: "Trattamento Automatico del Linguaggio Naturale (1)"— Transcript della presentazione:

1 Trattamento Automatico del Linguaggio Naturale (1)
Cristina Bosco Informatica applicata alla comunicazione multimediale

2 Di cosa parleremo definizione di NLP e MT problemi e sottoproblemi
approcci valutazione

3 Definizione Con Trattamento Automatico del Linguaggio Naturale (TAL) o il suo equivalente inglese Natural Language Processing (NLP) o Linguistica Computazionale si indica quella parte dell’Intelligenza Artificiale che si occupa specificamente del linguaggio umano distinguendolo, grazie al termine NATURALE, dai linguaggi di programmazione o della logica.

4 Origini di NLP Uno dei primi problemi che si è cercato di trattare con il computer è quello della traduzione automatica da una lingua ad un’altra, in inglese Machine Translation (MT). Ma a causa delle difficoltà emerse nello sviluppo di sistemi di MT, ci si è rivolti ad approfondire i problemi del linguaggio naturale anche in modo indipendente dalla MT.

5 Brevissima storia di NLP e MT
Anni ’30: si costruiscono le 2 prime macchine di MT 1949: memorandum “On Translation” Anni ‘50-’60: si sviluppano i primi sistemi di MT Anni ‘60: la MT riceve molte critiche 1966: viene stilato il rapporto ALPAC Dopo il 1966: nascono NLP e CAT Fine ‘900: si ricomincia a lavorare a MT

6 NLP: i problemi L’approfondimento dello studio del linguaggio ha portato i ricercatori a scoprire una grande varietà di problemi ad esso sottostanti. Noi parleremo in particolare di: ambiguità nel linguaggio naturale variabilità e costante evoluzione del linguaggio naturale differenze tra lingue, che possono richiedere algoritmi parzialmente diversi, e che impattano fortemente sui sistemi di MT.

7 NLP: esiste una GU? Se fosse possibile ritrovare, al di là delle differenze, una condivisione di principi tra le diverse lingue ed una struttura basilare comune a tutti i linguaggi, allora si potrebbero trattare tutte le lingue con approcci e sistemi simili. Ma esistono principi comuni a tutte le lingue? Secondo la teoria della Grammatica Universale (GU) proposta da Noham Chomsky, questi principi esistono.

8 NLP: esiste una GU? La GU è una teoria linguistica secondo la quale i principi della grammatica sono condivisi da tutte le lingue, e sono innati in tutti gli esseri umani. Chomsky propose questa teoria per spiegare l’acquisizione del linguaggio in presenza di stimoli limitati: come può il bambino imparare così bene la sua lingua madre e in così poco tempo?

9 NLP: esiste una GU? Chi parla fluentemente una lingua sa quali espressioni sono accettabili nella propria lingua e quali espressioni sono inaccettabili. L'enigma chiave è capire come chi parla riesce a comprendere le restrizioni del proprio linguaggio, dal momento che le espressioni che violano tali restrizioni non vengono percepite durante l'apprendimento, né vengono indicate come tali.

10 NLP: esiste una GU? Lo stimolo offerto a chi apprende non contiene prove che un'espressione appartenga alla classe di frasi grammaticalmente scorrette e le espressioni scorrette non vengono proposte a chi apprende la lingua. La GU conterrebbe le restrizioni su come è fatto il linguaggio che portano chi apprende a non poter generalizzare le regole in modo illecito.

11 NLP: esiste una GU? L'idea di regole universali è presente già nel pensiero di Fancesco Bacone e dei grammatici speculativi che postulavano regole universali alla base di tutte le grammatiche, e sta alla base di molte teorie filosofiche del XVII secolo.

12 NLP: esiste una GU? Secondo Sampson le teorie sulla GU non sono refutabili in quanto le generalizzazioni grammaticali alla base della GU sono speculazioni sulle lingue esistenti, e non valutazioni predittive sulle possibilità di una lingua. La povertà dello stimolo si spiega osservando che chi apprende un linguaggio può ipotizzare da solo le restrizioni grammaticali notando l'assenza di una certa classe di espressioni.

13 NLP: esiste una GU? Come vedremo più avanti, esistono approcci alla MT che presuppongono l’esistenza di una sorta di GU, ma si sono rivelati in pratica non realizzabili. E vedremo che si è rivelato molto difficile anche pensare di descrivere completamente una lingua tramite regole. Sono queste delle prove empiriche del fatto che non esiste una GU?

14 NLP: suddivisione in sottoproblemi
Il compito che NLP deve affrontare è quello di COMPRENDERE IL LINGUAGGIO NATURALE. Vista la sua difficoltà, si suddivide tale compito in sottocompiti più semplici in cui occorre solo una parziale comprensione del linguaggio: Information Extraction Information Retrieval Machine Translation Sentiment Analysis e Opinion Mining

15 NLP: suddivisione in sottoproblemi
Anche quando si vuole affrontare il compito di COMPRENDERE IL LINGUAGGIO NATURALE, grazie a delle astrazioni lo si gestisce come composto da più compiti da affrontare separatamente: morfologia sintassi semantica pragmatica

16 NLP: suddivisione in sottoproblemi
Ad ogni livello di astrazione si risolvono diversi problemi ed in particolare: trattamento delle ambiguità rappresentazione adatta ai sistemi di NLP acquisizione e utilizzo di conoscenza linguistica linguistica nei sistemi di NLP

17 NLP: approcci Mettendo insieme la definizione di Informatica (= scienza che studia gli algoritmi per risolvere problemi) con quella di NLP, risulta chiaro che NLP si occupa di progettare gli algoritmi necessari a trattare in modo automatico il linguaggio naturale. Nel corso degli anni si sono studiati algoritmi che seguono approcci diversi ai problemi di NLP, e in particolare approcci basati su regole e approcci basati su corpora di dati linguistici.

18 NLP: approcci L’applicazione di un algoritmo che segue l’approccio basato su regole anziché quello basato su corpora ha degli effetti significativi su: come si costruisce il sistema di NLP quale conoscenza serve al sistema come deve essere acquisita la conoscenza come deve essere valutato il risultato prodotto dal sistema

19 NLP: valutazione Una importante attività legata ai sistemi di NLP è quella che riguarda la valutazione. L’obiettivo della valutazione è sempre quello di scoprire fino a che punto le prestazioni del sistema di NLP sono vicine a quelle offerte da un essere umano che svolge lo stesso compito. Si tratta quindi di una valutazione insieme qualitativa e quantitativa, che è molto importante per decidere se un sistema è pronto per essere utilizzato o dove si deve intervenire per migliorarlo.

20 NLP: valutazione L’idea della valutazione nasce contestualmente all’idea di Intelligenza Artificiale e resta presente in tutta la storia dell’NLP. Turing per primo richiama l’attenzione sulla valutazione proponendo il famoso test che porta il suo nome. Il rapporto ALPAC propone la prima valutazione “formale” della MT. Tutte le volte che si costruisce un sistema di NLP si deve dimostrare che produce i risultati attesi.

21 NLP: riassumendo Ci concentreremo su:
cosa significa comprendere il linguaggio cosa è l’ambiguità e perché ci interessa come si può rappresentare il linguaggio come si può trattare il linguaggio

22

23 Cosa significa comprendere il linguaggio naturale?
Comprendere un linguaggio naturale significa essere in grado di associare UNA SOLA interpretazione ad ogni espressione di tale linguaggio. Dove con espressione si intende: parola, sintagma, frase …

24 Human Language Understanding
• Si basa su una complessa conoscenza grammaticale e lessicale • È supportata da una almeno altrettanto ampia conoscenza del mondo • Insomma ... comprendere l’informazione codificata nel linguaggio richiede una quantità di conoscenza e competenza

25 Livelli di struttura linguistica
La complessità del linguaggio umano è tale che si è soliti assumere diversi livelli di astrazione per descriverlo ed analizzarlo. Questa assunzione è fondamentale per il NLP e per qualunque elaborazione automatica del inguaggio.

26 Livelli di struttura linguistica
• fonetico: suoni del parlato, come vengono prodotti, come vengono percepiti • fonologico: la struttura grammaticale dei suoni e del sistema sonoro Ogni lingua ha delle convenzioni in base alle quali certi suoni e certe composizioni di lettere sono accettabili ed altri no: ca / tcha / ça taogt / gatto

27 Livelli di struttura linguistica
• morfologico: come le sotto-unità delle parole si combinano per formare la parola * remangia vs mangiare * silavare vs lavarsi

28 Livelli di struttura linguistica
• sintattico: come le parole si combinano per formare la frase In italiano: * bianco Giorgio il vuole pane * Vuole bianco Giorgio pane il Giorgio vuole il pane bianco Ma in toba batak: Manjaha buku guru i legge libro maestro il

29 Livelli di struttura linguistica
• semantico (lessicale e proposizionale): che cosa significa ogni parola e come i significati delle parole si combinano per formare il significato della frase * la macchia invisibile crede nel cielo * idee verdi senza colore sognano furiosamente

30 Livelli di struttura linguistica
• pragmatico: in che modo i significati delle frasi sono utilizzati per manifestare gli scopi comunicativi degli esseri umani all’interno del contesto e della situazione di enunciazione La casa è la prima che trovi svoltando a destra dopo il teatro La prima notte di San Silvestro del nuovo millennio - Questo è bello

31 Problemi Oltre alla molta conoscenza che il NLU richiede, il principale problema del NLP è la pervasiva ambiguità del linguaggio a tutti i livelli di analisi. Noi vedremo in modo specifico i livelli morfologico e sintattico, che sono quelli maggiormente interessanti dal punto di vista della traduzione.

32 Cosa è l’ambiguità? Quando una frase contiene una ambiguità non è possibile darne una (SOLA) interpretazione.

33 Perchè ci interessa l’ambiguità?
Gli esseri umani hanno una quantità di conoscenza grazie alla quale non percepiscono molte delle ambiguità che invece una macchina trova nel linguaggio.

34 Ambiguità morfologica
Trans-categoriale: “Tutti hanno un TELEFONINO e a chi TELEFONINO non si capisce” - PESCA nome (il frutto, lo sport) verbo (lo sport, l’estrazione, ...) aggettivo (il colore)

35 Ambiguità semantica lessicale
brucia (bruciare, 3a persona, ind. pres., intr.): - La carta brucia (“è un combustibile”) - La casa di Mario brucia (“ha preso fuoco”) - Il peperoncino brucia (“è piccante”) - La minestra brucia (“è troppo calda”) - La gola brucia (“causa dolore fisico”) - La condanna brucia (“causa dolore mentale”)

36 Ambiguità sintattica Può essere indipendente dall’ambiguità morfologica: “Giorgio vide un uomo nel parco con il telescopio” Può causare ambiguità semantica: “Giorgio vide un uomo con un telescopio” Può essere relativa alle relazioni grammaticali: “Chi uccise il poliziotto?”

37 Ambiguità sintattica Può essere locale, nel senso che una parte della frase ammette diverse analisi, ma solo una di queste analisi è valida per la frase intera: “I soldati, avvertiti del pericolo ... ..., condussero il raid di mezzanotte.” ... i cittadini, condussero il raid di mezzanotte.”

38 Ambiguità sintattica Può essere globale ed anche irrisolvibile se la frase completa ammette più analisi tutte valide: “La vecchia porta la sbarra”

39 Ambiguità semantica Può essere determinata dall’ambiguità presente ad altri livelli, e può dipendere dai quantificatori: - Ogni uomo ama una donna = per ogni singolo uomo, esiste una singola donna che egli ama = esiste una sola singola donna che ognuno degli uomini (preso singolarmente) ama

40 E sottoproblemi Per gestire le difficoltà che la comprensione del linguaggio nel suo complesso comporta, si scompone il compito (task) del NLP in vari sottoproblemi (subtasks) relativamente indipendenti e consistenti con i livelli di analisi identificati a livello teorico.

41 Analisi morfologica Si analizza ogni parola PRESA SINGOLARMENTE e se ne esplicitano le caratteristiche grammaticali: categoria grammaticale della parola (Part of Speech tagging), come nome, verbo, aggettivo, ecc. Lemmatizzazione o ricerca delle radici, come “vedere” per “vidi”, “rosso” per “rossi”, ecc.

42 Analisi morfologica Deve essere chiarito cosa si intende per parola PRESA SINGOLARMENTE ovvero si deve affrontare la tokenizzazione del testo: mangiamelo è una singola parola o sono tre? della è una singola parola o sono due? e la punteggiatura?

43 Es.: la morfologia di CANI è
CANE (lemma), NOME COMUNE (categoria grammaticale), MASCHILE (genere), SINGOLARE (numero) Es.: la morfologia di DORMÌ è DORMIRE (lemma), VERBO (categoria grammaticale), INDICATIVO (modo), PASSATO REMOTO (tempo), 3 (persona), SINGOLARE (numero)

44 Analisi morfologica Un esempio di analisi morfologica di una frase
1. la (IL ART DEF F SING) 2. storia (STORIA NOUN COMMON F SING) 3. non (NON ADV NEG) 4. educa (EDUCARE VERB MAIN IND PRES 3 SING) 5. a (A PREP MONO) 6. nulla (NULLA NOUN COMMON M SING)

45 E se la parola è ambigua? Un esempio di analisi possibile:
1. la (IL ART DEF F SING) 2. pesca (PESCA NOUN COMMON F SING) pesca (PESCARE VERB MAIN IND PRES 3 SING) pesca (PESCARE VERB MAIN IMP PRES 2 SING) 3. non (NON ADV NEG) 4. è (ESSERE VERB MAIN IND PRES 3 SING) 5. un (UN ART INDEF M SING) 6. frutto (FRUTTO NOUN COMMON M SING)

46 Analisi sintattica Riguarda le informazioni a livello dell’intera frase e si può impostare secondo due modelli teorici: - riconoscimento della struttura sintagmatica della frase, cioè dei sintagmi e del modo in cui si compongono tra di loro - riconoscimento della struttura relazionale della frase in cui gli interi sintagmi o le singole parole sono legate tra di loro

47 Analisi sintattica La struttura sintagmatica: - in cosa consiste
- come si rappresenta

48 Analisi sintattica: sintagmi
La struttura sintagmatica della frase, detta anche struttura a costituenti rappresenta la suddivisione della frase in sottounità più piccole e così via procedendo in ordine gerarchico: La frase è un sintagma composto (e.g.) da sintagma nominale + sintagma verbale. Il sintagma verbale è composto (e.g.) da verbo + sintagma nominale. Il sintagma nominale è composto da articolo + sintagma nominale … ecc.

49 Analisi sintattica: sintagmi
La struttura sintagmatica della frase si rappresenta tradizionalmente con degli alberi, perchè sono le strutture che meglio consentono di mostrare un ordinamento gerarchico di elementi. Quindi il risultato prodotto su una frase da un sistema di analisi sintattica, detto PARSER, è un albero sintattico o albero di derivazione.

50 Analisi sintattica: sintagmi

51 Analisi sintattica: sintagmi
E se la frase contiene ambiguità sintattiche? Una frase ambigua permette più di una analisi sintattica, quindi verranno costruite più strutture per la stessa frase. Esempio: “Giorgio vide l’uomo dentro il parco con il telescopio”

52 Analisi sintattica: sintagmi

53 Analisi sintattica: sintagmi
L’albero di derivazione corrisponde alla seguente interpretazione della frase ambigua: Giorgio vide l’uomo, Giorgio lo vide dentro il parco, Giorgio lo vide utilizzando il telescopio

54 Analisi sintattica: sintagmi

55 Analisi sintattica: sintagmi
L’albero di derivazione corrisponde alla seguente interpretazione della frase ambigua: Giorgio vide l’uomo, Giorgio lo vide dentro il parco, il parco che ha il telescopio

56 Analisi sintattica: sintagmi

57 Analisi sintattica: sintagmi
L’albero di derivazione corrisponde alla seguente interpretazione della frase ambigua: Giorgio vide l’uomo, l’uomo che stava dentro il parco, e Giorgio lo vide utilizzando il telescopio

58 Analisi sintattica: sintagmi

59 Analisi sintattica: sintagmi
L’albero di derivazione corrisponde alla seguente interpretazione della frase ambigua: Giorgio vide l’uomo, l’uomo che stava dentro il parco, il parco che ha il telescopio

60 Analisi sintattica: sintagmi
I quattro alberi di derivazione non esauriscono tutte le possibili strutture che si possono costruire per la frase. In questo esempio l’ambiguità è determinata dalla presenza di sintagmi preposizionali che possono essere agganciati praticamente a qualunque altro sintagma.

61 Analisi sintattica La struttura relazionale: - in cosa consiste
- come si rappresenta

62 Analisi sintattica: relazioni
La struttura relazionale, detta anche struttura a dipendenze, mostra in che rapporto stanno tra loro le parole della frase tramite le cosiddette relazioni grammaticali o di dipendenza. In “il cane dorme” cane è il SOGGETTO del verbo dorme. In “Mario sovente mangia banane” sovente è un modificatore del verbo mangia, mentre banane è l’oggetto del verbo mangia.

63 Analisi sintattica: relazioni
La struttura a dipendenze della frase si rappresenta tradizionalmente con degli alberi, perchè sono le strutture che meglio consentono di mostrare le relazioni sugli archi che legano le parole. Quindi il risultato prodotto su una frase da un sistema di analisi sintattica, detto PARSER, è un albero sintattico a dipendenze.

64 Analisi sintattica: relazioni
Es.: la sintassi della frase “Giorgio ama Maria” ama SUBJ OBJ Giorgio Maria

65 Analisi sintattica: relazioni
Es.: la sintassi della frase “Balzac non perse mai la sua inclinazione per la speculazione.”

66 Analisi sintattica: relazioni
Es.: la sintassi della frase “Galli laeti in castra pergunt”

67 Analisi sintattica: relazioni
Es.: la sintassi della frase “Cicero consul coniurationem Catilinae detexit”

68 Analisi sintattica Qualunque sia la rappresentazione adottata per la sintassi, non si risolve il problema dell’ambiguità. Molto sovente le ambiguità del linguaggio naturale non sono percepite dagli esseri umani. Questo ha indotto gli studiosi di NLP a credere che trattare il linguaggio naturale fosse molto più semplice di quello che si è poi rivelato.

69 Analisi sintattica Un esempio concreto di come l’ambiguità sintattica non viene percepita? Io mangio le fragole con la panna. Quante diverse strutture sintattiche posso costruire?

70 ? A) B) mangio Io le fragole con la panna mangio Io le fragole

71 Io mangio le fragole con la panna.
Nessun essere umano sceglierebbe la B ed aggancerebbe il sintagma preposizionale con la panna al sintagma verbale mangio, invece che al sintagma nominale le fragole. Eppure la struttura B è assolutamente sensata dal punto di vista sintattico se si prescinde da qualunque considerazione semantica.

72 ? A) B) mangio le fragole Io con il cucchiaio mangio con il cucchiaio

73 Infatti, in altri casi, come
Io mangio le fragole con il cucchiaino. la struttura B verrebbe naturalmente scelta, agganciando il sintagma preposizionale con il cucchiaino al sintagma verbale mangio, invece che al sintagma nominale le fragole.

74 Inoltre, la presenza di ambiguità é proporzionale alla lunghezza della frase.
3 (7): List the sales of products in 1973 10 (8): List the sales of products produced in 1973 28 (13): List the sales of products produced in 1973 with the products in 1972 455 (14): List the sales of products produced in 1973 with the products produced in 1972

75 Il problema dell’ambiguità provocata dalla presenza dei sintagmi preposizionali è uno dei più classici e difficili per i sistemi di NLP. Alcuni esperimenti hanno dimostrato che scegliere dove agganciare il sintagma preposizionale è un compito difficile anche per gli esseri umani. Sicuramente i risultati dimostrano che lo è molto di più per i sistemi di NLP.

76 Un esperimento sull’ambiguità sintattica provocata dall’aggancio del sintagma preposizionale
applicazione di un analizzatore sintattico (parser) ad un corpus di 13 milioni di parole rilevazione delle associazioni lessicali, i.e. co-occorrenze di nomi o verbi con determinate preposizioni, ES. “to” in abbinamento con “send” nel contesto “send NP to …” NB: il parser, non può risolvere le ambiguità strutturali e produce parti sconnesse di strutture sintattiche da cui è estratta l’associazione lessicale

77 Vengono estratte 2. 500. 000 associazioni lessicali, di cui oltre 200
Vengono estratte associazioni lessicali, di cui oltre ambigue Si applica il modello probabilistico Lexical Association score: LA(v,n,p) = log2 x (P(verb_attach p | v,n)/P(noun_attach p | v,n)) cioè si cattura la frequenza con cui certi nomi e verbi co-occorrono con certe preposizioni e la si rappresentata con il modello LA

78 Lo stesso task di aggancio del sintagma preposizionale viene svolto:
automaticamente con l’approccio corpus-based lessicalizzato (modello LA) >>> errore del 20% separatamente da 2 giudici umani >>> errore del 12-15% automaticamente con approcci strutturali: right association >>> errore del 33% minimal attachment >>> errore del 67%

79 L’esperimento dimostra che
Il task dell’aggancio del sintagma preposizionale è difficile Il task non può essere affrontato con successo grazie a regolarità di tipo morfologico e sintattico, quindi non esiste una regola che ci consenta di risolverlo Una certa regolarità esiste, ma solo a livello statistico e probabilmente legata alla semantica delle parole coinvolte nella struttura

80 Questo esperimento è stato determinante per la definizione degli approcci basati su corpora
Se le regolarità del linguaggio non possono essere formalizzate in regole, non vuol dire che non esistono. Come il linguaggio stesso, le regole che lo governano sono complesse e hanno molte varianti, per cui diventa molto difficile descriverle e il metodo più sensato per farlo sembra essere la statistica.


Scaricare ppt "Trattamento Automatico del Linguaggio Naturale (1)"

Presentazioni simili


Annunci Google