19 novembre 2018
Infographie représentant un chatbot: un humain qui parle à un robot par smartphone interposé
Freepik
A l'occasion de la semaine de l'innovation publique, du 19 au 25 novembre 2018, le Cerema propose de découvrir des innovations récentes, dans plusieurs de ses champs d'action : ce lundi, focus sur un chatbot développé par ses équipes. Dans le cadre d’un appel interne d’innovation, le Cerema s’est fixé pour défi de créer un chatbot, un robot de type assistant conversationnel capable de comprendre des questions en langage naturel et d’y répondre.

Trouver l'information dans une masse de données

Logo semaine de l'innovation publiqueLe principe du chatbot est simple : sur un site web ou une application de smartphone, une icône propose une forme d’assistance à l’internaute, très souvent en lui proposant de formuler une question en langage naturel, et d’y répondre, avec en général principalement des phrases très courtes et formulées de façon plutôt immédiate.

Par exemple à la question "Combien y avait-il de voitures électriques immatriculées en Île-de-France en 2017 ?", le robot va décomposer en les annotant les différentes parties de la question, de façon à être en mesure de "comprendre" l’essentiel de la question posée : l’idée est alors de développer une approche capable de séparer les différentes sections de la phrase, puis, en s’appuyant sur des modèles d’apprentissage automatique déjà entraînés, de reconnaître par approche morphosyntaxique les "intents" (Combien), "objet" (voitures électriques), et autres "entités nommées" (lieu, date, organisme…).

La réponse formulée par l’assistant conversationnel s’appuie alors sur des schémas de réponses types et basés sur les "intents", en recherchant dans les sources de données à sa disposition les différents "objets" qui répondent, éventuellement après un filtrage spatial, temporel ou autre basé sur les "entités nommées".

Cette approche (dite NoSQL pour "not only SQL") nécessite une autre façon de (ne pas) structurer l’information de base, préalablement ingérée donc telle qu’elle, mais en revanche indexée de façon très particulière de façon à être très rapidement accessible, même parmi des masses et des masses d’information !


Recours à l'intelligence artificielle

Visage d'un robotCe n’est cependant pas aussi simple qu’il n’y paraît à mettre en œuvre, car si pour un humain nous faisons naturellement le rapprochement entre "voitures électriques immatriculées" (l’objet de la question posée au robot), et une source de données qui s’appellerait "immatriculations de véhicules", il est là encore nécessaire pour une machine de faire appel à d’autres techniques de l’intelligence artificielle pour pouvoir y répondre.

Retenons simplement que les concepts (véhicule), (voiture) et (voiture électrique) sont par exemple reliés par des relations de subsomption, formant ainsi la même branche d’un graphe de connaissances (appelé ontologie), et que l’on va pouvoir interroger, voire sur lequel on pourra déduire par inférence de nouveaux concepts qui n’étaient pas encore décrits, ou permettre de rapprocher avec les connaissances d’autres métiers, etc.

Une première expérimentation lors du second challenge RST Analytics a ainsi permis de répondre avec succès au défi posé par le CGDD en identifiant la bonne source de données (les immatriculations de véhicules) parmi l’ensemble du catalogue du "datalake" (une sorte de réservoir de données non structurées, en cours de développement par le SDES).

Actuellement, la boutique, puis le centre de ressources de l’adaptation au changement climatique du Cerema constituent les nouveaux terrains d’expérimentation de l’assistant conversationnel toujours en cours de développement.

Par ailleurs, et cela quelle que soit l’issue de cette démonstration, de nombreux sous-produits liés à l’intelligence artificielle, au traitement du langage naturel et à l’indexation intelligente de nos propres données apparaissent d’ores et déjà largement à notre portée, et surtout vecteurs de développement de services numériques très innovants en complément de l’expertise de nos agents.