Skip to Main Content

ENB4306 Introduction to Natural Language Processing: Home

Course Description

Natural Language Processing addresses fundamental questions at the intersection of human languages and computer science. In this interdisciplinary introductory course, you will learn how computers can do useful things with human languages, such as translating from Chinese into English, filtering junk email, extracting social networks from the web, and finding the main topics in the day's news. You will also learn about how computational methods can help linguists explain language phenomena, including automatic discovery of different word senses and phrase structure. You will learn about robust approaches to parameter estimation and inference as well.

Recommended Books

Deep Learning for Natural Language Processing: Creating Neural Networks with Python

This book discovers the concepts of deep learning used for natural language processing (NLP), with full-fledged examples of neural network models such as recurrent neural networks, long short-term memory networks, and sequence-2-sequence models. The first three chapters of the book cover the basics of NLP, starting with word-vector representation before moving onto advanced algorithms. The final chapters focus entirely on implementation, and deal with sophisticated architectures such as RNN, LSTM, and Seq2seq, using Python tools: TensorFlow, and Keras. The book follows a progressive approach and combines all the knowledge you have gained to build a question-answer chatbot system.

Natural Language Processing in Action: Understanding, Analyzing, and Generating Text with Python

This book is a guide to creating machines that understand human language using the power of Python with its ecosystem of packages dedicated to NLP and AI. It expands traditional NLP approaches to include neural networks, modern deep learning algorithms, and generative techniques as you tackle real-world problems like extracting dates and names, composing text, and answering free-form questions. Part One deals with the logistics of working with natural language and turning it into numbers that can be searched and computed. Part Two explores the complicated web of computation and communication within neural networks. Part Three introduces how to build machines that converse and answer questions as well as humans.

Natural Language Processing: Python and NLTK: Learning Path

This book is a field of computational linguistics and artificial intelligence that deals with human-computer interaction. Module One is an introduction on how to build systems around NLP, with a focus on how to create a customized tokenizer and parser from scratch. Module Two teaches the essential techniques of text and language processing, including organizing text corpora, creating your own custom corpus, text classification with a focus on sentiment analysis, and distributed text processing methods. Module Three will guide you through model development with machine learning tools and how to create training data, as well as give insight into the best practices for designing and building NLP-based applications using Python.

Recommended Databases