Elaborazione del linguaggio naturale automi - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Elaborazione del linguaggio naturale automi

Description:

Title: Presentazione di PowerPoint Author: Legolas Last modified by: Maria Teresa Pazienza Created Date: 5/19/2003 1:26:55 PM Document presentation format – PowerPoint PPT presentation

Number of Views:98
Avg rating:3.0/5.0
Slides: 34
Provided by: Legolas
Category:

less

Transcript and Presenter's Notes

Title: Elaborazione del linguaggio naturale automi


1
Elaborazione del linguaggio naturaleautomi
morfologia
  • Maria Teresa PAZIENZA
  • a.a. 2007-08

2

Programma generale
  • Breve introduzione allNLP
  • Linguaggi Naturali e Linguaggi Formali
  • Complessità
  • Morfologia
  • Teoria Morfologia del Linguaggio Naturale
  • Strumenti Automi e Trasduttori
  • Analisi Morfologica con automi e trasduttori
  • Part of Speech Tagging
  • Teoria Le classi morfologiche
  • Strumenti a Analisi modelli a regole e
    statistici
  • Sintassi
  • Teoria Sintassi del Linguaggio Naturale
  • Strumenti CFG
  • Analisi Sintattica parsing top-down, bottom-up,
    Early
  • Semantica
  • Lexical Semantics
  • Sentence Semantics

3

Obiettivi dellNLP
L Elaborazione del Linguaggio Naturale (Natural
Language Processing, NLP) ha come obiettivo
principale
  • la costruzione di modelli e e strumenti
    informatici in grado di eseguire specifici task
    riguardanti il Linguaggio Naturale, quali
  • Permettere la comunicazione uomo macchina
  • Migliorare la comunicazione uomo uomo
  • Elaborare e manipolare oggetti linguistici a
    qualunque livello di granularità

PERCHE E IMPORTANTE L NLP ?
  • Sempre maggiore quantità di conoscenza condivisa
    in testi in Linguaggio Naturale machine readable
    (ES sul Web)
  • Necessità di uninterazione più diretta
    uomo-macchina (ES agenti intelligenti)

Intro
4

Cosa serve ?
  • CONOSCENZA LINGUISTICA tutta la conoscenza che
    ha a che vedere con il linguaggio (conoscenza
    relativa a ciò che significhi essere una parola)
  • Cosè una parola?
  • Quali sono le regole per costruire una frase?
  • Qual è il significato di un sintagma?
  • MODELLI (teorie) i modelli linguistici hanno lo
    scopo di catturare la conoscenza linguistica e
    rappresentarla in una forma comprensibile per il
    computer
  • ALGORITMI strumenti per manipolare i modelli e
    le strutture linguistiche necessarie per
    lanalisi e la comprensione del linguaggio
    (algoritmi per la gestione di grafi)

Intro
5

Cosa serve? Modelli
  • MODELLI PROCEDURALI
  • Automi a Stati Finiti
  • Trasduttori a Stati Finiti
  • Markov Models
  • MODELLI DICHIARATIVI
  • Grammatiche regolari
  • Context Free Grammar
  • MODELLI LOGICI
  • Calcolo dei Predicati
  • Logica del Primo Ordine
  • Solitamente un modello procedurale ha una sua
    controparte in un modello dichiarativo (ad es.
    automi grammatiche regolari)
  • Un modello può essere più o meno complesso da un
    punto di vista computazionale (ad es. le Context
    Free Grammar sono più complesse di quelle
    Regolari)
  • Nei diversi modelli possono generalmente essere
    integrati elementi di probabilità (modelli
    probabilistici)

Cosa devono fare i modelli ? Che analisi devono
portare a termine ?
Intro
6

Livelli di analisi del Linguaggio Naturale
I sistemi di NLP possono operare a diversi
livelli di analisi, ognuno dei quali richiede una
specifica conoscenza linguistica .
  • FONETICA studio dei suoni linguistici
  • MORFOLOGIA studio delle componenti
    significative di una parola
  • SINTASSI studio delle strutture relazionali
    tra le parole
  • SEMANTICA studio del significato
  • PRAGMATICA studio di come il linguaggio è
    usato per raggiungere obiettivi
  • ANALISI DEL DISCORSO studio di unità
    linguistiche complesse

