First of all, LUIS.ai provides an API that you can use to automate learning. What's more, here is a Luis Trainer, written entirely in Python against an API that simply does this.
The simplest may be the one you describe in # 1: you can automate training (as explained above), but you still have to deploy a new version of the bot if new intentions are provided. It’s one thing to give users the opportunity to teach the existing model new notations, and another is completely different to let them create a model :)
It might be difficult to skip the code for the backend (I would not have automated it at all)
Here is a potential idea (not sure if it will work). You will need 2 Louis models.
- One with your current model that users will be able to train with new sayings.
- The second model is the one designed solely to “expand” with new user intentions.
If you separate it this way, you can look into the plug-in architecture for the second LUIS model. So, your application somehow dynamically loads the assembly where the second model lives.
Once you have this in place, you can focus on writing code for the second Luis model without having to worry about the bot / first model. You should be able to replace the assembly with a second Luis model and be able to detect in the bot whether there is a new version of this assembly and replace it in the application domain.
As I said, this is just an idea, as I am brainstorming with you. It sounds a little complicated, and this does not apply to all your problems; since you still have to write code (which you have to do anyway)
source share