FR 3062504 A1 20180803 FR 1750737 A 20170130 1 DETECTION AUTOMATIQUE DE FRAUDES DANS UN FLUX DE TRANSACTIONS DE PAIEMENT PAR RESEAUX DE NEURONES INTEGRANT DES INFORMATIONS CONTEXTUELLES DOMAINE DE L'INVENTION La présente invention est relative à un mécanisme de détection d'anomalies dans un flux de transactions bancaires. Elle s'applique notamment à la détection de fraudes. CONTEXTE DE L'INVENTION La fraude sur les transactions bancaires est un phénomène grandissant, notamment du fait de la généralisation des transactions de paiement via les réseaux de télécommunication. Lorsqu'une transaction de paiement est autorisée par un serveur de paiement, deux mécanismes peuvent être mis en place : avant l'autorisation et.ou après. Dans le premier cas, on parle de détection de fraude en temps-réel. Dans le deuxième cas, il s'agit de détection de fraude proche du temps-réel (« near real-time »). Le premier cas présente l'avantage de pouvoir bloquer une transaction frauduleuse avant que celle-ci n'ait lieu, mais elle est assujettie à une contrainte forte sur le temps de traitement, puisqu'elle retarde la finalisation de la transaction de paiement et donc l'expérience pour l'utilisateur. Le deuxième cas permet de disposer de davantage de temps et donc de pouvoir mettre en place des traitements plus complexes et plus fins. En général, ce problème est considéré par des techniques reposant sur des bases de règles. 3062504 2 Des solutions ont été proposées, se basant sur différents mécanismes de classifications. Il est toutefois relevé dans l'état de la technique que la détection de fraudes dans les systèmes de paiement présente des spécificités. Dès lors, les techniques classiques de classifications ne s'appliquent de 5 façon directe et efficace. Tout d'abord, les conséquences de la fraude sont extrêmement importantes et très sensibles. En outre, comme les données relatives aux données bancaires et aux cartes et autres instruments de paiement sont confidentielles, très peu d'information sont publiquement disponibles sur les 10 outils mis en place pour la détection de la fraude. Il est dès lors malaisé de pouvoir comparer les solutions de l'état de la technique. RE SUME DE L'INVENTION 15 Le but de la présente invention est de fournir une solution palliant au moins partiellement les inconvénients précités. Plus particulièrement, l'invention vise à fournir une solution de détection automatique de transactions frauduleuses dans un ensemble de 20 transactions en utilisant des informations contextuelles, c'est-à-dire non contenue dans les transactions soumises au traitement. A cette fin, la présente invention propose un procédé de détection de transactions frauduleuses dans un ensemble de transactions de paiement, 25 consistant à soumettre les transactions à un système de classification entrainé sur un jeu d'entrainement et fournissant pour chaque nouvelle transaction dudit ensemble une probabilité d'être une transaction frauduleuse, caractérisé en ce qu'à chaque transaction sont associées des informations contextuelles. 30 Typiquement, ce jeu d'entrainement peut former un ensemble disjoint de l'ensemble des transactions sur lequel est ensuite effectué la 3062504 3 généralisation, ou prévision, lors de la phase d' exploitation des classifieurs entrainés sur le jeu d' entrainement. Suivant des modes de réalisation préférés, l'invention comprend une 5 ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles : ledit système de classification est un réseau de neurones ; ledit système de classification utilise lesdites informations 10 contextuelles au moyen de plongements de graphes ; lesdites informations contextuelles comprennent des données relatives au pays associé à la transaction ; lesdites informations contextuelles comprennent des données relatives aux jours de congés ; 15 ledit système de classification est basé sur l'algorithme Word2Vec. Un autre objet de l'invention concerne un dispositif comportant des moyens pour mettre en oeuvre le procédé tel que précédemment décrit. 20 D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit d'un mode de réalisation préféré de l'invention, donnée à titre d'exemple et en référence aux dessins annexés. BREVE DESCRIPTION DES DESSINS 25 La figure 1 représente schématiquement des résultats expérimentaux obtenus selon un mode de réalisation de l'invention. DESCRIPTION DETAILLEE DE L'INVENTION 30 3062504 4 Le nombre de fraudes ne représente qu'un très faible pourcentage du volume des transactions bancaires : on considère que le taux moyen de fraude est de l'ordre de 0,5 %. Aussi, la détection de fraude correspond à un problème de détection d'anomalies, qui se caractérise par une distribution 5 déséquilibré entre deux populations (cas normaux / cas en anomalie). Ce type de problème est très mal résolu par les mécanismes d'apprentissage de type « machine learning » Selon un mode de réalisation de l'invention, l'ensemble des 10 transactions à considérer est modifiée par la suppression des cas que l'on peut considérer a priori légitime. Ainsi, on peut augmenter l'équilibre entre les deux populations. Ce mécanisme permet d'augmenter les performances du réseau de neurones. 15 Une autre spécificité des fraudes à transactions de paiement (par carte bancaire) réside dans la nature complexe du problème : les fraudes sont difficiles à distinguer des transactions légitimes. et il peut y avoir des recouvrements entre les classes issues du procédé de classification. De plus, différents schémas de fraudes peuvent être pratiqués par les fraudeurs, 20 engendrant des situations diverses, et il est donc délicat de détecter les fraudes en se basant sur des « signatures » de cas de fraude typiques. Le problème consiste à identifier les fraudes parmi en ensemble de transactions de paiement. Selon l'invention, un système de classification est mis en place, 25 utilisant les techniques de type « machine learning », afin de générer deux classes : une classe comportant les transactions légitimes et une classe comportant les transactions frauduleuses. Typiquement, ce type de mécanisme repose sur une phase 30 d'apprentissage et sur une phase de prédiction qui consiste en une 3062504 5 généralisation du jeu d'entrainement sur lequel s'est basée la phase d'apprentissage. Selon l'invention, la prédiction de la classe d'une transaction prend en 5 compte différents attributs associés à la transaction, parmi lesquels des informations contextuelles. La prise en compte de ces informations contextuelles est une idée novatrice par rapport à l'état de la technique. Il peut par exemple s'agir d'une date (incluant l'heure) de la 10 transaction, de sa localisation géographique, d'événements calendaires (vacances scolaires, jours fériés.... ). Les attributs peuvent aussi plus classiquement contenir le propriétaire de la carte de crédit (ou autre instrument de paiement), etc. 15 L'utilisation des informations contextuelles permet de distinguer avec une précision accrue les transactions frauduleuses des transactions légitimes. Comme pour tout mécanisme de classification, un classifieur est 20 d'abord construit à partir d'un jeu d'entrainement pendant la phase d'apprentissage. Puis, ce classifieur est utilisé pendant la phase de prédiction afin de classifier des transactions nouvelles. Différents types de classifieurs sont possibles, mais grâce à utilisation 25 d'informations contextuelles, ceux-ci peuvent se baser sur un plus grand volume de données pour chaque transaction et donc d'enrichir les possibilités de déterminations d'un modèle de discrimination pour former deux classes bien identifiées . 30 L'invention repose donc sur l'injection d'informations contextuelles dans le mécanisme de classification. 3062504 6 Plus particulièrement, selon un mode de réalisation de l'invention, ces informations contextuelles sont injectées dans un réseau de neurones. 5 Deux sources d'informations peuvent être considérés pour expliquer les mécanismes de l'invention : une base de données relationnelle D, représentant les données de l'application interne; un graphe sémantique G={V, E} représentant les informations 10 contextuelles. On suppose par ailleurs qu'il existe un attribut j dans D, pour lequel l'ensemble de valeurs Aj = {dj : d E D} peut être identifié avec un sous-ensemble de vecteurs V * s V de G. 15 A tel graphe sémantique permet de structurer les informations contextuelles. Un graphe ou réseau sémantique, ou encore graphe de connaissances est un graphe orienté multi-relationnel composé d'entités tels que des noeuds et des liens. 20 Dans le cadre de l'invention, l'intégration de ces graphes dans les réseaux de neurones est effectuée par des plongements de graphe, ou « graph embeddings » en langue anglaise), c'est-à-dire des représentations vectorielles des noeuds du réseau sémantique, qui permettent de capturer les propriétés sémantiques d'un noeud en particulier. 25 Ces plongements (« embeddings ») sont utilisés pour initialisés une couche de plongements du réseau de neurones. Pendant la phase d'apprentissage, ces couches de plongements sont adaptées à partir des informations contextuelles. 30 Par exemple, des attributs comme « pays » ou « année » peuvent être trouvés dans un graphe extérieur tel que le graphe DBpedia. 3062504 7 DBpedia est un projet universitaire et communautaire d'exploration et extraction automatiques de données dérivées de Wikipédia. Son principe est de proposer une version structurée et sous forme de données normalisées au format du web sémantique des contenus encyclopédiques de chaque fiche 5 encyclopédique. Il est ainsi possible de tirer profit des modèles existant structurant l'information contextuelles. 10 Sans perte de généralité, on peut également supposer que j=1 et on identifie les valeurs pour le premier attribut avec les vecteurs dans V*. Chaque tuple de D a pour forme d= (v, d2, . . . , dk) for v E V * Le problème de l'injection d'informations contextuelle sémantique est alors une combinaison de caractéristiques (« features »): trouver la 15 dimension n>0 et les représentations vectorielles tt=vec(v) E R n pour tout vEV*. C'est-à-dire que v « capture » la sémantique de v et permet ainsi d'améliorer les mécanismes du classifieur de « machine learning » sur D* = {(d, d2, . . . , dk): d E D}. 20 Les plongements (« embeddings ») sont des vecteurs à n dimensions associés à des concepts. Ces vecteurs héritent de certaines propriétés sémantiques des concerts, de sorte que notamment des concepts similaires sont associés à des vecteurs 25 proches. Ces proximités peuvent être aisément exprimées par des similarités en cosinus. Les plongements forment un domaine de recherche bien connu dans le domaine du traitement automatique des langues, afin de représenter la sémantique des mots dans un corpus. 30 Par exemple le « plongement de mots » ou « plongement lexical » est une méthode d'apprentissage automatique issue de l'apprentissage profond 3062504 8 (ou « deep learning » en langue anglaise) se focalisant sur l'apprentissage d'une représentation de mots. Cette technique permet de représenter les mots d'un dictionnaire par des vecteurs afin de faciliter leur analyse sémantique et syntaxique. Ainsi, chaque mot sera représenté par un vecteur de réels et les 5 mots apparaissant dans des contextes similaires auront des vecteurs plus proches que d'autres apparaissant dans des contextes différents. Cette nouvelle représentation permet de diminuer considérablement l'espace de dimensionnalité (car on ne stocke plus un dictionnaire entier mais uniquement un espace de vecteurs continus). 10 L'algorithme le plus connu est probablement l'algorithme Word2Vec. Une page Wikipédia est consacrée à cet algorithme : https://en.wikipedia.org/wiki/Word2vec 15 Word2Vec est un groupe d'algorithme d'apprentissage non supervisé permettant de créer des plongements de mots à partir de documents textuels. Afin d'entrainer ses plongements, Word2Vec utilise un réseau neuronal à deux couches prenant en entrée les documents bruts, sans étiquettes. Le modèle architectural du réseau de neurones peut être basé sur le modèle de 20 « continuous bag of words » (CBOW), ou bien sur une architecture « skip- gram » Dans le premier cas (CBOW), l'entrée du modèle peut être wi-2, wi-1, wi+1, wi+2, c'est-à-dire les mots précédents et suivants d'un mot courant wi. La sortie du réseau et la probabilité de wi d'être le mot correct. 25 Cette tâche peut être décrite comme la prédiction d'un mot étant donné son contexte. Dans le second cas (skip-gram), le modèle fonctionne à l'opposé : l'entrée du réseau est un mot wi et Word2Vec prédit le contexte autour de ce mot: wi-2, wi-1, wi+1, wi+2. 30 3062504 9 Au contraire des autres de réseaux de neurones pour le traitement du langage naturel Word2Vec est très rapide et peut être encore accéléré en utilisant des techniques d'apprentissage parallèle. Ainsi, l'entrainement sur le corpus de Wikipedia peut prendre autour de 90 mn avec un ordinateur 5 personnel équipé d'un processeur i7 quadricore de la marque Intel fonctionnant à 4x3,4 GHz, et d'une mémoire de 16 Go. Une propriété importante de l'algorithme Word2Vec est qu'il groupe les vecteurs de mots similaires ensemble dans l'espace des vecteurs. Si 10 l'apprentissage est effectué sur un jeu d'apprentissage suffisant, Word2Vec produit de bons résultats en prédiction sur la signification d'un mot sur la base des occurrences précédentes. Afin d'obtenir des plongements préservant la sémantique, on utilise un 15 algorithme de plongement développé pour restreindre l'ambiguïté dans les entités. Un tel algorithme peut être l'algorithme décrit dans l'article suivant : Zwicklbauer, S., Seifert, C., Granitzer, M.: Doser - a knowledge-baseagnostic framework for entity disambiguation using semantic embeddings. In: Sack, H., Blomqvist, E., d'Aquin, M., Ghidini, C., Ponzetto, S.P., Lange, 20 C. (eds.) The Semantic Web. Latest Advances and New Domains - 13th International Conference, ESWC 2016, Heraklion, Crete, Greece, May 29 - June 2, 2016, Proceedings. Lecture Notes in Computer Science, vol. 9678, pp. 182-198. Springer (2016), http://dx.doi.org/10.1007/978-3-319-34129- 3 12 25 Selon une mise en oeuvre basée sur cet algorithme Word2Vec obtient une représentation vectorielle pour chaque mot en prédisant des séquences ce moto. Puisqu'un graphe RDF donné ne contient pas un tel type de séquences, 30 on créé une séquence de noeuds vk E V en conduisant une marche aléatoire à partir d'un noeud choisit également de façon aléatoire. On considère que le 3062504 10 graphe RDF est un graphe non-orienté G=(V,E) dans lequel les noeuds V sont des ressources de la base de connaissance, et les liens E sont les propriétés de la base de connaissance, et x, y E V,(x, y) E E 3p : (x, p, y) V 3p : (y, p, x) est un triple RDF 5 dans la base de connaissance. La marche aléatoire peut être effectuée au sein de ce graphe G. Lorsque la marche rencontrer un noeud xEV , l'identifiant de ce noeud x est ajouté dans le résultat de sortie. Le noeud succ(x) du noeud x est choisi de façon aléatoire et 10 uniformément équitable parmi les noeuds adjacents, c'est-à-dire avec une probabilité uniforme égale à 1/EdgesOf(x), avec « EdgesOf(x) » une fonction renvoyant le nombre de liens du noeud x, c'est-à-dire le nombre de liens dans le vecteur vk. On peut également introduire une variable aléatoire Xx qui détermine 15 la probabilité de sauter à un noeud donné si un saut aléatoire est réalisé. La probabilité de saut d'un premier noeud vers un second noeud x est calculée en normalisant la fréquence de liens inverse respective IEF du noeud x, IEF(x). Selon des études expérimentales effectuées par les 20 inventeurs, on utilise le paramètre a = 0.1 pour réaliser un saut aléatoire, mais une gamme de valeurs entre 0,05 et 0,25 semble convenir et fournir un bon modèle Word2Vec. De plus, le paramètre 0 indique le nombre de marches aléatoire dans le graphe. Il est possible d'utiliser par exemple 0 = 5 *1E1, ce qui dans 25 l'exemple de DBpedia fournit environ 50 millions de marches aléatoires. Des valeurs plus élevés de ce paramètres ne semblent pas améliorer les plongements des entités, mais augmente le temps nécessaire pour la phase d'apprentissage. 3062504 11 Selon un mode de réalisation de l'invention, l'approche pour la création du corpus pour des bases de connaissances RDF peut être selon l'algorithme suivant: 5 Ce principe d'utilisation d'informations contextuelles véhiculant un contenu sémantique peut être appliqué à d'autres mécanismes de classification par apprentissage que les réseaux de neurones. On peut ainsi citer les algorithmes génétiques, les réseaux bayésiens, les modèles de Markov cachés, etc. 10 La courbe de la figure 1 illustre un résultat expérimental de mises en oeuvre de l'invention. Elle fournit un score global corrélant la précision (axe des ordonnées) et un taux de « recall » (axe des abscisses), c'est-à-dire de transactions 15 frauduleuses correctement classifiées. Ces courbes montrent 4 situations correspondant à des configurations différentes des couches de plongements du réseau de neurones: référence 1 - « no external datal » : aucune information contextuelle n'est prise en compte 20 référence 2 - « tx-holiday » : des informations contextuelle relatives aux jours de congés sont pris en compte; référence 3 « country embed » : des informations contextuelles relatives aux pays sont prises en compte référence 4 - « tx holiday+country embed » : des 25 informations contextuelles relatives aux jours de congés et aux pays sont prises en compte. On remarque ainsi qu'effectivement les résultats sont meilleurs du fait de l'utilisation des informations contextuelles, notamment par l'utilisation 30 des pays. 3062504 12 On peut voir aussi que l'utilisation combiné de plusieurs types d'informations contextuelles est un problème délicat. Dans certains cas, il apparaît que certaines combinaisons risquent même dégrader les performances générales des classifieurs. La combinaison des représentations 5 vectorielles sémantiques sur les pays et les jours de congés publiquement connus (jours fériés, vacances scolaires...) semble expérimentalement démontrer de bons résultats, en particulier sur des valeurs faibles du taux de « recall », pour lesquelles une précision élevée peut être atteinte. Concrètement, cela signifie qu'un classifieur conforme à ce mode de 10 réalisation de l'invention obtient des bons résultats pour les transactions les plus susceptibles d'être frauduleuse, ce qui représente en pratique les situations les plus courantes. 15 Bien entendu, la présente invention n'est pas limitée aux exemples et au mode de réalisation décrits et représentés, mais elle est susceptible de nombreuses variantes accessibles à l'homme de l'art. 20 REVENDICATIONS1. Procédé de détection de transactions frauduleuses dans un ensemble de transactions de paiement, consistant à soumettre les transactions à un système de classification entrainé sur un jeu d'entrainement et fournissant pour chaque nouvelle transaction dudit ensemble une probabilité d'être une transaction frauduleuse, caractérisé en ce qu'à chaque transaction sont associées des informations contextuelles. 2. Procédé selon la revendication précédente, dans lequel ledit système de classification est un réseau de neurones. 3. Procédé selon l'une des revendications précédentes, dans lequel ledit système de classification utilise lesdites informations contextuelles au moyen de plongements de graphes. 4. Procédé selon l'une des revendications précédentes, dans lequel lesdites informations contextuelles comprennent des données relatives au pays associé à la transaction. 5. Procédé selon l'une des revendications précédentes, dans lequel lesdites informations contextuelles comprennent des données relatives aux jours de congés. 6. Procédé selon l'une des revendications précédentes, dans lequel ledit système de classification est basé sur l'algorithme Word2Vec. 7. Dispositif comportant des moyens pour mettre en oeuvre le procédé selon l'une des revendications précédentes.