Fondamenti di Linguistica 25 Novembre 2009

Download Report

Transcript Fondamenti di Linguistica 25 Novembre 2009

Fondamenti di Linguistica
1 Dicembre 2009
Malvina Nissim
[email protected]
Parametri di un corpus (1)
• Lingua:
 Monolingue
 Multilingui (corpora confrontabili)
 Paralleli
• Tipi di sorgenti:
 Scritto (generi)
 Parlato (radio, spontaneo, …)
 Misto
Parametri di un corpus (2)
• Dimensioni
 corpus size (= numero di token)
 vocabulary size (= numero di type)
• Dinamicità: statico/monitor
• Informazione aggiuntiva (annotazione/markup)
 annotato/non annotato
 livello di annotazione
 tipo di codifica (testo, SGML/XML)
Modi di usare un corpus
•
•
•
•
Concordanze
Liste di frequenza (token/type)
Collocazioni
Programmi appositi per la ricerca
(specialmente laddove il corpus è
annotato)
Dimensioni: type e token
Type e token
• Brown corpus:
 1M tokens
 50,406 types
• Birmingham/Cobuild corpora:
 1M tokens (spoken only)
 36,807 types
 17,459 occorrono una volta sola
• Times newspapers
 4M tokens
 122,773 types
 54,144 occorrono una volta sola
• general corpus of English
 18m tokens
 228,323 types
 131,299 occorrono una volta sola
Type e token
• 121m tokens
 475,633 types
 213,684 occorrenze singole
• 211m tokens
 638,901 types
• 323m tokens
 812,467 types
• 418m tokens
 938,914 types
 438,647 occorrenze singole
Liste di frequenza
• liste che indicano le parole che compaiono in
un corpus e la loro frequenza
• danno un’immagine quantitativa del corpus
• una lista di frequenza ottenuta su un dato
corpus può essere confrontata con quella
ottenuta su dati diversi
• NB: ciascuna parola è isolata dal contesto
N-grammi
• gruppi di N parole che appaiono in sequenza
nel testo
• si presentano come liste di frequenza (a
ciascun N-gramma è associato il numero di
occorrenze)
• utili per identificare espressioni specifiche e
ricorrenti in un corpus
• la parola non è completamente avulsa dal
contesto
Collocazioni
• collocazione = N-gramma significativo
(ricordate le misure di associazione?)
• collocati estratti data una certa finestra
a sinistra (w-x) e destra (w+x) di una
data parola (w)
• utili per identificare espressioni
polirematiche e per studiare l’immediato
contesto di una parola (frames etc.)
Parametri di un corpus (2)
• Dimensioni
 corpus size (= numero di token)
 vocabulary size (= numero di type)
• Dinamicità: statico/monitor
• Informazione aggiuntiva (annotazione/markup)
 annotato/non annotato
 livello di annotazione
 tipo di codifica (testo, SGML/XML)
Annotazione
• Arricchimento di un corpus con informazione
di vario tipo (sostanzialmente tutti i livelli di
analisi linguistica che abbiamo discusso)




speech (fonetica)
parola: part of speech, classi, sensi, …
frasi: confini, alberi sintattici, dipendenze, …
discorso: segmenti, anafora, relazioni di coerenza,
…
 oltre: variazioni, opinioni, sentimenti, …
Schema di annotazione
• rappresentazione di un dato fenomeno
linguistico da annotare
• teorico + pratico
• accompagnato solitamente da un
insieme di istruzioni per guidare
l’annotatore nelle scelte
Esempio
• <P><S><W POS="PRON" NUM="PL“
LEMMA="we">We</W><W POS="V"
LEMMA="have">have</W><W POS="EN"
LEMMA="develop">developed</W><NP><
W POS="DET" LEMMA="a">a</W><W
POS="A“ LEMMA="computational">
computational</W><W POS="N"
NUM="SG" LEMMA="paradigm">
paradigm</W><W POS="PUNCT">,</W>
...</NP> ... </S></P>
Esempio schema
Livelli di annotazione
• sostanzialmente tutti i livelli di analisi di cui
abbiamo parlato (e oltre…):







