Skip to content
Javi Jiménez edited this page Jun 25, 2016 · 5 revisions

A little story about language processing...

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.

Clone this wiki locally