Una architettura per LNLP può portare a termine
uno o più livelli di analisi, generalmente in
cascata
Intro
7

Livelli di analisi un esempio
  • David - Apri la saracinesca esterna, Hal.
  • Hal - Mi dispiace David, purtroppo non posso
    farlo.
  • FONETICA Hal deve essere in grado di analizzare
    il segnale audio e ricostruire la giusta sequenza
    delle parole
  • MORFOLOGIA Hal deve saper rispondere con la
    giusta flessione ad esempio posso e non puoi
  • SINTASSI Hal deve sapere che la saracinesca
    esterna è un sintagma nominale complemento
    oggetto di apri, e che la frase di David è
    corretta
  • SEMANTICA Hal deve sapere cosè una
    saracinesca, e cose vuol dire aprire qualcosa (in
    generale ed aprire una saracinesca in particolare)
  • PRAGMATICA Hal deve saper rispondere
    cortesemente a David
  • ANALISI DEL DISCORSO Hal risponde farlo
    riferendosi a una frase del discorso precedente,
    quindi domina un segmento maggiore della frase

Intro
8

Linguaggio Naturale e Linguaggi Formali
  • Cosè il Linguaggio Naturale ?
  • Strumento di comunicazione tra persone
  • Fatti, idee e conoscenze sul mondo esterno ed
    interiore
  • Emozioni
  • Ordini
  • E ambiguo! (La vecchia porta la sbarra)
  • Cosè un Linguaggio Formale ?
  • Dato un insieme di simboli ?? detto alfabeto, un
    linguaggio formale è un sottoinsieme di tutte le
    possibili concatenazioni dei simboli
  • L ? ??
  • Un linguaggio formale non è ambiguo (una
    concatenazione di simboli ha una interpretazione
    univoca) ed esprime le sue regole in maniera
    canonica

Un elaboratore può riconoscere e generare solo
Linguaggi Formali, attraverso lutilizzo di
modelli e algoritmi
Intro
9

Linguaggi Formali
ESEMPIO
??a,b ??a,b,aa,ab,ba,bb,aa,baba,baaab,.
Lba,baa,baaa,baaaa,.
Come definire il linguaggio L senza enumerare
tutte le stringhe?
  • Modello procedurale automi, regole formali
  • Modello dichiarativo grammatiche

Intro
10

Linguaggi Formali e grammatiche
  • Una grammatica può essere informalmente intesa
    come un insieme di regole per interpretare/generar
    e un linguaggio formale
  • iniziando da un simbolo iniziale
  • applicando regole che indichino come rimpiazzare
    alcune sequenze di simboli con altre combinazioni
    di simboli (derivazioni)

ESEMPIO
Lba,baa,baaa,baaaa,. S ? Aa A ? b A ? Aa
Intro
11

Linguaggi Formali e grammatiche
  • Una grammatica può essere informalmente intesa
    come un insieme di regole per interpretare/generar
    e un linguaggio formale
  • iniziando da un simbolo iniziale
  • applicando regole che indichino come rimpiazzare
    alcune sequenze di simboli con altre combinazioni
    di simboli (derivazioni)
  • Formalmente
  • Una grammatica è una quadrupla (N, ?,S, P) dove
  • N è lalfabeto dei simboli non-terminali
  • ? è lalfabeto dei simboli terminali
  • S è elemento di N detto simbolo iniziale
  • P è un insieme finito di produzioni, ovvero
  • se V è definito come N ? S , allora le
    produzioni di P hanno la forma ???, dove ??V ??V

Intro
12

Linguaggi Formali e grammatiche
  • Un linguaggio formale è un insieme di stringhe
  • Un linguaggio formale non è un linguaggio
    naturale, ma può essere usato per modellare parte
    di un linguaggio naturale
  • Un linguaggio formale può essere più o meno
    complesso, ed essere quindi computazionalmente
    più o meno esigente.

