CdSINFORMATICA
Codice649AA
CFU9
PeriodoSecondo semestre
LinguaInglese
Moduli | Settore/i | Tipo | Ore | Docente/i | |
HUMAN LANGUAGE TECHNOLOGIES | INF/01 | LEZIONI | 72 |
|
Al termine del corso:
- Gli studenti avranno acquisito conoscenze sulle tecniche, gli algoritmi e i modelli fondamentali utilizzati nell'elaborazione del linguaggio naturale.
- Gli studenti comprenderanno l'architettura delle tipiche applicazioni sul testo e le librerie per costruirle.
- Gli studenti avranno competenze nella progettazione, implementazione e valutazione di applicazioni basate sull'analisi, la comprensione e la trasformazione dei testi.
By the end of the course:
- Students will have acquired knowledge about the fundamental techniques, algorithms, and models used in Natural Language Processing.
- Students will understand the architecture of typical applications on text and libraries for building them.
- Students will have expertise in designing, implementing, and evaluating applications that exploit analysis, understanding, and transformation of texts.
La valutazione continua monitorerà i progressi attraverso test periodici, presentazioni e discussioni che coinvolgeranno il docente e i gruppi di studenti che sviluppano il progetto. Gli studenti saranno valutati in base alla loro capacità di discutere i contenuti del corso utilizzando la terminologia appropriata e di applicare le tecniche di elaborazione del linguaggio naturale.
Ongoing assessments will monitor the progress by means of periodic tests, presentations and discussions involving the teacher and groups of students developing the project. Students will be assessed on the demonstrated ability to discuss the course contents using the appropriate terminology and to apply natural language processing techniques.
Al termine del corso, lo studente sarà in grado di progettare, implementare e valutare applicazioni che coinvolgano l'analisi, l'interpretazione e la trasformazione dei testi. Lo studente sarà in grado di presentare in una relazione scritta i risultati dell'attività svolta per la realizzazione di un progetto pratico su un compito NLP.
By the end of the course, the student will be able to design, implement, and evaluate applications that exploit the analysis, interpretation, and transformation of texts. The student will be able to present in a written report the results of the activity carried out for implementing a practical project on an NLP task.
Agli studenti verranno assegnati dei compiti (come parte dell'esame intermedio o come progetti finali) per valutare le loro capacità di sviluppo e di comprensione della ricerca.
Students will be given assignments (as part of the midterm or as final projects) to assess their development and research understanding skills.
Gli studenti saranno in grado di analizzare un problema di elaborazione del testo, selezionare i metodi corretti per risolverlo e implementare una soluzione funzionante. Saranno consapevoli di diversi problemi legati all'elaborazione del testo, tra cui l'affidabilità dei risultati.
Students will be able to analyze a text processing problem, select the correct methods to solve it and implement a working solution. They will be aware of several issues related to the processing of text, including the reliability of the results.
Durante lo sviluppo del progetto, vengono verificate le modalità di definizione del problema, di gestione delle responsabilità, e l'organizzazione delle fasi progettuali.
During project development, ways of defining the problem, managing responsibilities, and organizing the project phases are checked.
Prerequisiti utili:
- Capacità di programmazione, conoscenza del linguaggio di programmazione Python.
- Calcolo elementare e algebra lineare (es. corso “Computational Mathematics for learning and data analysis” (646AA))
- Probabilità e statistica (es. corso "Calcolo delle Probabilità e Statistica" (269AA))
- Apprendimento automatico (es. corso "Machine Learning" (654AA))
Useful prerequisites:
- Programming skills, proficiency in the Python programming language
- Elementary Calculus and Linear Algebra (e.g. course “Computational Mathematics for learning and data analysis” (646AA))
- Probability and statistics (e.g. course “Calcolo delle Probabilità e Statistica” (269AA))
- Machine learning (e.g. course “Machine Learning” (654AA))
La lingua ufficiale del corso è l'inglese: tutti i materiali, i riferimenti e i libri sono in inglese. Le diapositive delle lezioni saranno disponibili, insieme alle letture suggerite, sul sito web del corso.
Attività di apprendimento:
- partecipazione a lezioni
- partecipazione a seminari di aziende e/o esperti
- partecipazione a discussioni
- studio individuale
- esercitazioni
- progetto di gruppo
The official language of the course is English: all materials, references, and books are in English. Lecture slides will be made available, together with suggested readings, on the course website.
Learning activities:
- attending lectures
- participation in seminars by companies and/or professional experts
- participation in discussions
- individual study
- exercises
- group project
Attendance: strongly advised
Teaching methods:
- Lectures
- Company and/or expert seminars
Sector case studies will be presented, possibly during seminars, with the active participation of students.
Il corso presenta principi, modelli e tecniche all'avanguardia per l'analisi e la generazione del linguaggio naturale, concentrandosi principalmente su approcci di apprendimento automatico statistico e in particolare sull'apprendimento profondo (Deep Learning). Gli studenti impareranno come applicare queste tecniche in una vasta gamma di applicazioni utilizzando moderne librerie di programmazione.
Fondamenti dell'Elaborazione del Linguaggio Naturale
- Introduzione all'NLP, Sviluppi Storici, Applicazioni Chiave
- Metodi Statistici in NLP: Language Models, Hidden Markov Model, Viterbi Algorithm, Generative vs. Discriminative Models
- Elementi Essenziali di Linguistica: Parole, Lemmi, Morfologia, Parti del Discorso (PoS), Frasi e Struttura delle Frasi, Riconoscimento di Entità Nominative (NER)
- Tecniche di Parsing: Constituency Parsing, Dependency Parsing
Metodi e Tecniche di NLP
- Pipeline di Annotazione, Annotazione Linguistica, Annotazione Semantica, Strumenti e Framework per l'annotazione del testo
- Semantica Lessicale: Collocazioni e multi-word expressions, Corpora and Corpus Linguistics, Thesauri e Gazetteers
- Semantica Distribuzionale: Word Embeddings, Character Embeddings, Similarità Semantica
- Deep Learning per l'elaborazione del Linguaggio naturale
Applicazioni e Studi di Caso
- Estrazione di Informazioni: Riconoscimento di Entità, Collegamento di Entità
- Classificazione del Testo e Riassunto: Tecniche di Classificazione, Modelli di Riassunto
- Applicazioni Avanzate di NLP: Analisi delle Opinioni e Sentiment Analysis, Risposte alle Domande, Interfacce Dialogiche (Chatbot), Traduzione Automatica
Il programma potrebbe subire variazioni in base al ritmo del corso e alle tendenze emergenti.
The course presents principles, models, and state-of-the-art techniques for the analysis and generation of natural language, focusing mainly on statistical machine-learning approaches and Deep Learning in particular. Students will learn how to apply these techniques in a wide range of applications using modern programming libraries.
Foundations of Natural Language Processing
- Introduction to NLP, Historical developments, Key applications
- Statistical Methods in NLP: Language Models, Hidden Markov Model, Viterbi Algorithm, Generative vs. Discriminative Models
- Linguistic Essentials: Words, Lemmas, Morphology, Parts of Speech (PoS) Tagging, Phrases and Sentence Structure, Named Entity Recognition (NER)
- Parsing Techniques: Constituency Parsing, Dependency Parsing
NLP Methods and Techniques
- Annotation Pipelines, Linguistic Annotation, Semantic Annotation, Text Annotation Tools and Frameworks
- Lexical Semantics: Collocations and multi-word expressions, Corpora and Corpus Linguistics, Thesauri and Gazetteers
- Distributional Semantics: Word Embeddings, Character Embeddings, Semantic Similarity
- Deep Learning for Natural Language
Applications and Case Studies
- Information Extraction: Entity Recognition, Entity Linking
- Text Classification and Summarization: Classification Techniques, Summarization Models
- Advanced NLP Applications: Opinion Mining and Sentiment Analysis, Question Answering, Dialogic Interfaces (Chatbots), Machine Translation
The syllabus is subject to change based on the pace of the class and emerging trends in Human Language Technologies.
- D. Jurafsky, J.H. Martin, Speech and Language Processing. 3rd edition, Prentice-Hall, 2021.
- S. Bird, E. Klein, E. Loper. Natural Language Processing with Python.
- Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press, 2016.
Additional Material
C. Manning, H. Schutze. Foundations of Statistical Natural Language Processing. MIT Press, 2000.
S. Kubler, R. McDonald, J. Nivre. Dependency Parsing. 2010.
P. Koehn. Statistical Machine Translation. Cambridge University Press, 2010.
- D. Jurafsky, J.H. Martin, Speech and Language Processing. 3rd edition, Prentice-Hall, 2021.
- S. Bird, E. Klein, E. Loper. Natural Language Processing with Python.
- Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press, 2016.
Additional Material
- C. Manning, H. Schutze. Foundations of Statistical Natural Language Processing. MIT Press, 2000.
- S. Kubler, R. McDonald, J. Nivre. Dependency Parsing. 2010.
- P. Koehn. Statistical Machine Translation. Cambridge University Press, 2010.
Gli studenti non frequentanti non possono svolgere i compiti intermedi. L'esame consisterà nello sviluppo di un progetto (con presentazione finale) e in una discussione orale sia sul progetto che sulla parte teorica.
Non-attending students cannot do midterm assignments. The exam will consist in the development of a project (with a final presentation) and an oral discussion about both the project and the theoretical part.
L'esame del corso per gli studenti che frequentano le lezioni si svolge in due fasi, comprendenti compiti intermedi, lo sviluppo di un progetto (con presentazione finale) e una discussione orale. Gli esami intermedi forniscono una dispensa per la discussione orale.
Course examination for students attending the lectures is performed in two stages, including midterm assignments, the development of a project (with a final presentation) and an oral discussion. Midterms provide a waiver for the oral part.