speech
morfosintassi
lessico
semantica
discorso
pragmatica
altro
Principi di annotazione (Leech 93)
• l'annotazione deve poter essere rimossa
• lo schema per l'annotazione deve essere basato su regole
precise ed essere anche a disposizione dell'utente
• deve essere sempre chiaro chi (quanti annotatori e con
quali caratteristiche) e come (manualmente semiautomaticamente e con quali strumenti) ha annotato
• l'utente deve essere consapevole che l'annotazione non è
``oro" né infallibile e deve essere semplicemente
considerata come strumento di lavoro
• lo schema di annotazione dovrebbe essere basato su
principi il più possibile condivisi
Come annotare in pratica
• manualmente, attraverso strumenti di
sostegno appositi:
 sveltiscono il processo
 riducono l’errore umano
• automaticamente (per esempio POS)
• semi-automaticamente: primo passo
automatico seguito da correzione
(spesso di una porzione) manuale
Costruire corpora
• Modi di acquisire/costruire corpora:
 Già in formato elettronico: conversione
diretta
 Scansione da cartaceo
 Digitazione manuale
 Trascrizione di registrazioni (parlato)
Costruire corpora
• Lingua
•
•
•
•
Dimensioni
Genere (dominio, distribuzione, …)
Dinamicità (statico/monitor)
Annotazione
Costruire corpora è impegnativo!
• Selezione del materiale, permessi,
acquisizione
• Pulizia, spell-checking, annotazione,
indicizzazione
• Documentazione
• Valutazione
• Distribuzione
Distributori di corpora
• LDC (Linguistic Data Consortium)
• ELRA (European Language Resources
Association)
• TRACTOR (TELRI Research Archive of
Computational Tools and Resources)
• ICAME (International Computer Archive
of Modern and Medieval English)
Web = corpus?
Web = corpus?
• Il Web può essere una sorgente di testi
estremamente utile (enorme)
• Può essere di grande aiuto
specialmente per lingue diverse
dall’Inglese (e lingue per cui corpora
controllati già esistono)
• Non è bilanciato, non è pulito, non si sa
esattamente cosa c’è dentro…
Wacky!
• corpora creati dal Web ma “ripuliti” e
annotati
• circa 2% di materiale tenuto
• ItWac, UkWac, …
Alcuni corpora esistenti
• Brown Corpus/LOB corpus
• Bank of English
• Wall Street Journal, Penn Tree Bank, BNC, ANC,
ICE, WBE, Reuters Corpus
• Canadian Hansard: corpus parallelo inglese-francese
• York-Helsinki Parsed corpus of Old Poetry
• Tiger corpus – tedesco
• Europarl - corpora paralleli (lingue della Comunità
Europea)
• …
Per l’Italiano
•
•
•
•
•
•
CORIS/CODIS (POS)
La Repubblica (POS+lemma)
ItWac (POS+lemma)
TuT (Turin Treebank)
VIT (Venice Italian Treebank)
VENEX (anafora)
Altre risorse
http://www.ling.ohio-state.edu/~dickinso/corpus.html
http://linguistlist.org/sp/Texts.html
Alcuni riferimenti
• Karin Aijmer and Bengt Altenberg (1991) English corpus
linguistics, Longman
• Tony McEnery and Andrew Wilson (1996) Corpus linguistics,
Edinburgh University Press
• Geoff Barnbrook (1996) Language and Computers, Edinburgh
University Press
• Michael Oates (1998) Statistics for Corpus Linguistics,
Edinburgh University Press
• Duglas Biber, Susan Conrad and Randi Reppen (1998) Corpus
linguistics, Cambridge University Press
• Graeme D. Kennedy (1998) An introduction to corpus linguistics,
Longman
• Tony McEnery (2003) Corpus linguistics. In Ruslan Mitkov (ed.)
The Oxford Handbook of Computational Linguistics, Oxford
University Press
Verso i corpora
• Linguisticamente:
 critiche a linguistica formale ed esempi ad hoc
 interesse per linguistica testuale/discorso
• Tecnologicamente:
 Disk space costa sempre meno
 Testi digitali sempre più diffusi
• Economicamente:
 USA: fondi per valutazione sistemi su larga
