Natural Language Processing and Applications

Natural language processing is a key technology in web search, information retrieval, social network analysis, machine translation, speech recognition, and many other applications. The course introduces students to methods for natural language processing, natural language understanding, and information retrieval.

  • text processing and encoding
  • string algorithms, edit distance
  • statistical language models
  • spell correction
  • n-gram models
  • word sense disambiguation
  • Markov models, parts-of-speech tagging
  • probabilistic grammars and parsing
  • text alignment, clustering, text categorization
  • statistical machine translation
  • applications in speech recognition, handwriting recognition, and OCR
  • language acquisition
  • machine learning for NLP
  • cognitive and psychological aspects of NLP

The course will combine a statistical, mathematical, and practical approach. Exercises with be in Python and some Python toolkits.