Fondamenti di Linguistica 1 Dicembre 2009 Malvina Nissim malvina.nissim@unibo.it.

Post on 02-May-2015

215 views 0 download

Transcript of Fondamenti di Linguistica 1 Dicembre 2009 Malvina Nissim malvina.nissim@unibo.it.

Fondamenti di Linguistica 1 Dicembre 2009

Malvina Nissim

malvina.nissim@unibo.it

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 semi-automaticamente 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