Combinaison des algorithmes de prédiction et des moteurs de règles : les prémices de l’IA

Combinaison des algorithmes de prédiction et des moteurs de règles : les prémices de l'IA

Les systèmes experts (ou moteurs de règles métier) permettent d’intégrer la connaissance métier dans les systèmes informatiques grâce à leur capacité à capturer l’expertise métier dans des systèmes inductifs (proches du raisonnement analytique). Depuis quelques années, les modèles prédictifs à base d’apprentissage automatique (Machine Learning) se font de plus en plus présents dans les applications. Vont-ils remplacer les moteurs de règles ? Au contraire, ils en sont un allié de poids.

Couverture fonctionnelle

Un moteur de règles donne la possibilité aux experts métier de contrôler tout ou partie d’un système informatique en exprimant leur connaissance du périmètre fonctionnel sans avoir recours à du code informatique de très bas niveau, mais au contraire en utilisant leur propre langage pour décrire cette expertise dans un logiciel. Les experts métier peuvent interagir en temps réel sur le comportement du système sans dépendre des équipes de développement. Un moteur de règles apporte souplesse et réactivité aux experts en leur donnant un accès direct au comportement du système. Il apporte également une richesse sur les actions qui peuvent être menées lorsqu’une règle est déclenchée.

Par exemple, dans un site de e-commerce, le composant de lutte contre la fraude se doit d’intégrer un moteur de règles. En effet, les équipes de gestion de la fraude doivent pouvoir réagir rapidement aux nouvelles techniques utilisées par les fraudeurs sans avoir recours à une équipe de programmation.

Le machine learning prend une approche différente des systèmes à base de règles : celle de la construction d’un modèle prédictif à partir des données, via l’apprentissage automatique. Il s’agit en fait d’une méthodologie à l’exact opposé : on reproduit la capacité cognitive de généralisation sur la base de données connues, afin d’être capable de prendre une décision sur des données nouvelles, non rencontrées jusqu’à présent par le système. Pour cela, l’algorithme va brasser l’historique des données en combinant un nombre de critères qu’un être humain aura du mal à appréhender. L’algorithme saura gérer sans problèmes des dizaines voire des centaines de critères alors qu’un expert métier saura combiner, pour chaque règle, quelques critères différents : le nombre des commandes de l’utilisateur, les types de produits commandés, le montant de la commande, etc.

Mais, en contrepartie, l’humain saura gérer des situations très ponctuelles pour lesquelles le modèle n’aura pas forcément été entraîné ; par exemple, celles liées à un évènement très particulier : par exemple, le comportement des clients dus au lancement d’un nouveau smartphone saura être analysé par un expert métier alors que ce type d’évènement aléatoire ne pourra être détecter par un modèle de machine learning car il n’existe pas de données représentatives de cette situation dans l’historique.

Un autre élément à prendre en compte est l’objectif métier du modèle prédictif : ce pour quoi le modèle a été entraîné. Revenons à notre exemple. Dans le cadre de la fraude, on cherchera à déterminer si une commande est valide ou si une commande est frauduleuse. Même si l’une des questions est l’opposée de l’autre, le travail du data scientist ne visera à répondre qu’à l’une des deux questions. En fonction des objectifs métier, on mettra, par exemple, l’accent sur la prédiction des commandes valides : est-ce que les commandes prédites comme valides sont réellement valides ? Dès que le problème est posé et le modèle entraîné, ce dernier répondra précisément à la question ; et uniquement à cette question. Ce procédé n’est généralement pas suffisant pour en faire un système à part entière ; le moteur de règles va couvrir le reste du périmètre fonctionnel.

Intégration

Pour combiner les deux technologies dans un composant, il faut, a minima, les éléments suivants : 

  • Un jeu de règles contenant les règles métier ;
  • Le modèle de prédiction ;
  • Un jeu de règles « global » qui va déterminer le résultat final à partir des résultats des règles métier et de la valeur prédite. Ce deuxième jeu de règles permet au métier de garder le contrôle sur le traitement global.

Revenons à notre exemple de gestion de la fraude. Si le modèle a été entraîné pour identifier les commandes valides, alors, il existera statistiquement quelques commandes frauduleuses qui seront classées comme valides par l’algorithme. Ces prédictions peuvent donc venir en contradiction avec le résultat des règles métier. Dans ce cas précis, il revient à l’humain, par l’intermédiaire du deuxième jeu de règles, de décider si les règles métier priment ou non sur la prédiction de l’algorithme.

Les données

Comme nous l’avons vu dans la section précédente, une bonne intégration se fait en combinant les résultats des deux technologies ; il faut donc que les calculs puissent se faire au même moment, en temps réel.

Cette dualité implique que les données nécessaires à la prédiction et aux règles métier soient disponibles pour les deux calculs. C’est une contrainte qu’il faut intégrer lors de la phase d’apprentissage du modèle.

Par ailleurs, la typologie des données est un autre élément important à prendre en compte pour obtenir un système performant. Même si les deux technologies s’appuient sur les mêmes données brutes, elles vont être transformées et manipulées différemment.

D’une part, les experts métier utilisent essentiellement les données du système et notamment leur aspect dynamique.  En effet, de nombreuses règles métier s’appuient sur la « vélocité » de l’information ; c’est-à-dire, l’évolution de la donnée sur une période glissante : le nombre de commandes passées depuis le dernier mois, la dernière semaine, ou, sur l’usage d’un moyen de paiement qui est en train de flamber. La connaissance du domaine fonctionnel est de nouveau clé pour définir l’ensemble d’indicateurs utiles pour obtenir des scores de très bonne qualité.
D’autre part, pour le modèle prédictif, les données du système sont combinées avec des sources externes de données. Cela permet d’intégrer dans la prédiction, des évènements ou phénomènes externes au système. N’oublions pas bien sûr le travail de choix et d’optimisation de l’algorithme par apprentissage à utiliser pour maximiser l’efficacité du système.

 

Même si la conception d’un système temps réel combinant les deux technologies doit être définie avec attention, l’intégration d’un moteur de règles et d’un modèle prédictif permet d’améliorer considérablement la précision des besoins métier. Cette précision est le résultat d’une approche différente de fonctionnement et d’une analyse complémentaire des données.