snipsco / snips-issues

Feel free to share your bugs with us.
14 stars 5 forks source link

Feature request: wild card support #177

Closed flatsiedatsie closed 5 years ago

flatsiedatsie commented 5 years ago

Is your feature request related to a problem? Please describe. I've been enjoying using Snips a lot. I enjoy it that snips delivers the sentence chunks I need right to my code.

All the chunks, except one. I have a simple reminder intent. People can say:

The part in between brackets is unpredictable. But thanks to the 500Mb dictionary option those parts of the sentence do come through just fine.

Right now I use regex to cut that part from the sentence manually. I would be great if Snips could do this for me, so that my workflow of using and checking for the availability of slots can be simplified and be universal.

User story "As a user-developer, I'd like Snips to be my supplier of all and any parts of the sentence that I need."

What are the use cases of this feature

Describe the solution you'd like I'd love the option to have a wildcard slot.

Snips_wildcard_proposal

For this type of slot, there may not need to be settings. But perhaps it has to be limited to one per intent, so that it can be deduced from the rest of the sentence.

Describe alternatives you've considered I'm using Regex. That works, but it's not using the power of machine learning to find it, it's just a heuristic. It might fail in unpredictable ways. Machine learning should in theory be more robust in extracting this part of the sentence.

Additional context I am using this to create a voice add-on for the Mozilla WebThings Gateway.

flatsiedatsie commented 5 years ago

Small update: there probably could need to be some settings for the wildcard option. For example, I'd love to be able to say that a wildcard component is mandatory or not, and have Snips automatically ask a user for it if they haven't initially supplied it. E.g.

"Hey Snips, set a [reminder] for [5 o'clock]" -> "What would you like to be reminded about?" "Do the dishes"

or

"Hey Snips, [send a message] to [John] at [3 o'clock]" -> "What message would you like to send to John?" "Don't forget you promised to do the dishes"

davidleroy commented 5 years ago

@flatsiedatsie Thanks for reporting this. Support for large vocabulary "free-text" slots such as reminder is actually on our roadmap (covered both at the ASR and NLU level), and expected by the end of this year.

I guess you're using a cloud-based large vocabulary ASR in your case ? Note that when using the Snips customized ASR, the only vocabulary that will be recognized is the one provided in the console (more information about this here)

flatsiedatsie commented 5 years ago

@davidleroy Glad to hear it!

I'm using the "500Mb" dictionary that Snips provided? Am I correct in understanding that:

If it's on the roadmap, should I close this issue?

davidleroy commented 5 years ago

When using large voc asr, your custom asr is actually not used at all. FYI, large voc ASR is currently being deprecated as it isn't compatible with some APIs such as injection and we haven't provided model updates in quite some time. It will be replaced by "free text" entities and background models in the short/mid run.

I'm closing the ticket, thanks again for your input !