Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General questions #718

Open
joolfe opened this issue Dec 5, 2018 · 7 comments
Open

General questions #718

joolfe opened this issue Dec 5, 2018 · 7 comments
Labels

Comments

@joolfe
Copy link

joolfe commented Dec 5, 2018

Hi,
I'm new in Snips NLU, i have test lot of solutions like DilaogFlow, Luis, Watson (even in production projects) and now i have discover snips and i think is amaizing :-) but i have lot of quetsions related with this, not sure if this is the correct channel so please tell me if there are any google group or forum for this kind of quetsions:

  • As in many other solution there are "agents" is a good aproach with snips have different models? what is translated to SnipsNLUEngine right?
  • How much memory size take a model with for example 500 intents? is something critical?
  • Coming from DialogFlow they have a concept of "contexts" where you can like group intents so if you know that the query of the user is related with this group of intent you can provide and help the clasification, i have seen a parameter "intents" in the method parse, is this the same concept?

Thanks!

@adrienball
Copy link
Contributor

Hi @joolfe,
Happy to read that you enjoy snips-nlu.
Regarding your questions:

As in many other solution there are "agents" is a good aproach with snips have different models? what is translated to SnipsNLUEngine right?

I'm not sure I've understood correctly your question. An agent in other solutions like DialogFlow would correspond to a SnipsNLUEngine in snips-nlu. You could group all your agents in a single engine, but if they are used in very different contexts then having a dedicated engine per agent is probably more relevant.

How much memory size take a model with for example 500 intents? is something critical?

I cannot answer precisely this question but 500 intents is a lot. I'll try to run some benchmarks to give you a (very) rough estimate.

Coming from DialogFlow they have a concept of "contexts" where you can like group intents so if you know that the query of the user is related with this group of intent you can provide and help the clasification, i have seen a parameter "intents" in the method parse, is this the same concept?

Yes, the intents parameter, when provided, reduces the scope of intent parsing to the provided list of intents.

@joolfe
Copy link
Author

joolfe commented Dec 10, 2018

Great! thanks for your replies, just a new question:

There exist any implementation that use snips NLU and expose through a REST API? I mean, something like a ready to use server that use snips.

@adrienball
Copy link
Contributor

Not that I'm aware of. For now, we have focused mostly on core NLU features, while optimizing accuracy, lightweightness and speed.
I agree that having a ready to use python server would be a nice addition.

@cefothe
Copy link

cefothe commented Dec 28, 2018

I start using Snips NLU in my project and I wrap engine in Flask to have rest in begging on it. You can see https://github.com/cefothe/distributed-chat-system/blob/master/nlu-service/server.py

@ghost
Copy link

ghost commented Mar 1, 2019

Hello. How would I use lower level intents with snips? We are writing our own "dialogue manager" at the moment. We need to create intents that only contain a single slot value and nothing else. How would we separate (filter) those intents from the top-level intents that can always get triggered?

For example:
Hey Snips. -- I want to order Pizza.
Snips: Which topping do you want on that?
User: Lettuce (Salad, greens...)

@adrienball
Copy link
Contributor

Hi @haukeFCE ,
You have two options:

  1. If you already know which intent you are going to receive from the user, and you only want to extract the slots, then you can use the get_slots API of SnipsNLUEngine
  2. If you don't know precisely which intent you are going to receive, but you know that it will belong to a list (of low-level intents for instance), then you can use the parse API and specify a list for the intents parameter which will restrict the scope of the parsing to the provided intents.

I hope this helps.
Cheers

@ghost
Copy link

ghost commented Mar 1, 2019

you can use the parse API and specify a list

Thanks, this helps already.
Maybe off-topic to snips-nlu, but is there a possibility to disable "lower level intents" by default in the snips hermes implementation and only use them through the parse API call?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants