snips-nlu
snips-nlu copied to clipboard
General questions
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!
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.
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.
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.
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
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...)
Hi @haukeFCE , You have two options:
- 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 ofSnipsNLUEngine
- 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 theintents
parameter which will restrict the scope of the parsing to the provided intents.
I hope this helps. Cheers
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?