July 24, 2021

Comment GovTech a développé un chatbot OneService pour signaler les problèmes municipaux

Lorsque le Bureau des services municipaux (MSO) a été créé en 2014, il a été présenté comme un guichet unique permettant aux gens de fournir des commentaires sur des problèmes quotidiens tels que des éclairages de couloir défectueux, des allées couvertes qui fuient et des espaces communs encombrés.

L’année suivante, l’application OneService a été lancée pour recevoir des commentaires par voie numérique.

application oneservice
Application OneService / Crédit d’image : MSO

Conformément à la vision de MSO d’améliorer continuellement ses services et de repousser les limites techniques pour collecter les problèmes municipaux par d’autres moyens, MSO a travaillé avec GovTech pour développer le chatbot OneService pour WhatsApp et Telegram.

Cela permet aux citoyens de déposer facilement une plainte et de fournir des informations supplémentaires et cruciales sur la plainte via des applications de messagerie sociale couramment utilisées, telles que WhatsApp et Telegram. Propulsé par l’apprentissage automatique, le chatbot serait capable de :

1) Identifiez automatiquement la nature de la plainte et classez-la dans la catégorie appropriée (déchets mortels, stationnement illégal, etc.),

2) Extrayez les détails pertinents de l’incident qui nécessite une attention (lieu, adresse, point de repère, quand il s’est produit, etc.), remplissez le modèle de commentaires et demandez à l’utilisateur de vérifier et de fournir des détails supplémentaires.

3) Et identifier l’agence gouvernementale appropriée qui devrait prendre des mesures (NEA, NParks, LTA, etc.) et transmettre le cas.

Comment l’équipe Virtual Intelligent Chat Assistant (VICA) de la division Moments of Life et l’équipe GovText de la division Data Science et Intelligence artificielle ont-elles travaillé ensemble pour développer un chatbot capable d’avoir une conversation ?

Identification du type de cas

Avec l’application OneService en opération depuis 2015, MSO a recueilli une quantité substantielle de commentaires du public.

Chaque fois qu’un cas est examiné, un agent marque un cas avec son type de cas correspondant, et ces informations sont stockées dans la base de données. Étant donné que les commentaires soumis via le chatbot seront similaires à ceux soumis via l’application, les données de l’application peuvent être utilisées pour former le catégoriseur de type de cas du chatbot.

Essentiellement, cela signifie fournir à la fois le texte de retour et le type de cas de chaque cas au catégoriseur afin qu’il apprenne à associer certains mots et modèles du texte au type de cas correspondant.

En s’appuyant sur son expérience, le catégoriseur de types de cas recherchera des mots et des modèles pertinents pour l’aider à estimer au mieux le type de cas approprié en se basant uniquement sur le texte de retour.

Armées de plus de 160 000 cas provenant de deux ans de données d’application OneService, les équipes ont essayé différentes techniques de traitement du langage naturel (le domaine consistant à faire comprendre le langage humain aux ordinateurs) et ont réussi à créer un catégoriseur capable de prédire correctement le type de cas correct. 80 pour cent du temps.

Ils ont ensuite extrait les détails clés du cas et pré-rempli le formulaire de cas pour l’utilisateur.

« C’est plus délicat car, contrairement au type de cas, nous n’avions pas de mots clés étiquetés car le personnel du MSO n’avait pas besoin d’étiqueter les mots clés dans leur processus de travail », a déclaré GovTech.

« Par conséquent, nous avons mis en place un cadre d’annotation et demandé à nos collègues MSO de nous aider à annoter les mots dans le texte de retour avec des étiquettes représentant les types d’informations importantes nécessaires pour résoudre un cas, telles que les dates et heures des incidents, les points de repère et adresses.

Au total, ils ont étiqueté le texte de 5 600 cas, produisant ces annotations.

Crédit d’image: GovTech
Crédit d’image: GovTech

Ils ont utilisé ces exemples préparés pour former un outil de reconnaissance des détails du cas, qui peut identifier les différents types d’informations clés avec une précision de 85 %.

A ce stade, ils sont en mesure d’identifier automatiquement la nature de la plainte, d’extraire les détails pertinents, de remplir le modèle de retour d’information et d’inviter l’utilisateur à ajouter les informations manquantes.

Identifier l’agence appropriée

Maintenant que le dossier a été déposé avec succès par l’utilisateur, il lui fallait trouver la bonne agence pour le traiter.

Comme vous le savez peut-être déjà, les services municipaux sont supervisés par plusieurs agences, il n’est donc pas toujours simple ni simple pour le OneService Chatbot d’activer le bon processus.

Pour cette étape, en plus du texte de retour et du type de cas (tagués automatiquement puis vérifiés par l’utilisateur), ils utilisent les images et la géolocalisation soumises par l’utilisateur.

Mais pourquoi n’ont-ils pas simplement utilisé les images et la géolocalisation pour aider à identifier le type de cas ?

GovTech a estimé que, bien que ces données supplémentaires contribuaient à augmenter la précision de l’identification du type de cas de deux à trois pour cent, le gain relativement faible des performances de prédiction ne justifiait pas le temps supplémentaire nécessaire pour générer le type de cas prédit.

“Après tout, nous ne voulons pas faire attendre l’utilisateur trop longtemps lorsqu’il converse avec le chatbot”, a-t-il ajouté.

Au stade de l’identification de l’agence cependant, l’utilisateur n’est plus impliqué et il peut se permettre de prendre plus de temps pour traiter les données de géolocalisation et d’image.

Les géolocalisations jouent un rôle important dans l’identification de la bonne agence, car certains types de cas peuvent être traités par plusieurs agences en se basant uniquement sur la description du cas. Par conséquent, l’agence affectée dépendrait du territoire de l’agence dans lequel un incident a eu lieu ou est le plus proche.

Par exemple, si un cas d’élagage d’arbres est signalé dans un lotissement, la mairie la plus proche sera désignée pour traiter le cas. Cependant, si un cas similaire se produit dans un parc (par exemple, West Coast Park), NParks sera chargé de gérer le cas à la place.

Quant aux images soumises par les utilisateurs, les équipes ont utilisé un modèle de détection d’objections pour rechercher des mégots de cigarettes, des lampadaires, des plafonniers et d’autres objets couramment associés aux problèmes municipaux.

« Nous faisons cela parce que les probabilités que certaines agences traitent un cas augmentent lorsque certains objets sont présents dans les images (par exemple, arbres/buissons -> NPARKs, mégots de cigarettes -> NEA). En combinant ces nouveaux points de données, nous sommes en mesure de diriger correctement les cas vers la bonne agence 85 % du temps », a déclaré GovTech.

Maintenant au stade du lancement bêta

chatbot oneservice
Crédit d’image: GovTech

Après avoir apporté quelques ajustements sur la base des commentaires reçus d’un essai terminé avec un petit segment du public, le OneService Chatbot a été lancé en “bêta” et est disponible sur WhatsApp et Telegram à partir de juillet 2021.

Les résidents peuvent démarrer une conversation avec le Chatbot en envoyant un SMS « Salut » au +65 9821 9004 (WhatsApp) ou @OneServiceSG Bot (Telegram).

Si vous êtes à l’écoute de la créativité, vous pouvez également participer au concours de conception de Chatbot qui aidera à déterminer l’avatar et la « personnalité » du Chatbot pour le lancement officiel. Vous trouverez plus d’informations sur le concours ici.


Cet article est paru pour la première fois sur GovTech. Vous pouvez également obtenir des histoires techniques de la taille d’un octet (geddit?) par GovTech ici.


Crédit d’image en vedette: MSO / GovTech