CODICE 90541 ANNO ACCADEMICO 2023/2024 CFU 6 cfu anno 2 COMPUTER SCIENCE 10852 (LM-18) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE L'insegnamento Natural Language Processing fornisce un'introduzione ai problemi più sfidanti nell'elaborazione dei linguaggi naturali, considerando i tre livelli di sintassi, semantica, pragmatica; vengono discusse le più recenti applicazioni degli strumenti di elaborazione del linguaggio naturale, compresa la progettazione e lo sviluppo di ontologie e di chatbot. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Learning how to process and represent natural language, and the main software components of a system able to understand natural language. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO After the course students will be able to use existing tools and design and implement new ones for solving Natural Language Processing problems at the syntactic and semantic level. They will also be able to design and implement a chatbot using one of the most widespread chatbot languages. Application of Machine Learning techniques to the Natural Language Processing will be analysed, as well as symbolic and knowledge based approaches. Students interested in (and deemed suitable to, based on the outcomes on an initial quiz) attending the course in an innovative modality and in improving their soft skills, will also get the following transversal skills: -- personal skills, basic level -- social skills, basic level -- creative design, advanced level PREREQUISITI The student should know Python MODALITA' DIDATTICHE Frontal lessons (24 hours) and laboratories (8 hours). One individual project on a topic proposed by the teacher must be developed at the end of the course. For students involved in the innovative teaching activities, the following teaching modalities will be employed: - world café - creative individual project (the specification of the project is invented by students and is validated by teachers) PROGRAMMA/CONTENUTO NLP Introduction and Terminology Regular Expressions Syntax at Word Level: Stop Words, TF-IDF, Stemming, Normalization, Minimum Edit Distance Syntax at Sentence Level: Grammars, Part Of Speech (POS) Tagging with Definite Clause Grammars, POS Tagging with Hidden Markov Models, A critical comparison of DCG and HMM for POS Tagging Semantics: Distributional semantics, word2vect, Frame Semantics, Model-theoretic semantics, Lexical Semantics, WordNet, BabelNet, Named Entity Recognition, Ontologies and the Semantic Web, Ontologies and their applications, Ontology Learning and Ontology Matching Machine Learning and its role in solving NLP problems Pragmatics NLP applications and recap of the Most common (non-trivial) NLP features, with examples of how and when using them Applications: Chatbots TESTI/BIBLIOGRAFIA The slides and the further teaching material provided during the course are enough for following it. DOCENTI E COMMISSIONI VIVIANA MASCARDI Ricevimento: Su appuntamento (mandare una mail) GIACOMO MEANTI Commissione d'esame VIVIANA MASCARDI (Presidente) GIOVANNA GUERRINI GIACOMO MEANTI (Presidente Supplente) LEZIONI INIZIO LEZIONI In accordance to the academic calendar of the Computer Science Degree Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME The exam will consist in a quiz with closed questions, a written part (traditional open questions, exercises) plus an individual project (requiring about 1 man/week to be completed) whose outcomes must be presented in oral form. The written part can be accessed only if the quiz has been passed. The teachers can complement the parts above with an oral exam. MODALITA' DI ACCERTAMENTO The acquisition of the skills foreseen by this course will be assessed via the quiz and written exam + the project which have been carefully designed to allow the teachers to verify whether a student is actually able to design and implement a tool solving some (simplified) NLP problem and to understand, present and discuss in a critical way the most challenging issues raised by its development. OpenBadge PRO3 - Soft skills - Creazione progettuale avanzato 1 - A PRO3 - Soft skills - Personale base 1 - A PRO3 - Soft skills - Sociale base 1 - A