As recent events reshape how students access learning, students who search for learning content can be overwhelmed and discouraged by too many search results that do not meet their needs. Students need to use their time learning, not searching for learning content. They must become self-service. The educational self-service chatbot (Florence) described in this pattern listens to student learning questions and quickly responds by connecting students to grade-level appropriate learning subjects.
Florence helps students become self-service users. This self-help model can also be applied to other industries such as finding and evaluating products, government services, and researching public health information. You can expand the concept of building a self-help chatbot and encourage your users to be self-service users.
As many schools shuttered their doors and parents and teachers scrambled to switch from classroom to online learning, developers saw a need to help students find learning content. Florence was created to help students who need to quickly access reliable learning content.
Florence is designed to listen to student requests for learning content sources and to use IBM® Watson™ artificial intelligence (AI) to deliver the requested learning resources. Using Florence, students can now request grade-level and subjects topic resources they need and receive responses with direct links to learning content choices.
How does Florence achieve this goal? Florence uses Watson Assistant AI technology to create a dialog flow that mimics a conversation that a student might have when requesting learning recommendations. When you create a Watson Assistant chatbot, you create search skills that become the repository for your intents (questions that a student might ask) and entities (terms that give context to the intents). For example, students might ask about math and use the word equation in their question. Entities are associated with synonyms that help Florence identify which math courses teach about equations and help Florence respond with more accurate learning resources.
Watson Discovery and Natural Language Understanding (NLU) are critical to the assistant platform as they enhance the accuracy of Florence’s responses to users through natural language processing. These enhancements help your chatbot feel human to your users. To learn more, see this series on natural language processing.
When you complete this code pattern, you understand how to:
- Create a Watson Assistant chatbot with intents and entities
- Integrate your chatbot with Watson Discovery by using the Watson Assistant search skill available on the Trial Plus version of the IBM Cloud service
- Use natural language processing to curate your collections for better content and synonyms
- Use Watson Discovery to enrich your data for precise chatbot responses
- Deploy your Watson Assistant chatbot, and invite your users to use the chatbot to search for learning content
- Run the Python program to run the data set through Watson Natural Language Understanding to extract the metadata (for example, course name and description) and enrich the CSV file.
- Run the Node program to convert the CSV files to JSON files (required for the Watson Discovery collection).
- Programmatically upload the JSON files into the Watson Discovery Collection.
- The user interacts through the chatbot by using a Watson Assistant dialog skill.
- When the student asks about course information, a search query is issued to the Watson Discovery service through a Watson Assistant search skill. Watson Discovery returns the responses to the Dialog.
Find the detailed steps for this pattern in the readme file. The steps show you how to:
- Clone the repository.
- Create IBM Cloud services.
- Configure the Watson Natural Language Understanding Service.
- Configure the Watson Discovery Service.
- Configure the Watson Assistant Service and test the chatbot.