Intro
13

Linguaggi Formali complessità
La gerarchia di Chomsky è un tentativo di
ordinare le grammatiche che generano i linguaggi
in base alla loro complessità
  • GERARCHIA DI CHOMSKY
  • Type 0 Grammars - Unrestricted
  • a b, a ³ 0 and b ³ 1.
  • Type 1 Grammars - Context-Sensitive
  • a b, a ³ 1 and b ³ 1 and a b
  • Type 2 Grammars - Context-Free
  • a b, a 1 and b ³ 1
  • Type 3 Grammars - Regular
  • left-linear regular grammar (A a or A Ba)
  • right-linear regular grammar (A a or A aB)



POTERE GENERATIVO
COMPLESSITA
-
-
Intro
14

Linguaggi Formali complessità
  • Le grammatiche sono modelli dichiarativi
  • I corrispondenti modelli procedurali sono
  • Type 0 Grammars - Unrestricted
  • Turing Machine
  • Type 1 Grammars - Context-Sensitive
  • Turing Machine
  • Type 2 Grammars - Context-Free
  • Push-down automaton
  • Type 3 Grammars - Regular
  • Finite State Automaton (FSA)

Intro
15

Linguaggi Formali complessità
DOMANDA Il Linguaggio Naturale può essere
rappresentato attraverso un Linguaggio Formale
? Se si, un Linguaggio Formale di quale
complessità ? Quanto è complesso il Linguaggio
Naturale ?
Intro
16

Linguaggi Formali e Linguaggio Naturale
  • dipende da quale linguaggio naturale .
  • un livello alto nella gerarchia vuol dire che il
    linguaggio naturale è strutturalmente complesso
    (Tipo 0)
  • ITALIANO
  • In generale, sembrerebbe catturabile da una
    Grammatica Regolare (Tipo 3)
  • ECCEZIONE costrutti center-embedded. Ad
    esempio

Moggi, Giraudo e Bettega erano rispettivamente
DG, amministratore delegato e vicepresidente
della Juventus
ha struttura an bn
  • Sembrerebbe quindi un linguaggio più complesso,
    ovvero Context-Free (Tipo 2)
  • E più complesso? No, perché sembra non avere
    costrutti del tipo anbncn

Intro
17

Linguaggi Formali e Linguaggio Naturale
  • Litaliano è quindi un linguaggio mediamente
    complesso (Tipo 2)
  • E gli altri linguaggi naturali ?
  • Inglese Context-Free Tipo 2
  • Olandese Context-Sensitive Tipo 1
    (Huybregt,1976)
  • presenta costrutti cross-serial. Ad esempio
  • dat Jan Marie Pieter Arabisch laat zien
    schrijven
  • (THAT JAN MARIE PIETER ARABIC LET SEE WRITE)
  • that Jan let Marie see Pieter write Arabic

Intro
18

Linguaggi Formali e Linguaggio Naturale
  • La sintassi italiana e quella inglese sembrano
    essere Context-Free
  • La morfologia, invece, sembra essere ancora più
    semplice può essere infatti rappresentata da
    grammatiche Regolari

QUINDI, NEL CORSO VEDREMO MORFOLOGIA ? Automi
a Stati Finiti (FSA) Tipo 3 SINTASSI ? Grammati
che Context-Free (CFG) Tipo 2
Intro
19
Morfologia
  • La morfologia è lo studio di come le parole sono
    costruite a partire da unità atomiche dette
    morfemi.
  • I morfemi sono le più piccole unità linguistiche
    che possiedono un significato. Ne esistono due
    classi
  • Radice ? il morfema che dà il significato
    principale alla parola
  • Affisso ? il morfema che dà significato
    aggiuntivo alla parola

ESEMPIO
radice
gatto gatti acquist-o acquist-are
affisso
Morfologia
20
Analisi Morfologica Automi a Stati Finiti
  • Strumenti per lanalisi morfologica
  • Automi a Stati Finiti (FSA) ? Riconoscimento
  • Finite State Transducers (FST) ? Parsing

