0 votes
1 view
in AI and Deep Learning by (44.8k points)

I have been studying wit.ai for several days. I have found the key points of wit.ai bot engine:

  • Story-based - create the story for greeting, order pizza, order laptop, ask forecast

  • Role-based entity - location:form, location:to. Here “from” and “to” are the role of “location” entity

  • Composite/nested entity - car(model, color, model year). Here model, color, a model year can be nested under-car entity

  • Search strategies: trait, free-text, keywords

  • Understanding bot by creating some stories

  • Scoring on match termed as confidence

  • User expression length 256 at max

  • Search from a predefined list of keywords, expressions for match

  • Nested context

  • User-defined entities, predefined entities

  • Actions based on entities: it has only if always has conditions

  • For a given user expression wit searches for a match in the keyword list, free-text

  • For a given user expression wit searches keywords position in the listed expressions under an entity

  • Branching for missing information in given user expression

  • Pronoun support in wit? No Story #1 User: How much is Widget X 2000? Bot: It costs $30. Story #2 User: Where can I buy Widget X 2000? Bot: At your local Best Buy. Story #2 User: How much is Widget X 2000? Bot: It costs $30. User: Where can I buy it? --error-- Use context

  • Conversation-aware entity extraction is yet to be implemented

  • Is it possible to make a wit.ai bot remember/reuse a context across stories? Check if context.key exists or not

  • Is it possible to set a default intent in Wit.ai? No, confidence value can be checked, set a threshold for confidence, below the threshold specific response

  • Can you rank entities by priority in Wit.ai? No

Now I want to know how does wit detect the intent of user expression and classifies the entities using the stories of the created bot in wit.ai.

If anyone has understood the underlying technique/ML algorithms used in wit.ai please share in this thread. I hope it will be helpful for people like me.

Thanks in advance.

1 Answer

0 votes
by (97.1k points)

The two main part of wit.ai are:

  1. intent classification

  1. entity extraction

For entity extraction, it uses a duckling library that they recently open-sourced it, and you can find a detailed description of the algorithm there.

Wit.ai is not a set of prebuild intents you have to register to. With Wit.ai you can create the intents you need for your app.

Creating an intent is very easy: you just have to provide a few examples of how end-users will express this intent.

  • Enter your first expression

  • Browse existing intents from the community

  • get an intent

  • If not found then create your own intent

  • Training

  • Add more expressions to it.

For more information regarding this, refer the following link:

https://wit.ai/docs/complete-guide

If you are looking to learn more about Artificial Intelligence then you visit Artificial Intelligence Tutorial. Also, if you are appearing for job profiles of AI Engineer or AI Expert then you can prepare for the interviews on Artificial Intelligence Interview Questions.

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...