When done well, interacting with a computer through human language is incredibly powerful and also quite fun. Messaging and Voice-Controlled devices are the next big platforms, and conversational computing has a big role to play in creating engaging augmented and virtual reality experiences. This course will get you started on the path towards building such applications! There are a number of unique challenges to building these kinds of programs. The most obvious one is of course - how do I turn human language into machine instructions? In this course, you'll tackle this first with rule-based systems and then with machine learning. Some chat systems are designed to be useful, while others are just good fun. You will build one of each, and finally put everything together to make a helpful, friendly chatbot! And once you complete the course, you can learn how to connect your chatbot to Facebook Messenger!
In this chapter, you'll learn how to build your first chatbot! After gaining a bit of historical context, you'll set up a basic structure for receiving text and responding to users, and then learn how to add the basic elements of personality. You'll then build rule-based systems for parsing text.
Here, you'll use machine learning to turn natural language into structured data using spaCy, scikit-learn, and rasa NLU. You'll start with a refresher on the theoretical foundations, and then move on to building models using the ATIS dataset, which contains thousands of sentences from real people interacting with a flight booking system.
In this chapter, you're going to build a personal assistant to help you plan a trip. It will be able to respond to questions like "are there any cheap hotels in the north of town?" by looking inside a hotels database for matching results.
Everything you've built so far has statelessly mapped intents to actions & responses. It's amazing how far you can get with that! But to build more sophisticated bots you will always want to add some statefulness. That's what you'll do here, as you build a chatbot that helps users order coffee. Have fun!