-
-
greeting text of the chatbot
-
persistent menu
-
When user asks about the fee, details of tickets is given and the user can then click on the button provided to get more information.
-
after clicked on the get started button, the chatbot introduces its features
-
The chatbot is emotionally sensitive. The conversation control is route to live agent upon identifying a super frustrated user.
-
the user clicks on the quick replies "opinion", then clicks quick replies "guidance", the chatbot will then respond a guidance review
-
the chatbot responds with review that under category of directory.
-
When the user want to know about the rating of The TOP Penang.
-
the chatbot respond with guidance review.
-
the chatbot provides another directory review when requested by the user
-
The rich message "card" is implemented.
-
When user asks about what the past visitors like about, this is the output. User can click on the button to see the original review.
Inspiration
With the emergence of online platforms, our world is bombarded by the gathering and dissemination of huge amount of information about tourist attractions. The reviews are one of the crucial factors that influence tourists’ decision before visiting a particular point of interest. They are required to read and analyze the huge amount of reviews posted by past travellers from sites such as TripAdvisor, travellers blogs or the official website of the tourism spots. However, they may feel overwhelming and confusing when there is just too much information to digest. For example, a tourist is planning to visit The TOP Penang and he looks for the reviews on the TripAdvisor website. The problem is, there are more than a hundred travel reviews given by the past tourists on this attraction. These reviews are so overwhelming in number and inconsistent in writing style. Thus, there is a need to analyze and summarize these reviews in order to understand the reasons behind them.
What it does
A mechanism which is more human-friendly than the online reviews is required to reduce the inconvenient in decision making for the users. Hence, this project is proposed to develop an intelligent chatbot that could provide a simple and faster information discovery channel to ease the users' decision making. By using the conversational agent, the users can avoid the hassle of browsing through the reviews from tourism platform to get the desired information or insight. The proposed intelligent chatbot is a conversational agent that is designed to learn from reviews and answer questions related to a particular point of interest in natural language. The chatbot will be able to deliver summarized reviews to the user when requested.
How I built it
- Talk About is an opinion mining platform that focuses on sentiment analysis on tourist attractions in the reviews and comment feeds that people expressed. Under Talk About, "Tour Analytics" is an existing module developed in Tourism Domain. "Chatbot For Tourism Point Of Interest" is the second module in Tourism Domain which is currently developing. These two modules are interrelated to gain insights related to tourism for better and faster decision making for users.
- The module "Tour Analytics" will analyze and summarize a huge amount of reviews using natural language processing, aspect & sentiment extraction, sentiment analysis, and various opinion type extraction. The important and relevant opinion types sentences are identified and extracted by this module.
- The outcomes and deliverables of the module "Tour Analytics" will be delivered to the user through the module "Chatbot For Tourism Point of Interest" that I'm currently developing.
- The details structure of the "Chatbot For Tourism Point of Interest" system will be discussed in the accomplishment section below.
There 5 five opinion types that the chatbot will respond:
- Directory: Enable the user to familiar with a particular place immediately.
- Guidance: Inform the user what can do and cannot do in a particular place, give the user an idea or a plan put forward for consideration
- Comparative: Enable the user to estimate the similarities and dissimilarities between two things.
- Time: Advice the user the best time or the worst time to do a particular thing.
- Fee: Allow the user to know the price or cost of a particular thing.
Motivation
The main idea of this work is to assist the end-users to make a decision prior to visiting a tourism spot. By using a chat agent, we allow users to pose questions related to a tourism point of interest, for example, time, price, guidance, etc. The motivation is to allow the users to obtain necessary information through conversational manner. This allows users to use natural language in the engagement process, rather than the conventional way of browsing through the lengthy reviews. The answer provided by the chatbot is the summarized reviews, which means the user can receive the short but meaningful information, which in turn will save their time.
Challenges I ran into
I need to ensure that the important information from the tourism reviews dataset will be extracted without changing the actual meaning of its content. Due to the high complexity in target information extraction, there is currently no comprehensive related chatbot in the market which can fulfil the needs of users. The solution is developed using natural language processing, conversation modelling, and knowledge processing and modelling. These required me to take some time to master it when developing the chatbot.
Accomplishments that I'm proud of
For the project "Chatbot For Tourism Point Of Interest", I divided the system into two main modules, such as the Conversational Model module, and Knowledge Processing Module.
There are four sub-modules under the Conversational Model:
- Intent Modelling - define the intent and train the chatbot using various user-expressions.
- Handover Protocol - the ability to passing control of a conversation between messenger bot and page inbox (live agent).
- Sentiment Analysis - detect frustrated users when the sentiment is too negative or sentiment changes dramatically.
- Natural Language Understanding (NLU) - when the user inputs a query, the NLU service will look at the keywords in the query to identify its intent, then decides what to do next to give a correct response to the user.
Besides, there are also four sub-modules under Knowledge Processing module:
- Data Retrieval - retrieve data from the "Tour Analytics" module to the chatbot.
- Knowledge Generation - a natural language generator that articulates concepts as words, phrases, and sentences.
- Result Compiling - compile the outcome of "Data Retrieval" and "Knowledge Generation" sub-modules into a sentence before delivering to the user through Messenger.
- Query Suggestion - suggest the next possible query that might be asked by the users.
Hence, there are basically eight sub-modules I implemented for this project.
What I learned
When implementing the chatbot, there are things that I learned including but not limited to using Facebook Messenger API and the possible message types like text, quick replies and buttons to build a fully functional Messenger chatbot. I also learn to manage my time and prioritize tasks as there are a total of eight sub-modules I have to implement.
What's next for Talk About - Chatbot For Tourism Point Of Interest
- The time taken for the data processing at the backend side could be significantly reduced by having a high-performance server. Now, the backend performance can be considered as satisfying. But, having a high-performance server will be a great way to maximize the backend performance.
- As for now, the chatbot can support English only, but for the sake of the users who wish to communicate in their mother tongue, the supported languages option could be expanded.
Log in or sign up for Devpost to join the conversation.