title: wit.ai: how does it identify intent and classifies entities from user expressions
body: <p>I have been studying wit.ai for several days. I have found the key points of wit.ai bot engine:</p>
  
  <ul>
  <li>Story based - create story for greeting, order pizza, order laptop, ask forecast</li>
  <li>Role based entity - location:form, location:to. Here “from” and “to” are role of “location” entity</li>
  <li>Composite/nested entity - car(model, color, modelYear). Here model, color, modelYear can be nested under car entity</li>
  <li>Search strategies: trait, free-text, keywords</li>
  <li>Understanding bot by creating some stories</li>
  <li>Scoring on match termed as confidence</li>
  <li>User expression length 256 at max</li>
  <li>Search from predefined list of keywords, expressions for match</li>
  <li>Nested context</li>
  <li>User defined entities, predefined entities</li>
  <li>Actions based on entities: if has only, if always has conditions</li>
  <li>For a given user expression wit searches for match in keyword list, free-text</li>
  <li>For a given user expression wit searches keywords position in the listed expressions under an entity</li>
  <li>Branching for missing information in given user expression</li>
  <li>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</li>
  <li>Conversation-aware entity extraction is yet to be implemented</li>
  <li>Is it possible to make a wit.ai bot remember/reuse a context across stories? Check if context.key exists or not</li>
  <li>Is it possible to set a default intent in Wit.ai? No, confidence value can be checked, set threshold for confidence, below the threshold  specific response</li>
  <li>Can you rank entities by priority in Wit.ai? No</li>
  </ul>
  
  <p>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.</p>
  
  <p>If anyone have 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. </p>
  
  <p>Thanks in advance.</p>