Linguistica Computazionale 22 settembre 2014
Obiettivi del corso Introduzione ai principali metodi di linguistica computazionale e di Natural Language Processing (NLP) Docenti Alessandro Lenci (Dip. di Filologia, Letteratura e Linguistica) Felice Dell Orletta (ILC-CNR) 2
Modalità d esame Prove scritte agli appelli di esame + progetto 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 Le prove scritte possono essere sostenute come prove in itinere NB: SOLO PER FREQUENTANTI Per superare l esame è necessario conseguire almeno 18/30 in ciascuna delle prove scritte + idoneità sul progetto il voto d esame è dato dalla media dei voti delle prove scritte + bonus per il progetto (1 o 2 punti) 3
Esercitazioni di laboratorio Giovedì 8.30 10.00 Laboratorio H - Polo Fibonacci chi non possiede un account deve farne richiesta al Centro di Calcolo presso il Polo Fibonacci Inizio: Giovedì 25 settembre Temi delle esercitazioni 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 NLTK 4
Informazioni e contatti Ricevimento Prof. Alessandro Lenci 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 Dott. Felice Dell Orletta 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 E-learning Moodle: http://moodle.humnet.unipi.it/ informazioni sul corso, materiale didattico, avvisi, prove di esame, ecc. NB: tutti gli studenti del corso devono registrarsi 5
Testi di esame A. Lenci, S. Montemagni, V. Pirrelli (2005), Testo e Computer. Elementi di linguistica computazionale, Roma, Carocci D. Jurafsky e J.H. Martin (2000), Speech and Language Processing, Prentice Hall 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 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/) capp. 1, 2, 3, 7, 8 6
Crediti e programmi 12 CFU tutte le lezioni ed esercitazioni due prove in itinere progetto finale creazione di un corpus ed analisi computazionale con NLTK testi di esame Testo e Computer Speech and Language Processing 6 CFU lezioni ed esercitazioni fino alla I prova in itinere progetto finale creazione di un corpus ed annotazione linguistica in XML testi di esame Testo e Computer 7
Cosa è la linguistica computazionale? linguaggio naturale La linguistica computazionale è un settore di ricerca che vede coinvolti linguisti, informatici e scienziati cognitivi per raggiungere due obiettivi principali: 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? Come studiare 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 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 La linguistica computazionale permette di affrontare queste ricerche attraverso metodi e strumenti informatici per la rappresentazione e gestione di grandi quantità di dati linguistici rappresentazione digitale del testo codifica e annotazione di informazione linguistica ricerche ed esplorazioni avanzate del testo ricerche di informazioni testuali e dati linguistici visualizzazione dell informazione nel testo metodi matematici e statistici 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 forme superficiali vs. lessemi: NAVIGARE {navigo, navighi,, navigava,, navigato } ambiguità morfosintattiche stato {stato, m.s. -> STATO, N} {stato, part. pass -> ESSERE, V} {stato, part. pass -> STARE, V} ambiguità semantiche navigare {andare per mare} {visitare pagine web su Internet} 12
Cosa può fare il linguaggio per il computer? Il Natural Language Processing (NLP) o Trattamento Automatico del Linguaggio (TAL) cerca di dotare il computer di conoscenze linguistiche allo scopo di: progettare programmi e sistemi informatici che assistano l uomo in compiti linguistici 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 Anni 50 1957 Nasce la Grammatica Generativa (Chomsky) Prime applicazioni del computer ai testi letterari (Padre Busa, Pisa) Metà anni 60 I primi corpora elettronici (Francis & Kucera) Anni 60-80 Modelli simbolici Logica & Intelligenza Artificiale Natural Language Understanding (Minsky, Schank, Winograd, et al.) Anni 60-80 Sviluppo della Corpus Linguistics e della statistica linguistica (Leech, Sinclair, Herdan, et al.) Anni 90-Oggi Empirical NLP NLP statistico Machine Learning (Charniak, Church, et al.) 14
La linguistica computazionale a Pisa Pisa è stata la culla della linguistica computazionale italiana ed è tuttora uno dei maggiori centri di ricerca in questo settore 15
Natural Language Processing (NLP) Quali conoscenze linguistiche deve possedere il computer? articolare e decodificare i suoni di una lingua fonetica articolatoria e acustica, fonologia, prosodia, ecc. conoscere le parole di una lingua, la loro struttura e la loro organizzazione lessico e morfologia comporre le parole in espressioni linguistiche complesse (sintagmi, frasi, ecc.) sintassi assegnare significati alle espressioni linguistiche semplici e complesse semantica (lessicale e composizionale) usare le frasi nei contesti, situazioni e modi appropriati agli scopi comunicativi pragmatica 16
Natural Language Processing (NLP) Alcune applicazioni Correttori ortografici, grammaticali, ecc. Recupero intelligente di documenti Information Retrieval Riconoscimento automatico del parlato Automatic Speech Recognition (ASR) Sintesi automatica della voce Text-To-Speech (TTS) Estrazione automatica di informazione da testi Information Extraction (IE) Interrogare documenti attraverso domande in linguaggio naturale Question Answering (QA) Traduzione (semi)-automatica di testi 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 Question- Answering 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 Molti applicativi di NLP sono ormai disponibili (anche commercialmente): 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 Simulazioni computazionali dell acquisizione del linguaggio reti neurali Modelli computazionali del mutamento e dell uso linguistico Simulazione dei processi linguistici mentali (anche in soggetti patologici) 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 psicologia linguistica teorica linguistica applicata Digital Humanities informatica Intelligenza artificiale 27
Temi principali del corso Analisi computazionale del testo 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 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