In this pattern, you create a chatbot using Node.js and IBM Watson Assistant. The flow is enhanced by using Watson Natural Language Understanding to identify entities and Watson Tone Analyzer to detect customer emotions. For FAQs, a call to the Watson Discovery service uses passage retrieval to pull answers from a collection of documents.
When you complete this pattern, you will understand how to:
- Create a chatbot that converses through a web UI using Watson Assistant and Node.js
- Use Watson Discovery with passage retrieval to find answers in FAQ documents
- Use Watson Tone Analyzer to detect emotion in a conversation
- Identify entities with Watson Natural Language Understanding
- The FAQ documents are added to the Watson Discovery collection.
- The user interacts with a chatbot through the app UI.
- User input is processed with Tone Analyzer to detect anger. An anger score is added to the context.
- User input is processed with Natural Language Understanding. The context is enriched with detected entities and keywords (for example, a location).
- The input and enriched context is sent to Watson Assistant, which recognizes intent, entities, and dialog paths. It responds with a reply, an action, or both.
- Optionally, a requested action is performed by the app. This action might include looking up additional information from bank services to append to the reply or using Discovery to reply with an answer from the FAQ documents.
Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README.md file.
This code pattern showed how you can use the IBM Watson Node.js SDK to include conversation interaction, anger detection, natural language understanding, and answer discovery in a banking chatbot. The code pattern is part of the Watson Assistant learning path. To continue the learning and learn about more Watson Assistant features, take a look at the next code pattern, Create a Google Action with Watson Assistant.