Linguistica Computazionale 27 settembre 2016 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, 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 Mercoledì 8.30 – 10.00 l Laboratorio M - Polo Fibonacci l l l chi non possiede un account deve farne richiesta al Centro di Calcolo presso il Polo Fibonacci Inizio: Mercoledì 28 settembre Temi delle esercitazioni l l l l l introduzione a Natural Language Toolkit (NLTK) espressioni regolari estrazione ed analisi di dati linguistici da corpora esercizi di statistica del testo annotazione linguistica automatica del testo con NLTK4 Esercitazioni di laboratorio l Esperimento di annotazione semantica l l l annotazione semantica di Named Entities in testi della pubblica amministrazione, nell’ambito del progetto SEMPLICE l’annotazione verrà realizzata attraverso un’interfaccia web sviluppata da ETI3 Assistente l Dott. Lucia Passaro 5 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 www: http://colinglab.humnet.unipi.it/people/lenci/ 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://polo4.elearning.unipi.it/ l informazioni sul corso, materiale didattico, avvisi, prove di esame, ecc. l NB: tutti gli studenti del corso devono registrarsi 6 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 (2008), Speech and Language Processing, (second edition), Prentice Hall l l capp. 1, 2, 3, 4.10-4.11, 5.1-5.4, 12, 13.1-13.3, 13.5, 19 S. Bird, E. Klein, E. Loper (2009), Natural Language Processing with Python, O’Reilly (liberamente scaricabile da http://www.nltk.org/book/) l capp. 1, 2, 3, 7, 8 7 Crediti e programmi l 12 CFU l l l tutte le lezioni ed esercitazioni due prove in itinere progetto finale l l creazione di un corpus, analisi computazionale con NLTK e annotazione semantica di Named Entities testi di esame l l Testo e Computer Speech and Language Processing 8 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 9 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 CoLing Lab (Uni. Pisa) ILC-CNR http://colinglab.fileli.unipi.it http://www.ilc.cnr.it/ 10 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, la ricerca e l’analisi dei dati testuali digitali 12 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! 13 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} 14 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 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 e AI rispondere a domande riconoscere la voce e dialogare tradurre 18 L’alba di una nuova era … ovvero il “ritorno” dell’AI NLP - traduzione automatica Google traduzione automatica 20 … 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 22 HAL e Samantha sono ancora lontani, ma … l Molti applicativi di NLP sono ormai disponibili (anche commercialmente) come componenti di sistemi di AI: 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 23