You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Firstly, thins looks awesome! Thanks for your hard work on it.
We current have a very simple bot written in Go that our team can send messages to which we are looking to upgrade. It currently works out the "Intent" of the user based on some regex and bag of words but it's not very good!
We were looking at Rasa who let you define your Intents with examples which you can then use to train your model, but I'd rather not have a python service running in docker if I don't have to!
This is an example of the training data you could use in Rasa:
nlu:
- intent: ask_name
examples: |
- What is your name?
- May I know your name?
- What do people call you?
- Do you have a name for yourself?
- intent: ask_weather
examples: |
- What's the weather like today?
- Does it look sunny outside today?
- Oh, do you mind checking the weather for me please?
- I like sunny days in Berlin.
Could I implement something similar using spago with a text similarity transformer? I'm thinking I would take the users input such as tell me the weather and hopefully it will return the top 3 sentences matched from the examples I've given in the training data with a percentage match next to each one? I could the look up the intent that the sentence was a part of?
I have a couple of questions if that's OK:
Is there a simper or better way that you can think of than using text similarity for this use-case?
What would be really nice, is to return the intent, and also have some slots defined in the input. For the weather I could have a Location slot. Again, would the easiest thing be to run an Entity detection on the sentence once I have a Weather intent and see if I can find a location... if not I can then ask for it?
I'm happy to do some reading if you throw me some of the Buzz words I need to go read up about!
Check here to see if you can find some hints. For textual similarity, I used LaBSE, but I suspect monolingual models would be more suitable for your needs.
Did you know about this paper? BERT for Joint Intent Classification and Slot Filling
It might be what you're looking for -if so, it would be worth checking out how to do the training and how to replicate the task in spaGO.
Firstly, thins looks awesome! Thanks for your hard work on it.
We current have a very simple bot written in Go that our team can send messages to which we are looking to upgrade. It currently works out the "Intent" of the user based on some regex and bag of words but it's not very good!
We were looking at Rasa who let you define your Intents with examples which you can then use to train your model, but I'd rather not have a python service running in docker if I don't have to!
This is an example of the training data you could use in Rasa:
Could I implement something similar using spago with a text similarity transformer? I'm thinking I would take the users input such as
tell me the weather
and hopefully it will return the top 3 sentences matched from the examples I've given in the training data with a percentage match next to each one? I could the look up the intent that the sentence was a part of?I have a couple of questions if that's OK:
text similarity
for this use-case?slots
defined in the input. For the weather I could have aLocation
slot. Again, would the easiest thing be to run an Entity detection on the sentence once I have aWeather
intent and see if I can find a location... if not I can then ask for it?I'm happy to do some reading if you throw me some of the Buzz words I need to go read up about!
Thanks again!
Edit: Looks like Rasa has a dual purpose classifier that does the intent and Entities at the same time:
https://blog.rasa.com/introducing-dual-intent-and-entity-transformer-diet-state-of-the-art-performance-on-a-lightweight-architecture/
https://github.com/WeiNyn/DIETClassifier-pytorch
The text was updated successfully, but these errors were encountered: