Introduzione alla linguistica computazionale

Linguistica Computazionale
22 settembre 2014
Obiettivi del corso
l 
Introduzione ai principali metodi di linguistica
computazionale e di “Natural Language
Processing” (NLP)
l 
Docenti
l 
l 
Alessandro Lenci (Dip. di Filologia, Letteratura e Linguistica)
Felice Dell’Orletta (ILC-CNR)
2
Modalità d’esame
l 
Prove scritte agli appelli di esame + progetto
l 
l 
l 
Le prove scritte possono essere sostenute come prove in
itinere
l 
l 
la prova scritta è divisa in 2 parti (per esame da 12 CFU), che
possono essere date simultaneamente o in appelli diversi
il progetto deve essere svolto INDIVIDUALMENTE
NB: SOLO PER FREQUENTANTI
Per superare l’esame è necessario conseguire almeno 18/30
in ciascuna delle prove scritte + idoneità sul progetto
l 
il voto d’esame è dato dalla media dei voti delle prove scritte + bonus
per il progetto (1 o 2 punti)
3
Esercitazioni di laboratorio
l 
Giovedì 8.30 – 10.00
l 
Laboratorio H - Polo Fibonacci
l 
l 
l 
chi non possiede un account deve farne richiesta al Centro di
Calcolo presso il Polo Fibonacci
Inizio: Giovedì 25 settembre
Temi delle esercitazioni
l 
l 
l 
l 
l 
l 
introduzione a Natural Language Toolkit (NLTK)
XML e annotazione linguistica
espressioni regolari
estrazione ed analisi di dati linguistici da corpora
esercizi di statistica del testo
annotazione linguistica automatica del testo con NLTK4
Informazioni e contatti
l 
Ricevimento
l  Prof. Alessandro Lenci
l 
giovedì 15.00-17.00
Dipartimento di Filologia, Letteratura e Linguistica, Via Santa Maria 36
e-mail: [email protected]
tel.: 050-2215638 oppure 050-3152837
www: http://www.humnet.unipi.it/linguistica/Docenti/Lenci/index.htm
l 
Dott. Felice Dell’Orletta
l 
venerdì16.00-18.00
Istituto di Linguistica Computazionale CNR, Via Moruzzi 1 (stanza 21)
e-mail: [email protected]
tel.: 050-3152847
l 
E-learning
l 
Moodle: http://moodle.humnet.unipi.it/
l 
l 
informazioni sul corso, materiale didattico, avvisi, prove di esame, ecc.
NB: tutti gli studenti del corso devono registrarsi
5
Testi di esame
l 
A. Lenci, S. Montemagni, V. Pirrelli (2005), Testo e
Computer. Elementi di linguistica computazionale, Roma,
Carocci
l 
D. Jurafsky e J.H. Martin (2000), Speech and Language
Processing, Prentice Hall
l 
capp. 1, 2, 3, 5.1-5.6, 6.1-6.2, 6.7, 8.1-8.4, 8.6, 9, 10.1-10.3, 16
l 
l 
Biblioteca ILC-CNR e SNS
S. Bird, E. Klein, E. Loper (2009), Natural Language
Processing with Python, O’Reilly (liberamente scaricabile da
http://www.nltk.org/book_1ed/)
l 
capp. 1, 2, 3, 7, 8
6
Crediti e programmi
l 
12 CFU
l 
l 
l 
tutte le lezioni ed esercitazioni
due prove in itinere
progetto finale
l 
l 
testi di esame
l 
l 
l 
creazione di un corpus ed analisi computazionale con NLTK
Testo e Computer
Speech and Language Processing
6 CFU
l 
l 
lezioni ed esercitazioni fino alla I prova in itinere
progetto finale
l 
l 
creazione di un corpus ed annotazione linguistica in XML
testi di esame
l 
Testo e Computer
7
Cosa è la linguistica
computazionale?
linguaggio
naturale
l 
La linguistica computazionale è un settore di
ricerca che vede coinvolti linguisti, informatici e
scienziati cognitivi per raggiungere due obiettivi
principali:
l 
l 
applicare la matematica e l'informatica allo studio del
linguaggio umano e dei testi
dotare i computer della capacità di usare il linguaggio
come noi
8
Big (linguistic) data
Cosa può fare il computer per lo
studio del linguaggio?
l 
Come studiare …
l 
l 
l 
l 
l 
la distribuzione della parole in un autore letterario
i mutamenti semantici delle parole
le differenze linguistiche tra vari registri (es. linguaggio scritto e
parlato)
il lessico e le costruzioni grammaticali di una lingua
Digital humanities
l 
l 
l 
quantità crescenti di testi sono disponibili in formato digitale per la
ricerca linguistica
i testi digitali sono fonti di dati per la ricerca linguistica e filologica
è necessario disporre di metodologie per la rappresentazione,
ricerca e analisi dei dati testuali digitali
10
Analisi computazionale dei
dati linguistici
l 
La linguistica computazionale permette di affrontare
queste ricerche attraverso
l 
l 
metodi e strumenti informatici per la rappresentazione e
gestione di grandi quantità di dati linguistici
l  rappresentazione digitale del testo
l  codifica e annotazione di informazione linguistica
ricerche ed esplorazioni avanzate del testo
l 
l 
l 
metodi matematici e statistici
l 
l 
ricerche di informazioni testuali e dati linguistici
visualizzazione dell’informazione nel testo
analisi quantitative dei dati linguistici
Le potenzialità “standard” del computer possono essere usate
per la gestione e l’analisi dei dati linguistici… ma non bastano!
11
Analisi computazionale dei
dati linguistici
Il computer non conosce il linguaggio naturale
ovvero
non ha alcuna conoscenza riguardo alla sua struttura
l 
forme superficiali vs. lessemi:
l 
l 
ambiguità morfosintattiche
l 
l 
NAVIGARE {navigo, navighi, … , navigava, … , navigato …}
stato
{stato, m.s. -> STATO, N}
{stato, part. pass -> ESSERE, V}
{stato, part. pass -> STARE, V}
ambiguità semantiche
l 
navigare {andare per mare}
{visitare pagine web su Internet}
12
Cosa può fare il linguaggio per
il computer?
l 
Il Natural Language Processing (NLP) o Trattamento
Automatico del Linguaggio (TAL) cerca di dotare il
computer di conoscenze linguistiche allo scopo di:
l 
progettare programmi e sistemi informatici che
assistano l’uomo in “compiti linguistici”
l 
l 
l 
l 
traduzione
gestione dei testi, ecc.
interazione con essere umani in maniera “naturale”
estrazione automatica di informazioni da testi o da altri media
13
La linguistica computazionale
ieri e oggi
1957
Anni ’60-’80
Nasce la
Grammatica
Generativa
Modelli simbolici
(Chomsky)
Logica & Intelligenza Artificiale
Natural Language Understanding
(Minsky, Schank, Winograd, et al.)
Anni ’90-Oggi
Empirical NLP
NLP statistico
Machine Learning
Anni ’50
Metà anni ’60
Anni ’60-’80
Prime applicazioni
del computer ai testi
letterari
I primi corpora
elettronici
Sviluppo della Corpus
Linguistics e della
statistica linguistica
(Padre Busa, Pisa)
(Francis & Kucera)
(Charniak, Church, et al.)
(Leech, Sinclair,
Herdan, et al.)
14
La linguistica computazionale a Pisa
l 
Pisa è stata la culla della linguistica computazionale italiana
ed è tuttora uno dei maggiori centri di ricerca in questo settore
15
Natural Language Processing
(NLP)
l 
Quali conoscenze linguistiche deve possedere il computer?
l 
articolare e decodificare i suoni di una lingua
l 
l 
conoscere le parole di una lingua, la loro struttura e la loro
organizzazione
l 
l 
sintassi
assegnare significati alle espressioni linguistiche semplici e
complesse
l 
l 
lessico e morfologia
comporre le parole in espressioni linguistiche complesse
(sintagmi, frasi, ecc.)
l 
l 
fonetica articolatoria e acustica, fonologia, prosodia, ecc.
semantica (lessicale e composizionale)
usare le frasi nei contesti, situazioni e modi appropriati agli scopi
comunicativi
l 
pragmatica
16
Natural Language Processing (NLP)
Alcune applicazioni
l 
l 
Correttori ortografici, grammaticali, ecc.
Recupero “intelligente” di documenti
l 
l 
Riconoscimento automatico del parlato
l 
l 
Question Answering (QA)
Traduzione (semi)-automatica di testi
l 
l 
Information Extraction (IE)
Interrogare documenti attraverso domande in linguaggio naturale
l 
l 
Text-To-Speech (TTS)
Estrazione automatica di informazione da testi
l 
l 
Automatic Speech Recognition (ASR)
Sintesi automatica della voce
l 
l 
Information Retrieval
Machine translation
Interazione (conversazione) uomo-macchina multimodale
17
Computer che parlano
rispondere a domande
riconoscere la voce e dialogare
tradurre
18
NLP - traduzione automatica
Google
traduzione
automatica
19
NLP - traduzione automatica
Tratto da Google FAQ
http://translate.google.com/about/intl/it_ALL/
20
Computer che parlano, non
troppo bene…
… ma si (ci) fanno capire
NLP - question-answering
Watson, sistema di QuestionAnswering dell’IBM
Nel febbraio 2011 ha sconfitto i
campioni di Jeopardy!
Watson ha accesso a centinaia
di milioni di documenti da cui
estrae le informazioni per
rispondere alle domande
attraverso tecniche di NLP
23
HAL 9000 è ancora lontano, ma …
l 
Molti applicativi di NLP sono ormai
disponibili (anche commercialmente):
l 
l 
l 
crescente impatto sociale
notevole impatto tecnologico ed
economico (Ingegneria del Linguaggio)
nuovi strumenti dotati di “capacità
linguistiche” a disposizione per l’analisi dei
dati linguistici e per l’ausilio nella gestione
e nel trattamento dell’informazione
24
Modelli computazionali della
facoltà del linguaggio
l 
Simulazioni computazionali dell’acquisizione del linguaggio
l 
l 
l 
reti neurali
Modelli computazionali del mutamento e dell’uso linguistico
Simulazione dei processi linguistici mentali (anche in soggetti
patologici)
l 
l 
organizzazione e rappresentazione della conoscenza linguistica
“processing” linguistico
25
Cosa è la linguistica
computazionale?
Acquisizione, conoscenza e uso del
linguaggio
linguistica
computazionale
•  Analisi computazionali dei dati
linguistici
•  Natural Language Processing
•  Ingegneria del Linguaggio
Simulazioni computazionali
della facoltà del linguaggio
26
Cosa è la linguistica
computazionale?
linguistica
computazionale
scienze cognitive
linguistica teorica
psicologia
linguistica applicata
Digital Humanities
informatica
Intelligenza artificiale
27
Temi principali del corso
l 
Analisi computazionale del testo
l 
l 
l 
l 
l 
l 
l 
corpora – tipologia e criteri di progettazione
preparazione del testo per analisi computazionali – testo e computer,
tokenizzazione, ecc.
statistica descrittiva del testo
cenni di calcolo delle probabilità applicato al linguaggio
metodi qualitativi e quantitativi di esplorazione del testo
annotazione linguistica e XML
Natural Language Processing
l 
l 
l 
l 
l 
l 
Automi a Stati Finiti – definizione e applicazioni al riconoscimento
morfologico
analisi morfologica automatica con Trasduttori a Stati Finiti
part of speech tagging – algoritmi a regole e di “machine learning”
grammatiche “context free”
parsing – parsing “context free”, “shallow parsing”
lessici computazionali semantici
28