In this course, we cover the fundamentals of natural language processing and how human language can be modeled from a computational perspective, with the ultimate goal of human-like artificial language understanding. We start our discussion at the morphological and word level, building up via the syntactic level, to end with the complexity of semantic and discourse modeling. Different applications (sentiment analysis, emotion detection, information extraction, dialog systems and chatbots) are discussed as well as some predominant methodologies (machine learning, deep learning).
- Regular expressions, text normalization, edit distance
- Lexical level: n-gram language models; vector semantics
- Syntactic level: part-of-speech tagging and syntactic parsing
- Semantic level: semantic role labeling, coreference resolution
- Applications: information extraction, sentiment analysis and emotion detection, dialog systems and chatbots
- Machine learning: traditional approaches versus neural networks.