Scheda programma d'esame
COMPUTATIONAL LINGUISTICS
ALESSANDRO LENCI
Academic year2023/24
CourseDIGITAL HUMANITIES
Code305LL
Credits12
PeriodSemester 1
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
LINGUISTICA COMPUTAZIONALEL-LIN/01LEZIONI72
ALESSANDRO BONDIELLI unimap
ALESSANDRO LENCI unimap
Obiettivi di apprendimento
Learning outcomes
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:

  • lezioni
  • laboratorio

 

Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • individual study
  • laboratory work

Attendance: Recommended

Teaching methods:

  • lectures
  • laboratory
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