RICONOSCIMENTO indica se una data parola in
input è morfologicamente corretta o no (ad
esempio gatti è corretta, gattare è
scorretta) PARSING produce unanalisi
morfologica della parola in input (ad esempio
gatti ? gatto N PL)
Sia FSA che FST sono di tipo 3 nella gerarchia
di Chomsky lanalisi morfologica può essere
quindi portata a termine con strumenti
relativamente poco complessi
Morfologia
21
Analisi Morfologica qualche esempio
Un analizzatore morfologico completo dovrebbe
essere in grado di riconoscere la classe (nomi,
verbi, ecc.) delle parole e la loro
morfologia house houseNSG houses
houseNPL went goVPastTense123SP play
playVPresnon3SG played playedAVPap
miaow miaowOnomatop
Morfologia
22

Automi a Stati Finiti (FSA)
Un automa a stati finti è un automa in grado di
riconoscere o di generare una sequenza di simboli
(stringa) di un alfabeto.
Formalmente Un FSA è un grafo orientato i cui
nodi sono detti stati e i cui archi sono detti
transizioni
  • Caratteristiche principali
  • molto efficienti (tipo 3 nella ger. di Chomsky)
  • facili da implementare
  • Ogni FSA implementa una espressione regolare
  • Ogni espressione regolare descrive un FSA
  • Ogni FSA descrive un linguaggio regolare

ESPRESSIONI REGOLARI
  • Utilizzi principali in linguistica
  • Riconoscimento morfologico
  • Fonetica
  • Text-to-Speech

LINGUAGGI REGOLARI
FSA
23

FSA semplice esempio
FSA per riconoscere e generare sequenze di
simboli appartenenti al linguaggio (regolare)
delle caprette inglesi, descritto
dallespressione regolare /baa!/
SIMBOLO
STATO FINALE
TRANSIZIONE
STATO
STATO INIZIALE
FSA come riconoscitore riconosce tutte le
stringhe in input del tipo baa! , baaa! ,
baaaa!,
FSA come generatore genera tutte le stringhe del
tipo baa! , baaa!, baaaa!,
FSA
24

Espressioni regolari
  • Espressione regolare notazione algebrica per
    descrivere un insieme di stringhe
  • Una Espressione Regolare descrive un FSA
  • Un FSA implementa unespressione regolare
  • Le espressioni regolari sono usate per
    specificare stringhe di caratteri (per una
    ricerca sul web per es., così come per una
    qualunque applicazione di information retrieval,
    per sistemi di word processing, calcolo della
    frequenza di termini in corpora, etc.). La
    ricerca di una espressione regolare identifica un
    pattern specifico che si vuole ricercare ed un
    corpus di testi allinterno del quale effettuare
    la ricerca. Come risultato si ottengono tutti
    quei testi che contengono quel pattern.
  • Una espressione regolare è una formula in un
    linguaggio speciale (notazione algebrica) usato
    per specificare semplici classi di stringhe.

25

Espressioni regolari
  • Espressione regolare notazione algebrica per
    descrivere un insieme di stringhe
  • Operatori base
  • ? zero o più occorrenze del carattere
    precedente (ciò che è racchiuso tra )
  • ? una o più occorrenze del carattere
    precedente (ciò che è racchiuso tra )
  • ? ? zero o una occorrenze del carattere
    precedente (ciò che è racchiuso tra )
  • aA ? disgiunzione di simboli
  • a-A ? range di simboli
  • Esempi
  • /a/ ? L0,a,aa,aaa
  • /ab/ ? La,b,aa,bb,ab,ba,
  • altri esempi sul libro.

26

FSA definizione formale
  • Un FSA è definito dai seguenti parametri
  • Q un insieme finito di N stati q0.qN
  • S un alfabeto finito di simboli
  • q0 lo stato iniziale
  • F un insieme di stati finali F?Q
  • d(q,i) funzione di transizione tra stati che
    restituisce un nuovo stato a partire da un dato
    stato e un simbolo in input d è una relazione da
    Qx S a Q


