Intelligent DocsReply Chatbot for Hospitality

A customer service assistant for the largest hotel chain powered by natural language processing technology

Context

When people set off upon a journey, they normally have a lot of hotel options to choose from. The level of customer service in a hotel where travellers stay will determine whether they come back for another visit.

Hospitality is one of the first industries to embrace the chatbot technology. Chatbots serve hotels as customer service available 24/7.

DocsReply is a chatbot powered by Natural Language Processing technology that we developed for a mini hotel chain. By using this chatbot, hotels reduce reception workload, giving their guests instant and helpful answers at any moment of their stay.

What's the Wi-Fi password? Where's the nearest restaurant? How can I get downtown? The chatbot helps hotel guests get quick answers to the most common questions by sending the required information to the guest's Gmail address.

Quick facts

Service: Managed project
Team: Full-Stack Developer, ML/NLP Specialist, QA Specialist, and Project Manager
Timeframe: 2 months (320 hours)
Technologies: Python (Flask) Gmail API, Api.ai/Watson IBM, MySQL, NLTK, Beautiful Soup, sklearn, Gensim (Word2Vec)

Project overview

The DocsReply project consists of three parts: the chatbot itself, its knowledge base, and an admin panel for managing the bot knowledge, storing documents, and monitoring chatbot conversations. We wrote detailed documentation for our client that explains how they can train a chatbot to answer customers' questions using the admin panel.

The chatbot's functionality includes:

  • Processing a user request
  • Providing a relevant response based on the data stored in the knowledge base
  • Searching for documents in the database to find the information requested by the user

Solution

Our process of project development started with writing a technical specification and preparing the prototypes for the admin panel. It took us about 15 days to make the necessary preparations before starting the actual development process.

We implemented the project within two months with a team of specialists that included a full stack developer, a machine learning and natural language processing specialist, a quality assurance manager, and a project manager.

We used Scrum-ban, an event driven approach to development, where we worked in short iterations planning one iteration ahead. We provided progress reports at the end of each sprint. This approach allowed us to move fast and be flexible.

Training the chatbot

Initially, the chatbot is supposed to process about 1,000 letters per day. If the chatbot understands all the details in the text, it will send the reply immediately. The guest will get the reply on their email with his or her name and an attached document if it is needed.

If a chatbot can't recognize certain keywords or word combinations in the guest's question, it will send a notification to the human operator with a message saying "I can't understand the question."

The operator will send the reply herself. But the question that the chatbot couldn't answer will go to the language knowledge base for chatbot training. To expand the knowledge base, all the operator has to do is enter the guest's question into the admin panel. As the chatbot learns, the number of emails with unclear questions will decrease.

We used DialogFlow (Api.ai) and IBM Watson to recognize natural language conversations. We also developed a Python algorithm that finds specific words in the text of the email and searches the database for a required document.

Project overview

The DocsReply project consists of three parts: the chatbot itself, its knowledge base, and an admin panel for managing the bot knowledge, storing documents, and monitoring chatbot conversations. We wrote detailed documentation for our client that explains how they can train a chatbot to answer customers' questions using the admin panel.

The chatbot's functionality includes:

  • Processing a user request
  • Providing a relevant response based on the data stored in the knowledge base
  • Searching for documents in the database to find the information requested by the user

Solution

Our process of project development started with writing a technical specification and preparing the prototypes for the admin panel. It took us about 15 days to make the necessary preparations before starting the actual development process.

We implemented the project within two months with a team of specialists that included a full stack developer, a machine learning and natural language processing specialist, a quality assurance manager, and a project manager.

We used Scrum-ban, an event driven approach to development, where we worked in short iterations planning one iteration ahead. We provided progress reports at the end of each sprint. This approach allowed us to move fast and be flexible.

Training the chabot

Initially, the chatbot is supposed to process about 1,000 letters per day. If the chatbot understands all the details in the text, it will send the reply immediately. The guest will get the reply on their email with his or her name and an attached document if it is needed.

If a chatbot can't recognize certain keywords or word combinations in the guest's question, it will send a notification to the human operator with a message saying "I can't understand the question."

The operator will send the reply herself. But the question that the chatbot couldn't answer will go to the language knowledge base for chatbot training. To expand the knowledge base, all the operator has to do is enter the guest's question into the admin panel. As the chatbot learns, the number of emails with unclear questions will decrease.

We used DialogFlow (Api.ai) and IBM Watson to recognize natural language conversations. We also developed a Python algorithm that finds specific words in the text of the email and searches the database for a required document.

Result

The DocsReply chatbot brings speed and improved quality to customer service freeing up the hotel staff's time. Because of its learning capabilities, the chatbot will become more powerful with time so the need for a human operator can eventually disappear.