jasperproject / jasper-client

Client code for Jasper voice computing platform
MIT License
4.53k stars 1.01k forks source link

jasper-dev: Text-to-intent-mapping #504

Closed andweber closed 8 years ago

andweber commented 8 years ago

I would like to set the focus back on the discussion started with pull request #361.

Jasper currently lags some services or functionality which allows the mapping of text to an intent or command. The current approach is to put this down to the plugin, thus each plugin checks the user input and the first in the row gets the focus. Currently each speechhandling plugin implements some kind of keyword checks. This is fine, as long as the keywords are unique. But with multiple plugins this can get tricky. In my opinion, getting the intent from the words given by the users is the key-feature for a framework like jasper.

There are two points, where an "intent-mapping" is needed:

  1. the "brain" needs it for getting the right speechhandling plugin
  2. the plugins needs it, for doing the right things

Instead of letting each plugin (+ the brain) implement its own way, some kind of service or class handling this matching would be perfect. wit.ai is offering such a service - but it might be good to implement something like this natively in jasper?!?

@markferry already proposed in #361 to implement this as plugins similar to the tts and sst, allowing different services.

What is the direction Jasper wants to go? Any comments, suggestions?

Holzhaus commented 8 years ago

IMHO, true natural language parsing (in multiple languages) is probably a bit too ambitious. Still planning to implement something like this: https://github.com/jasperproject/jasper-client/issues/134

Feel free to discuss alternatives if you feel that this is insufficient.

markferry commented 8 years ago

@andweber Make #134 PhraseMatchers pluggable. Extend the WitAI plugin to cache the last entity tree result and act as both STT and PhraseMatcher services.

andweber commented 8 years ago

see #511 for further discussion