-
Notifications
You must be signed in to change notification settings - Fork 21
Home
The main purpose of AVA (Agnostic Virtual Assistant) is create a clever/fast assistant for any kind of context. This repository concerns the core of AVA so feel free for try in your NodeJS projects.
Nowadays we can find a lot of assistants, and more and more in coming years, all of us know that Apps in future will be more conversational and less click/action. For that reason our approach is create an agnostic and reusable system for help developers to create any kind of virtual assistants.
This is an Open Source project, so any help will be well coming.
If you never works with assistants/bots you have to know that we need to analyze a given input and give it a semantic value. To do this often use NLP, Natural Language Processing. AVA in its case incorporates its own NLP but as you will see later can use either. For example:
"I need an appointment with the dentist tomorrow at 2pm in London"
AVA must understand your sentence and creates a sentence relations scenario like:
-
SUBJECT
I
-
VERB
need
-
QUANTITY
1
-
OBJECT
appointment
-
ITEM
the dentist
-
WHEN
Fri Jun 11 2016 14:00:00 GMT+0700 (ICT)
-
LOCATION
London
Also gives you a contextual information:
-
LANGUAGE =
en
-
TYPE =
declarative
-
SENTIMENT =
0
(neutral) -
CLASSIFIER =
/travel/transit
- PROFILE (If previously user has talked with AVA, returns a history)
Ava depends on how you set up, but the next step is to process all the intents set. An intent is nothing more than a set of rules for scenarios sentence relations and contextual information.
- has LOCATION? yes, London
- is negative SENTIMENT? no, is neutral
- know WHEN? yes, tomorrow at 2pm
If any intent is successful, it will be assigned an action (or more) which will be returned to the user in answer mode.
- Set an appointment in phone's calendar like
${ITEM} in ${LOCATION} on ${DATE}
And that is, :)
Feel free to offer new features, improvements or anything you can think of. This project makes sense with your participation and experience using Ava.