scala e su dati reali
Verso le macchine
• Linguisticamente:
 formalizzazioni (grammatiche categoriali)
 filosofia del linguaggio e logica matematica
(Wittgenstein)
 astrazione e grammatica universale
• Tecnologicamente:
 macchina di Turing (1936)
 nascita computer elettronici
• Storicamente/Economicamente:
 seconda guerra mondiale
 guerra fredda (specialmente anni ‘50)
Prime macchine
• 1940-1945: primi computer
 Zuse Z3 (Germania 1941)
 Atanasoff–Berry Computer (USA 1941)
 ENIAC (USA 1944)
Electronic Numerical
Integrator And
Computer
Macchine intelligenti
• Può una macchina svolgere le funzioni
della mente umana?
• Quand’è che una macchina si può
definire intelligente?
Macchine intelligenti
• Può una macchina svolgere le funzioni
della mente umana?
• Se la mente umana è caratterizzata dal
linguaggio, può la macchina essere
fornita di linguaggio umano?
È la capacità di linguaggio che
rende intelligente una macchina?
Cartesio (1637)
Discorso sul Metodo
• se ci fossero delle macchine somiglianti agli
umani che sapessero imitare le nostre azioni nel
miglior modo possibile, avremmo comunque due
modi certi di riconoscerle come macchine:
 UNO: non potrebbero mai usare parole, o mettere
insieme simboli, come invece noi facciamo per
esprimere i nostri pensieri agli altri. Possiamo sì
concepire una macchina che parla, ma non è
pensabile che produca una risposta appropriata e che
ha significato ad un qualsiasi input, come saprebbe
invece fare anche il più insignificante degli uomini
Cartesio (1637)
Discorso sul Metodo
• se ci fossero delle macchine somiglianti agli umani che
sapessero imitare le nostre azioni nel miglior modo
possibile, avremmo comunque due modi certi di
riconoscerle come macchine:
 DUE: anche se alcune macchine possono svolgere dei compiti
tanto bene quanto noi, o forse meglio, fallirebbero laddove è
richiesto il ragionamento: rivelerebbero che agiscono non tanto
tramite comprensione, quanto semplicemente per il modo in cui
sono state costruite. È praticamente impossibile che una
macchina abbia parti talmente elaborate che la rendano in grado
di reagire agli stimoli della vita di ogni giorno come invece fa
l’uomo mosso dalla ragione
Alan Turing (1950)
• 1912-1954
• articolo su Mind: è possibile creare un
programma che permetta ad un
computer di comportarsi in maniera
intelligente
“comportarsi in maniera intelligente”
?
Test di Turing
• scopo: determinare se una macchina
pensa
• origine del test (gioco di imitazione):
 A = uomo
 B = donna
 C = terza persona che senza vedere A e B
pone domande per cercare di capire chi è
uomo e chi è donna
Test di Turing
• scopo: determinare se una macchina
pensa
in una conversazione, può
una persona non accorgersi
di stare parlando con una
macchina invece che con
un’altra persona?
ELIZA
• il primo chatterbot: un programma che imita
la conversazione umana (1962/66)
• Joseph Weizenbaum (MIT)
• “imitazione” di una psicoterapia
 utente = paziente
 computer = psicoterapeuta
