Open tylerlong opened 5 years ago
I have an idea and I think it will make the bot way smarter. It will also make the maintenance easier. And if this idea works, we can apply it to other bots/apps.
The bot's AI part is powered by Amazon Lex. Amazon Lex is not an out-of-box solution, we still need to define intents, utterances, slots..etc manually.
And here is the Amazon Lex definition file which powers our production bot: https://github.com/ringcentral/rc-assistant/blob/master/aws_lex.json
The Amazon Lex definition file is exported from Amazon Lex web GUI.
Write scripts to auto generate Amazon Lex definition file.
I've already written some code to prove the concept: https://github.com/ringcentral/rc-assistant/blob/master/test/generate.spec.js
You can see that utterances are auto-generated, thus avoid the issues mentioned above.
I've created this AmazonLexGenerator project.
So that you can maintain Amazon Lex configure by writing C# code.
Here is the generated Amazon Lex config.
1200+ lines of code, it will be very hard to maintain manually. Thanks to the AmazonLexGenerator project that I can generate Amazon Lex config.
Create automatic test
Make the bot "smarter"
For example, when I ask it "company info" and "company information", I get different responses. Which means, the bot doesn't know that "info" is short for "information"
We can do something to AWS Lex to make the bot "smarter"
Create a static help page for the bot
Just like a usage manual. List all the commands and expected responses.
I know we can ask the bot "help", but is's always a good idea to have all the commands in a single page so that you can do searching
Support searching of company directory
I think it's a useful feature. We can sell this feature to attract more users
Support searching of app gallery
There are things that the bot cannot do. In such case, we should show the user a link to relevant apps in RingCentral app gallery.
Make the format of message beautiful
Take advantages of Glip message attachments.