We are Team Krieger proposing a winning use case in the UiPath HyperHack 2021 Automation for Good. Our interesting solution CovAid helps people affected by COVID by providing leads for necessary resources like hospital beds, oxygen cylinders, plasma, and vaccine slot availability notification. This was achieved by using eight UiPath products along with three enterprise application integrations.
CovAid consists of two bots Twist and CoveNine, as it follows.
Twist Bot is designed for social media (Twitter) to search for user tweets/posts of those who ask for public help and find a genuine lead on hospital beds, oxygen cylinders or plasma need. Afterward, it responds with verified information scraped from the official sites and forums. Other social media platforms can be added as required on top of it.
Architecture diagram for Twist Bot
CoveNine will help users schedule vaccines with ease by tracking vaccine slot availability round-the-clock. The user will subscribe to the bot through a form, which is when a slot will be searched constantly until there is availability. Once available slots are found, users will be notified through email and WhatsApp of all the available slots with a direct link to book a vaccine appointment.
Architecture diagram for Convenience Bot
Here, we share with you one of the core parts of the automation which is using the out-of-the-box machine learning (ML) package through AI Center to analyze and classify tweets.
UiPath AI Center is a product to deploy ML models, to store training and evaluation datasets, to create pipelines to train the ML model with data, and create ML skills to use it in UiPath. There are few steps you need to follow to setup ML model and use it in UiPath.
1. AI project
As a first step, we have created a project in AI Center to setup and configure ML.
a. First open AI Center from the UiPath Cloud Portal.
b. From the AI Center, create a new project.
c. Provide project name, description, and click create.
d. A new project will be created as below.
2. ML Package
Now, we need to setup the ML Package to use for this project. It can be either our own ML model from an external provider or provided by UiPath out-of-the-box packages.
a. We are going to setup UiPath out-of-the-box models. Open the created project, navigate to ML packages section, and choose Out of the box Packages.
b. From the Out of the box Packages choose Language Analysis category.
c. From the Language Analysis, choose English Text Classification ML package, which helps in categorizing a chunk of text in the way you want.
d. Choose the required package version, local name, description, input and output description and submit for deployment.
e. The package will be deployed in AI Center, but the status will be un-deployed initially, which is fine.
For more information on ML models, please click here.
3. ML Model Training
Now, since ML package is setup in the project, we need to train the model with test data as required.
a. Next, we collected 10 zeros of sample data from Twitter to train and evaluate the model, which is also uploaded under data sets as shown below. Two datasets will be required: one to train the model and the other to evaluate the trained model.
b. Once the datasets are uploaded, we need to create a pipeline, to train and evaluate it, to make ML model do the job and to check the performance of the ML model.
c. You can check your evaluation score for the ML model once the pipeline run is successful. Since we are just training a new ML model, we don’t have any score for it. But the evaluation run will have a score which helps us determine the success rate of the model. The higher the score, the higher the model accuracy. A new minor trained version will be created which should be used further.
In CovAid, the text classifier ML model helps identify whether the user tweeted about a hospital bed, an oxygen cylinder, or plasma.
4. ML Skill Deployment
Now our ML package, dataset, training is complete with one last step left to deploy ML skill. ML package is a model without training whereas ML skill is a trained ML package model.
a. Create a new ML Skill with details like Name, Package, Major & Minor version (make sure to choose the trained package version) etc.
b. Now the ML Skill is deployed with the trained package version as below:
5. UiPath Studio in action
a. Once the ML Skill is deployed it is ready to be used from Studio. First, make sure the ML Services package dependency is installed and use ML skill activity to pass your tweet data getting back the response.
b. Now it’s time to see it in action. Let’s pick a tweet to analyze and classify it through ML model.
c. The response will be in the form of JSON and has two fields—prediction and confidence.
Prediction — Actual categorized result value.
Confidence — 1 as high & zero as low.
Bot may not classify the tweet in the right way all the time. It may result in low confidence classification or may fail to classify.
We can fix a benchmark value for confidence for which we can involve humans to help bots understand tweets better to avoid such failures in the future.
6. Human Feedback
Including human feedback in the loop, it is not mandatory. This is just to retrospect and continuously improve ML model performance, which in turn increases the success rate for the UiPath bot.
a. When a bot fails to classify a tweet or classifies a tweet with less confidence, we need to create a form task at the Action Center which invites a human user to classify the failed tweet.
b. Once the action is completed, we need to collect all these human results in a CSV and upload as dataset in the AI Center.
c. Also, a scheduled pipeline should be set so that all feedback datasets will be trained frequently, keeping the ML model updated.
We believe that the above idea can have a purpose in various domains. Here are some examples that can be applied in Support and Operations Departments.
- Review analyzer — A brand can know people’s opinion from social media or any other source.
- Issue response — To address customer complaints and issues on social media.
- Providing services — Provide direct service to customers on a social media request.
- Pandemic patrolling — Any type of pandemic can be handled using the same approach.
- Non-governmental organization (NGO) — Lots of social media posts available asking for help which can be addressed easily, enabling connectivity between public and nonprofit entities.
This is our winning idea and for sure you can do more with the AI Center. You can always reach out for help in the Forum and learn from the UiPath knowledge base. AI Center is breaking stereotypes, paving the way to widen the cognitive capabilities of UiPath. We are hoping to see a lot of innovative automations in this area.
Nithin Krishna is a RPA Analyst at Speridian Technologies.