• il paziente digita qualcosa, la macchina
risponde di conseguenza
• JW: parodia delle domande di uno
psicoterapista
ELIZA
•
•
•
•
•
•
•
•
P: Men are all alike.
E: IN WHAT WAY?
P: They’re always bugging us about something or other.
E: CAN YOU THINK OF A SPECIFIC EXAMPLE?
P: Well, my boyfriend made me come here.
E: YOUR BOYFRIEND MADE YOU COME HERE
P: He says I’m depressed much of the time.
E: I AM SORRY TO HEAR YOU ARE DEPRESSED
ELIZA
• It’s true. I am unhappy
• DO YOU THINK COMING HERE WILL HELP
YOU NOT TO BE UNHAPPY
• I need some help, that much seems certain.
• WHAT WOULD IT MEAN TO YOU IF YOU
GOT SOME HELP
• Perhaps I could learn to get along with my
mother.
• TELL ME MORE ABOUT YOUR FAMILY
ELIZA
•
•
•
•
•
•
•
My mother takes care of me.
WHO ELSE IN YOUR FAMILY TAKES CARE OF YOU
My father.
YOUR FATHER
You are like my father in some ways.
WHAT RESEMBLANCE DO YOU SEE
You are not very aggressive but I think you don’t want
me to notice that.
• WHAT MAKES YOU THINK I AM NOT VERY
AGGRESSIVE
• You don’t argue with me.
ELIZA
• WHY DO YOU THINK I DON’T ARGUE WITH YOU
• You are afraid of me.
• DOES IT PLEASE YOU TO BELIEVE I AM AFRAID
OF YOU
• My father is afraid of everybody.
• WHAT ELSE COMES TO YOUR MIND WHEN YOU
THINK OF YOUR FATHER
• Bullies.
• DOES THAT HAVE ANYTHING TO DO WITH THE
FACT THAT YOUR BOYFRIEND MADE YOU COME
HERE
La strategia di ELIZA
• analisi input: ricerca di keyword
• se viene trovata una keyword, la frase viene
trasformata seguendo alcune regole
specifiche
• altrimenti
 viene selezionato un commento ``fuori dal
contesto”, standard, sempre valido
 viene selezionata una trasformazione precedente
• il testo creato/selezionato viene stampato
sullo schermo per il paziente
ELIZA: regole di trasformazione
• “I am X”
“How long have you been X?"
 “I am very unhappy”
“How long have you been very unhappy?”
• “X you Y me”
“What makes you think that I Y you?”
• “It seems that you hate me”
“What makes you think that I hate you?”
ELIZA
• da punto di vista terapeutico: fallimento!
• ma scopo originario: studiare la possibilità
di costruire interazioni fra macchina e
uomo basate sui linguaggi naturali
• ma è linguistica?
 conoscenza linguistica assente
 “linguistic processing” assente
NB: ELIZA passa il test di Turing!
Traduzione automatica
• prima applicazione linguistica dei
calcolatori (anni ‘50)
• forte motivazione storica:
 successo della crittografia (seconda guerra
mondiale)
 necessità in guerra fredda (russo)
• riflessione linguistica: lingua universale
Traduzione automatica
• interlingua: data l’universalità della lingua si può
pensare di passare da una lingua all’altra attraverso
una rappresentazione astratta
• Leibniz e Cartesio (XVII sec):
 codici per trasformare parole da una lingua all’altra
• prime “macchine di traduzione” (non computer) già
negli anni ‘30
Traduzione automatica
• Georgetown experiment (1954)
 traduzione completamente automatica di 50 frasi dal russo
all’inglese
 sistema estremamente semplice:
• sei regole grammaticali
• 250 vocaboli
 mini-dominio: chimica organica
 grande successo, soprattutto economico e mediatico
entro tre/cinque anni:
MT = solved problem!
Traduzione automatica
• ALPAC report (1966):
 Automatic Language Processing Advisory
Committee
 enorme scetticismo sui progressi in MT
 lingua troppo complessa (aha!)
 necessari studi in linguistica computazionale
 fondi drasticamente ridotti
Traduzione automatica
• Systran (1970)
 russo -> inglese
 scopo principale: comprensione (anche se approssimativa)
 sistema ancora utilizzato in Altavista! (babelfish)
