Comment permettre aux utilisateurs métiers de faire parler leurs données rapidement sans être un expert du datamining ? Depuis quelques temps, les spécialistes de l’analytique passent à la vitesse supérieure sur les requêtes en langage naturel. Pour gagner du temps, Tableau Software a racheté cet été ClearGraph dont la technologie de découverte des données utilise une recherche basée sur un graphe de connaissances. Et cette semaine, Salesforce Research publie un article sur ses avancées en la matière, signé par trois de ses chercheurs basés à Palo Alto (Victor Zhong, Caiming Xiong et Richard Socher) sous le titre « Seq2SQL : générer des requêtes structurées à partir du langage naturel en utilisant l’apprentissage par renforcement ».

Après avoir, avec sa technologie Einstein, injecté de l’intelligence artificielle dans ses logiciels de prospection commerciale, de service aux clients et d’automatisation marketing, l’éditeur de solutions cloud veut proposer à ses utilisateurs d'interagir avec leurs données en langage naturel. Ainsi que l’expose l’article, le modèle de deep learning Seq2SQL utilise pour le faire l’apprentissage par renforcement* (cf les explications d'Octo sur le sujet). Celui-ci permet à un agent d’apprendre à partir des actions qu’il effectue et pour lesquelles il reçoit, ou non, une récompense. Les gains en performance obtenus sont plus importants comparés aux autres méthodes de deep learning, souligne Salesforce dans un billet. Seq2SQL est appliqué en temps réel à des requêtes effectuées sur des bases de données SQL. Ce faisant, les utilisateurs vont interroger la base sans recourir eux-mêmes au langage SQL.

Seq2SQL prend en entrée une question et les colonnes d'une table. Il génère la requête SQL correspondante qui, pendant l'apprentissage, est exécutée sur une base. Le résultat de l'exécution est utilisé comme « récompense » pour entraîner l'algorithme d'apprentissage par renforcement, expliquent les chercheurs de Salesforce.com dans l'article de recherche publié.

Salesforce fournit un exemple d’applications pour ses logiciels de service clients. Pour accéder aux principaux indicateurs-clés, un responsable d’équipe pourrait simplement entrer au clavier ou énoncer la phrase suivante : « Montre-moi tous les comptes ayant le plus bas taux de satisfaction client ». Ou encore « Montre-moi tous les comptes clients premium qui risquent de partir à la concurrence ». En récupérant rapidement ces informations, il pourra établir les priorités de sa journée et agir de façon proactive pour résoudre les réclamations clients les plus problématiques.

* Reinforcement learning