Book Image

Conversational AI with Rasa

By : Xiaoquan Kong, Guan Wang
Book Image

Conversational AI with Rasa

By: Xiaoquan Kong, Guan Wang

Overview of this book

The Rasa framework enables developers to create industrial-strength chatbots using state-of-the-art natural language processing (NLP) and machine learning technologies quickly, all in open source. Conversational AI with Rasa starts by showing you how the two main components at the heart of Rasa work – Rasa NLU (natural language understanding) and Rasa Core. You'll then learn how to build, configure, train, and serve different types of chatbots from scratch by using the Rasa ecosystem. As you advance, you'll use form-based dialogue management, work with the response selector for chitchat and FAQ-like dialogs, make use of knowledge base actions to answer questions for dynamic queries, and much more. Furthermore, you'll understand how to customize the Rasa framework, use conversation-driven development patterns and tools to develop chatbots, explore what your bot can do, and easily fix any mistakes it makes by using interactive learning. Finally, you'll get to grips with deploying the Rasa system to a production environment with high performance and high scalability and cover best practices for building an efficient and robust chat system. By the end of this book, you'll be able to build and deploy your own chatbots using Rasa, addressing the common pain points encountered in the chatbot life cycle.
Table of Contents (16 chapters)
1
Section 1: The Rasa Framework
5
Section 2: Rasa in Action
11
Section 3: Best Practices

Building a tell-the-time bot

A tell-the-time bot is one of the most basic and simplest chatbots. It is very suitable as an introductory exercise project, allowing learners to understand what each part of the Rasa system does. All the project files can be found under the directory named ch03 in the GitHub repository, available at the following URL: https://github.com/PacktPublishing/Conversational-AI-with-RASA. Let's start by outlining the target functions this bot should provide.

Defining the features that our bot should provide

In this section, we will list all the functions this exercise project should provide. Let's start with greetings and goodbyes.

Handling greetings and goodbyes

Example #1: The bot responds to the user's greeting, as follows:

User: Hello!
Bot: Hello, my name is Silly. I can help you get the time and date. You may ask me "What time is it?", "What's the date today?" or "What day is it tomorrow?".
...