Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 13

Project Overview

AI CHATBOT | Team Computers Private Limited | Aditya Tripathi


Project Goals
 Creating a Conversational AI Chat application that can fulfill our daily needs and
requirements.

 It will offer us with new opportunities to improve the customers engagement process and
operational efficiency by reducing the typical cost of customer service.

 Depending on the use-case we want to address, some ChatBot technologies would be more
appropriate than others. So in order to achieve the desired results, the combination of
different AI forms such as Natural Language Processing, Machine Learning and Semantic
Understanding is the best option.

 The current demo involves a Mood Bot which tries to react against your feelings you
express of happiness, sadness, anger and help required.
Description
 Now a days the Conversational systems are becoming pervasive as a basis for human computer
interaction as we seek more natural ways to integrate automation into everyday life. Well-known
examples of conversational AI include Apple’s Siri, Amazon’s Alexa and Microsoft’s Cortana but
conversational systems are becoming widespread with platforms like Facebook Messenger opening up
to ChatBot developers. Common tasks for conversational systems include to buy movie tickets ,
booking flights, Book doctor’s appointments and customer support task.

 Our system isn’t built with platforms like Google’s Dialogflow (API.ai), Facebook’s Wit.ai, Amazon’s
Lex etc, which are often used by developers to build their Chatbots. In our case, we are working with
an open source AI framework named as RASA stack.

 RASA, being an Open Source framework, is easy to customize. In fact, many Clients do not want to
share their data to the above mentioned platforms, since their NLU is cloud based. They provide
software as a service, so we cannot run them internally in our environment. So, we need to send our
data to a third party. With RASA, there is no such issue, as we can deploy or host RASA internally in
our server or environment.
Building Conversational Software with RASA
Why RASA?
RASA: Natural Language Understanding
RASA: NLU Description
 Rasa NLU is a kind of natural language understanding module. It comprises loosely coupled modules
combining a number of natural language processing and machine learning libraries in a consistent API.
There are various predefined pipelines available like spacy_sklearn, tensorflow_embedding, mitie etc, with
sensible defaults which work well for most use-cases. For example, the recommended pipeline,
spacy_sklearn, processes text with the following components.

 First, the text is tokenised and parts of speech (POS) annotated using the spaCy NLP library.
 Then the spaCy featuriser looks up a GloVe vector for each token and pools these to create a
representation of the whole sentence.
 Then the scikit-learn classifier trains an estimator for the dataset, by default a mutliclass support
vector classifier trained with five-fold cross-validation.
 The ner_crf component then trains a conditional random field to recognize the entities in the training
data, using the tokens and POS tags as base features. Since each of these components implements the
same API, it is easy to swap the GloVe vectors for custom, domain-specific word embeddings, or to
use a different machine learning library to train the classifier. There are further components for
handling out-of-vocabulary words and many customization options for more advanced users.
RASA: Natural Language Generation
 Natural Language Generation (NLG) is a subdivision of Artificial Intelligence (AI) that aims to reduce
communicative gaps between machines and humans. The technology, typically accepts input in non-
linguistic format and turn it into human understandable formats like reports, documents, text messages etc.

 The Message Generator component consists of several user defined templates that map to the action
names. So depending on the action predicted by the dialogue manager, the respective template message is
invoked. If the template requires some placeholder values to be filled up, those values are also passed by the
dialogue manager to the generator. Then the appropriate message is displayed to the user and the bot goes
into a wait mode listening for the user input.
RASA Core: Dialogue Handling Workflow
RASA Core: Dialogue Handling

 Rasa Core predicts which action to take from a predefined list. An action can be a simple utterance, i.e.
sending a message to the user, or it can be an arbitrary function to execute. When an action is executed, it is
passed a tracker instance, and so can make use of any relevant information collected over the history of the
dialogue: slots, previous utterances, and the results of previous actions. Actions cannot directly mutate the
tracker, but when executed may return a list of events. The tracker consumes these events to update its state.
There are a number of different event types, such as SlotSet, AllSlotsReset, Restarted, etc.
Procedures
 Highlight any procedural differences from usual projects of this type.
 Discuss requirements, benefits, and issues of using new procedures.
Current Status
 High-level overview of progress against schedule.
– On-track in what areas
– Behind in what areas
– Ahead in what areas

 Unexpected delays or issues.


Related Documents
 Marketing plan
– Location or contact name/phone
 Budget
– Location or contact name/phone

 Post-mortem
– Location or contact name/phone
 Submit questions
– Location or contact name/phone

You might also like