|SCIENTIFIC DISCIPLINARY SECTOR||INF/01|
The Natural Language Processing course provides an introduction to the most challenging issues in processing natural languages, driven by the three layers of syntax, semantics, pragmatics; the most recent applications of natural language processing tools are discussed, including the design and development of ontologies and of chatbots.
Learning how to process and represent natural language, and the main software components of a system able to understand natural language.
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.
Traditional: frontal lessons and laboratories
NLP Introduction and Terminology
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
NLP applications and recap of the Most common (non-trivial) NLP features, with examples of how and when using them
The notes of the course
Office hours: Appointment by email Office: Valle Puggia – third floor
All class schedules are posted on the EasyAcademy portal.
The exam will consist in a quiz, a written part (traditional open/closed questions, exercises) plus an individual project (requiring about 1 man/week to be completed).
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.