Un FSA può essere anche rappresentato attraverso
una state-transition table
FSA
27

FSA e linguaggi formali
Linsieme delle stringhe riconosciute (o
generate) da un FSA definiscono un linguaggio
formale.
LINGUAGGIO FORMALE (L) insieme di stringhe
composte da simboli appartenenti a un insieme
finito di simboli S detto alfabeto
  • Linsieme delle stringhe riconosciute da un FSA
    costituisce il linguaggio accettato dallautoma
  • Linsieme delle stringhe generate da un FSA
    costituisce il linguaggio generato dallautoma
  • Per un FSA, il linguaggio generato e quello
    accettato corrispondono


ESEMPIO
S a,b,! L baa!,baaa!,baaaa!,.
FSA
28

FSA e linguaggi regolari
Un FSA (o unespressione regolare) può definire
un sottoinsieme particolare dei linguaggi
formali, i linguaggi regolari
LINGUAGGIO REGOLARE (L)
  • Dato un alfabeto ?
  • Linsieme vuoto ? è un linguaggio regolare
  • ?a ? ? ? ?, a è un linguaggio regolare
  • Se L1 e L2 sono linguaggi regolari, allora lo
    sono anche
  • L1 L2 xyx ? L1,y ? L2, concatenazione di
    L1 L2
  • L1 ? L2, unione di of L1 e L2
  • L1, la Kleene closure (o ripetizione) di L1

FSA
29

FSA e linguaggi regolari
LIMITI I linguaggi regolari hanno un basso
potere generativo (tipo 3)
  • Ad esempio, dato lalfabeto Sa,b, nessun FSA
    può generare stringhe del tipo anbn (a fronte
    della definizione slide precedente)
  • Gli FSA modellano quindi bene fenomeni
    linguistici semplici come
  • Morfologia
  • Fonetica
  • Gli FSA non possono modellare fenomeni
    linguistici complessi come
  • Sintassi

ESEMPIO (english)
The cat likes tuna fish The cat the dog chased
likes tuna fish The cat the dog the rat bit
chased likes tuna fish The cat the dog the rat
the elephant admired bit chased likes tuna fish
L xn yn-1 likes tuna fish.
FSA
30

FSA come riconoscitori
SCOPOData una stringa in input verificare se
essa appartiene al linguaggio formale definito
dallautoma.
ALGORITMO DI RICONOSCIMENTO indice ? inizio
stringa in input Stato-corr ? q0 WHILE
(input) IF vuota(trans-tablestato-corr,stringai
ndice) return reject ELSE stato-corr?
trans-tablestato-corr,stringaindice indice
? indice 1 IF (stato-corrente è stato
finale) return accept ELSE return reject

FSA
31
Automi a Stati Finiti deterministici o non
deterministici (DFSA, NFSA)
  • Negli automi non deterministici (NFSA) possono
    esisteri degli stati che prevedono più di una
    possibile transizione per passare ad uno stesso
    stato, ovvero esistono dei punti in cui bisogna
    prendere una decisione.
  • Gli automi DFSA, invece, sono automi il cui
    comportamento durante la fase di riconoscimento è
    totalmente determinato dallo stato in cui si
    trova e dal simbolo con cui si è giunti a quello
    stato.

32
Argomenti trattati in questa lezione
  • Analisi del linguaggio naturale tipologia,
    livelli
  • Linguaggi formali (grammatiche, complessità)
  • FSA, FST, espressioni regolari
  • DFSA, NFSA

33
Elaborazione del linguaggio naturale
  • Le presentazioni sugli argomenti di elaborazione
    del linguaggio naturale fanno in alcuni passi
    riferimento ad alcune presentazioni dei colleghi
    prof. Fabio Massimo Zanzotto e dottor Marco
    Pennacchiotti, oltre che ad alcune parti del
    libro Speech and Language Processing, Prentice
    Hall, 2000, autori D.Jurafsky, J. H. Martin.
Write a Comment
User Comments (0)
About PowerShow.com