When the Municipal Services Office (MSO) was established in 2014, it was billed as a one-stop-shop for people to provide feedback on everyday issues such as faulty hallway lights, leaky covered walkways, and empty spaces. crowded common areas.
The following year, the OneService app was launched to receive feedback digitally.
In line with MSO’s vision to continually improve its services and push the technical boundaries to collect municipal issues in other ways, MSO worked with GovTech to develop the OneService chatbot for WhatsApp and Telegram.
This allows citizens to easily file a complaint and provide additional crucial information about the complaint through commonly used social messaging apps, such as WhatsApp and Telegram. Powered by machine learning, the chatbot would be able to:
1) Automatically identify the nature of the complaint and classify it in the appropriate category (fatal waste, illegal parking, etc.),
2) Extract the relevant details of the incident that needs your attention (location, address, landmark, when it happened, etc.), fill out the feedback template and ask the user to verify and provide additional details.
3) And identify the appropriate government agency that should take action (NEA, NParks, LTA, etc.) and forward the case.
How did the Virtual Intelligent Chat Assistant (VICA) team of the Moments of Life division and the GovText team of the Data Science and Artificial Intelligence division work together to develop a chatbot capable of having a conversation?
Identification of the type of case
With the OneService app in operation since 2015, MSO has garnered a substantial amount of public comment.
Each time a case is reviewed, an agent marks a case with its corresponding case type, and this information is stored in the database. Since comments submitted through the chatbot will be similar to those submitted through the app, the data from the app can be used to train the chatbot’s case type categorizer.
Essentially, this means providing both the return text and the case type of each case to the categorizer so that it learns to associate certain words and patterns in the text with the corresponding case type.
Based on their experience, the Case Type Categorizer will look for relevant words and patterns to help them make a better estimate of the correct case type based solely on the return text.
Armed with more than 160,000 cases from two years of OneService application data, the teams tested different natural language processing techniques (the field of making computers understand human language) and succeeded in creating a capable categorizer. correctly predict the correct type of case. 80 percent of the time.
They then extracted the key details of the case and pre-filled the case form for the user.
“It’s trickier because unlike the case type, we didn’t have tagged keywords because MSO staff didn’t need to tag the keywords in their work process,” GovTech said.
“Therefore, we set up an annotation framework and asked our MSO colleagues to help us annotate words in the return text with tags representing the types of important information needed to resolve a case, such as the dates and times when the incidents occurred, landmarks and addresses.
In total, they tagged the text of 5,600 cases, producing these annotations.
They used these prepared examples to form a case detail recognition tool, which can identify different types of key information with 85% accuracy.
At this point, they are able to automatically identify the nature of the complaint, extract the relevant details, fill out the feedback template, and prompt the user to add the missing information.
Identify the appropriate agency
Now that the file was successfully filed by the user, he needed to find the right agency to process it.
As you may already know, city services are overseen by multiple agencies, so it is not always straightforward or straightforward for the OneService Chatbot to activate the right process.
For this step, in addition to the return text and case type (automatically tagged and then verified by the user), they use the images and geolocation submitted by the user.
But why didn’t they just use the images and geolocation to help identify the type of case?
GovTech estimated that while this additional data helped increase the accuracy of case type identification by two to three percent, the relatively small gain in prediction performance did not justify the additional time required to generate the case type. predicted.
“After all, we don’t want to make the user wait too long when chatting with the chatbot,” he added.
At the agency identification stage, however, the user is no longer involved and can afford to take more time to process geolocation and image data.
Geolocations play an important role in identifying the right agency, as some types of cases can be handled by more than one agency based solely on the case description. Therefore, the affected agency would depend on the agency territory in which an incident took place or is closest.
For example, if a case of tree pruning is reported in a subdivision, the nearest town hall will be designated to deal with the case. However, if a similar case occurs in a park (eg West Coast Park), NParks will be responsible for handling the case instead.
As for the images submitted by users, the teams used an object detection model to search for cigarette butts, street lights, overhead lights, and other items commonly associated with municipal problems.
“We do this because the odds of some agencies dealing with a case increase when certain objects are present in the images (eg trees / bushes -> NPARK, cigarette butts -> NEA). By combining these new data points, we are able to correctly direct cases to the right agency 85% of the time, ”said GovTech.
Now at the beta launch stage
After making some adjustments based on feedback received from a completed trial with a small audience segment, the OneService Chatbot launched in “beta” and is available on WhatsApp and Telegram from July 2021.
Residents can start a conversation with the Chatbot by sending a “Hi” SMS to +65 9821 9004 (WhatsApp) or @OneServiceSG Bot (Telegram).
If you are in the mood for creativity, you can also enter the Chatbot Design Contest which will help determine the Chatbot’s avatar and “personality” for the official launch. You can find more information about the competition here.
This article first appeared on GovTech. You can also get technical stories as big as one byte (geddit?) By GovTech here.
Featured Image Credit: MSO / GovTech
Our sincere thanks to