View syllabus
HUMAN LANGUAGE TECHNOLOGIES
LUCIA PASSARO
Academic year2023/24
CourseCOMPUTER SCIENCE
Code649AA
Credits9
PeriodSemester 2
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
HUMAN LANGUAGE TECHNOLOGIESINF/01LEZIONI72
LUCIA PASSARO unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

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.
Knowledge

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.
Modalità di verifica delle conoscenze

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.

Assessment criteria of knowledge

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.

 

Capacità

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.

Skills

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.

Modalità di verifica delle capacità

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.

Assessment criteria of skills

Students will be given assignments (as part of the midterm or as final projects) to assess their development and research understanding skills.

Comportamenti

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.

Behaviors

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.

Modalità di verifica dei comportamenti

Durante lo sviluppo del progetto, vengono verificate le modalità di definizione del problema, di gestione delle responsabilità, e l'organizzazione delle fasi progettuali.

Assessment criteria of behaviors

During project development, ways of defining the problem, managing responsibilities, and organizing the project phases are checked.

Prerequisiti (conoscenze iniziali)

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))
Prerequisites

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))
Indicazioni metodologiche

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
Teaching methods

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.

Programma (contenuti dell'insegnamento)

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.

Syllabus

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.

Bibliografia e materiale didattico

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.

Bibliography

Additional Material

Indicazioni per non frequentanti

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 info

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. 

Modalità d'esame

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.

Assessment methods

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.

Updated: 05/02/2024 10:38