COMPUTATIONAL LINGUISTICS
Academic year2023/24
CourseDIGITAL HUMANITIES
Code305LL
Credits12
PeriodSemester 1
LanguageItalian
Modules | Area | Type | Hours | Teacher(s) |
LINGUISTICA COMPUTAZIONALE | L-LIN/01 | LEZIONI | 72 | |
Obiettivi di apprendimento
Conoscenze
Lo studente acquisirà conoscenze in merito agli strumenti e alle metodologie per l'analisi computazionale dei testi, alle tecnologie per il trattamento automatico della lingua, e al linguaggio di programmazione Python per le analisi testuali
Knowledge
Students are expected to acquire:
- basic methods for text processing;
- elements of statistical and probabilistic natural language processing;
- some knowledge on linguistic annotation;
- basic knowledge of the main tools for natural language processing.
- basic knolwedge of Python for text processing
Modalità di verifica delle conoscenze
L'accertamento delle conoscenza verrà svolto attraverso:
- prova scritta (divisa in due parti), nella quale lo studente dovrà dimostare la conoscenza dei temi svolti a lezioni e dei testi di esame rispondendo a domande aperte e risolvendo esercizi. La prova scritta si terrà in occasione di ogni appello di esame. In alternativa, solo gli studenti frequentanti potranno sostenere due prove in itinere
- realizzazione di un progetto sui temi delle esercitazioni di laboratorio
- prova orale, in cui verrà discussa la prova scritta, il progetto e verrà verificata la conoscenza del programma di esame
Assessment criteria of knowledge
Academic progress will be monitored and verified:
- in the written exam (divided in 2 parts, 1h:30min each), the student must demonstrate his/her knowledge of the course material by answering correctly to questions and solving exercises. The written tests can be taken at the exam sessions or during the course (in itinere tests). The latter option is available only for the students attending the classes
- in the oral exam, the student must discuss with the teacher his/her project work (to be submitted elettronically at least 1 week before the exam), and show his/her knwoledge of the exam program
Methods:
- Final oral exam
- Final written exam
- Final laboratory practical demonstration
Capacità
Lo studente saprà utilizzare le tecniche di base per l'analisi computazionale dei testi e imparerà a usare l'ambiente di programmazione Python NLTK per lo sviluppo di moduli per il trattamento automatico della lingua
Skills
The student will learn the basic techniques for computational text analysis and the NLTK python framework for Natural Language Processing
Modalità di verifica delle capacità
Lo studente realizzerà un progetto di costruzione e analisi computazionale di un corpus con NLTK
Assessment criteria of skills
The student will create a project consisting in the construction and computational analysis of a corpus with NLTK.
Comportamenti
Lo studente potrà acquisire e/o sviluppare sensibilità alle problematiche relative all'analisi quantitativa e computazionale del testo e al trattamento automatico della lingua
Saranno acquisite accuratezza e precisione nella raccolta e nell'analisi computazionale di dati linguistici
Behaviors
The student will learn and/or develop abilities related to the quantitative and computational analysis of texts, and Natural Language Processing.
Students will acquire accuracy and precision when collecting and analysing linguistic data with mathematical and computational tools.
Modalità di verifica dei comportamenti
Durante le sessioni di laboratorio saranno valutati il grado di accuratezza e precisione delle attività svolte
Assessment criteria of behaviors
During lab sessions we will evaluate the accuracy and precision in carrying out computational linguistic tasks.
Prerequisiti (conoscenze iniziali)
Nozioni di base di linguistica generale (morfologia, sintassi e semantica)
Nozioni di base di programmazione
Prerequisites
Basic notions of general linguistics (morphology, syntax, and semantics)
Basic notions of computer programming.
Indicazioni metodologiche
Lezioni: frontali
Modalità di apprendimento:
- frequenza delle lezioni
- studio individuale
- attività di laboratorio
Frequenza: raccomandata
Metodi di insegnamento:
Teaching methods
Delivery: face to face
Learning activities:
- attending lectures
- individual study
- laboratory work
Attendance: Recommended
Teaching methods:
Programma (contenuti dell'insegnamento)
Il corso ha lo scopo di presentare i temi principali della linguistica computazionale e del “Natural Language Processing” (NLP) e di familiarizzare lo studente con gli strumenti di base per l’analisi quantitativa e computazionale del testo.
Lezioni teoriche
1. Analisi computazionale dei dati linguistici
- corpora: tipologia e uso
- codifica e rappresentazione dei dati linguistici
- analisi statistica dei dati linguistici
- linguaggio e probabilità: modelli di markov, entropia, legge di Bayes
- metodi computazionali per l'esplorazione dei dati linguistici: concordanze, collocazioni e misure di associazione
2. Natural Language Processing (NLP)
- metodi a regole e di machine learning
- corpora annotati per lo sviluppo di strumenti di NLP
- analisi morfologica: Automi e Trasduttori a Stati Finiti
- Part of Speech Tagging
- analisi sintattica: chunking e shallow parsing, grammatiche context-free, cenni di parsing a costituenti e a dipendenze, probabilistic context free grammars
- metodi di valutazione
- lessici semantici computazionali: Wordnet e FrameNet
- word sense disambiguation
Esercitazioni
- espressioni regolari
- introduzione a NLTK
- analisi computazionali del testo con NLTK
- annotazioni semantiche del testo
Syllabus
The course will present the main topics of computational linguistics and Natural Language Processing, and the basic toos for quantitative and computational text analysis.
Lectures:
1. Computational analysis of language data:
- corpora: typology and use
- text encoding and preparation
- annotated corpora
- statistical analysis of language data
- language and probability, Markov models, entropy, Bayes Rule
- concordances, collocations and association measures
2. Natural Language Processing
- rule-based and machine learning methods
- annotate corpora and NLP tools
- Finite State Automata and Transducers and their application to morphological analysis
- Part of Speech tagging
- Syntactic analysis: Context free grammar, probabilistic grammars, dependency parsing, chunking
- Evaluation methods
- Computational semantic lexicons: WordNet and FrameNet
- Word sense disambiguation
Lab sessions:
- regular expressions
- introduction to NLTK
- computational analsysis of texts with NLTK
- semantic annotation of texts
Bibliografia e materiale didattico
Testi la cui conoscenza è oggetto di verifica all'esame:
- A. Lenci, S. Montemagni, V. Pirrelli, Testo e computer. Elementi di linguistica computazionale, Carocci, 2005
- D. Jurafsky & J.H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition (third edition), 2023 (capp. 3, 4.1.-4.8, 8.2-8.3, 18.1-18.2, 23.1-23.4.1, 24.1-24.6.1)
Testo di consultazione per le esercitazioni:
- Bird, S., Klein, E., & E. Loper, Natural Language Processing with Python (Analyzing Text with the Natural Language Toolkit), O'Reilly Media, 2009
Bibliography
Compulsory readings:
- A. Lenci, S. Montemagni, V. Pirrelli, Testo e computer. Elementi di linguistica computazionale, Carocci, 2005
- D. Jurafsky & J.H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition (third edition), 2023 (capp. 3, 4.1.-4.8, 8.2-8.3, 18.1-18.2, 23.1-23.4.1, 24.1-24.6.1)
Recommended reading:
- Bird, S., Klein, E., & E. Loper, Natural Language Processing with Python (Analyzing Text with the Natural Language Toolkit), O'Reilly Media, 2009. (http://www.nltk.org/book)
Indicazioni per non frequentanti
Testi la cui conoscenza è oggetto di verifica all'esame:
- A. Lenci, S. Montemagni, V. Pirrelli, Testo e computer. Elementi di linguistica computazionale, Carocci, 2005
- D. Jurafsky & J.H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition (third edition), 2023 (capp. 3, 4.1.-4.8, 8.2-8.3, 18.1-18.2, 23.1-23.4.1, 24.1-24.6.1)
Testo di consultazione per la realizzazione del progetto:
- Bird, S., Klein, E., & E. Loper, Natural Language Processing with Python (Analyzing Text with the Natural Language Toolkit), O'Reilly Media, 2009
Non-attending students info
Obligatory readings:
- A. Lenci, S. Montemagni, V. Pirrelli, Testo e computer. Elementi di linguistica computazionale, Carocci, 2005
- D. Jurafsky & J.H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition (third edition), 2023 (capp. 3, 4.1.-4.8, 8.2-8.3, 18.1-18.2, 23.1-23.4.1, 24.1-24.6.1)
Recommended reading:
- Bird, S., Klein, E., & E. Loper, Natural Language Processing with Python (Analyzing Text with the Natural Language Toolkit), O'Reilly Media, 2009. (http://www.nltk.org/book)
Modalità d'esame
Esame scritto + progetto + esame orale
L'esame scritto, diviso in due prove, può essere sostenuto o come compiti in itinere durante il corso oppure in occasione degli appelli scritti (le due prove scritte possono essere sostenute anche in appelli differenti). Le prove in itinere possono essere effettuate SOLO dagli studenti frequentanti.
Il progetto viene presentato e discusso in occasione degli appelli orali. Il superamento dell'esame scritto (18/30 in ciascuna prova scritta) è condizione strettamente necessaria per presentarsi all'orale e discutere il progetto.
Il progetto dà diritto a un bonus fino a due punti, che si aggiunge alla media dei punteggi orrenuti nelle prove scritte.
In occasione della prova orale, verrà verificata la conoscenza del programma di esame con ulteriori domande.
Assessment methods
Written test + project
The written test, divided in two parts, can be taken either during the course as "prove in itinere" (only for attending students) or at the exam sessions (each part can also be taken in different exam sessions).
The project is presented and discussed at the oral exam. Passing the written texts (18/30 in each part) is a strictly necessary condition to access the oral exam.
The project can be awarded up to two points, which will be added to the average grade of the two written tests.
At the oral exam, the knowledge of the program will be verified with further questions.
Note
Commissione di esame:
- Alessandro Lenci
- Alessandro Bondielli
- Pietro Dini
NB: Tutte le lezioni si svolgeranno in presenza. Solo le lezioni di Laboratorio del mercoledì saranno trasmesse anche in streaming (senza registrazione) su Teams
INIZIO LEZIONI: lunedì 18 settembre 2023
Notes
Exam commission:
- Alessandro Lenci
- Alessandro Bondielli
- Pietro Dini
NB: All classes will be in presence. Only the Laboratory classes on Wednesday will also be in streaming on Teams (without recording)
CLASSES start on Monday 18th September 2023
Updated: 13/12/2023 10:24