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.
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. 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
The student should know Python
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)
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
The slides and the further teaching material provided during the course are enough for following it.
Ricevimento: Su appuntamento (mandare una mail)
VIVIANA MASCARDI (Presidente)
GIOVANNA GUERRINI
GIACOMO MEANTI (Presidente Supplente)
In accordance to the academic calendar of the Computer Science Degree
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.
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.