•
•
•
•
“oggi lezione è alle tre”
“today lesson is to the three”
“oggi la lezione è ai tre”
“today the lesson is to the three”
Anni Settanta
• 1970: TAUM “Macchina del Tempo” traduzione
automatica delle previsioni del tempo (Canada)
• 1970s: SYSTRAN sistema di traduzione
automatica (ancota usato da Altavista!)
• 1972: LUNAR: sistema di question-answering
su dominio iper-ristretto (analisi di materiali
rocciosi lunari)
• 1968-1970: SHRDLU (Terry Winograd):
istruzioni ad un robot per spostare dei blocchi
giocattolo
SHRDLU
• Terry Winograd, MIT (Ph.D.)
• 1968-1970 sviluppa SHRLDU:
sistema di interazione uomo-macchina
in linguaggio naturale: l’utente ordina
alla macchina di svolgere alcuni compiti
specifici in un dominio ristretto
SHRDLU: principi
• dominio ristretto: sufficienti alla
descrizione circa 50 lemmi (palla, cono,
blocco, sposta, sopra, rosso,…)
• memoria: la macchina “ricorda” lo
status raggiunto dopo l’ordine (history)
• memoria: nuovi concetti vengono
incamerati (es.: definizioni di alcune
combinazioni) e possono essere
richiamati
SHRDLU
•
•
•
•
•
Person: Pick up a big red block.
Computer: OK.
Person: Grasp the pyramid.
Computer: I don't understand which pyramid you mean.
Person (changing their mind): Find a block which is taller
than the one you are holding and put it into the box.
• Computer: By "it", I assume you mean the block which is
taller than the one I am holding.
• Computer: OK.
SHRDLU
•
•
•
•
•
•
•
Person: What does the box contain?
Computer: The blue pyramid and the blue block.
Person: What is the pyramid supported by?
Computer: The box.
Person: How many blocks are not in the box?
Computer: Four of them.
Person: Is at least one of them narrower than the one
which I told you to pick up?
• Computer: Yes, the red cube.
SHRDLU
• comprende il linguaggio in un dominio
(molto) limitato usando:
 grammatica per l’Inglese
 parsing sintattico (insieme di regole)
 ragionamento semantico
Minsky (1968)
• "Il problema della ricerca efficace con
euristiche rimane un presupposto
soggiacente [in IA], ma non è più il
problema a quale pensare, dato che
siamo immersi in sotto-problemi più
sofisticati, ossia la rappresentazione e
modifica di piani"
Scenari
• per aiutare una macchina a capire e prendere
decisioni, si possono sviluppare alcuni
scenari:
 Minsky: Frames
 Schank (& Abelson): Scripts
• modo di semplificare, “aggirare” il
ragionamento da parte della macchina:
sviluppo di “abitudini”
• modo di fornire alla macchina la conoscenza
del mondo che gli umani naturalmente hanno
e condividono
Overview/Sommario
• ‘50: traduzione automatica (stop a ricerca da
ALPAC report)
• ‘60: applicazioni usano tecniche linguistiche,
soprattutto sintattiche; influenza Chomsky
(grammatiche formali). Domini ristretti,
assenza di portabilità
• ‘70/’80: approcci simbolici (sistemi di regole).
Molta più consapevolezza (e ricerca!)
linguistica. Consapevolezza necessità di
conoscenza del mondo, ma difficoltà
implementative
Overview/Sommario
• ‘90 Statistical NLP
 tecniche favorite da grandi quantità di dati
disponibili
 problemi dati dalla qualità dei dati
 controsenso: spesso poca attenzione al problemi
linguistici e maggiore attenzione a problemi
computazionali
• ora: combinazioni di metodi simbolici e
statistici, creazione (anche automatica) di
risorse: grammatiche, basi di conoscenze
Applicazioni
(e problemi linguistici)
• Spell e grammar checking
 correggere automaticamente un input
• calvin tira una plala di neve a hobbes
• calvin ho tirato un palla di neve a hobbes
• Speech recognition
 Derivare una rappresentazione testuale da
un enunciato
Applicazioni
(e problemi linguistici)
• Parsing
 assegnare una struttura sintattica ad una frase in
input
• Machine Translation
 tradurre un testo da lingua A a lingua B
• Word Sense Disambiguation
 in casi di polisemia, individuare il significato di una
parola in un dato contesto
• amo la pesca matura
• amo la pesca sul lago
• amo la pesca d’estate
Applicazioni
(e problemi linguistici)
• Question Answering
 domanda in linguaggio naturale, risposta in
linguaggio naturale
• Summarisation
 creare un riassunto da più testi su un dato
argomento
• Semantic Role Labelling
 assegnare un ruolo tematico ad ogni
argomento di un dato verbo
Questioni terminologiche
•
•
•
•
•
Artificial Intelligence
Linguistica Computazionale
Natural Language Processing
Human Language Technology
Language Engineering