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: alessandro.lenci@ling.unipi.it
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: felice.dellorletta@ilc.cnr.it
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