Neo4j Graph Day Paris : nouveautés et cas d’usage clients

Publié par Anne ANDRIANARIMANANA le

Neo4j Graph Day Paris :
nouveautés et cas d’usage clients

Comme chaque année à cette période, c’est l’occasion pour Neo4j, leader des bases de données graphes, de présenter ses actualités et la manière dont certains de ses clients français utilisent sa technologie.

Beaucoup de grosses actualités cette année, avec tout d’abord l’annonce d’une levée de fonds de $80 Millions, auprès de One Peak Partners et Morgan Stanley. Cette levée vient valider l’explosion du marché des graphes et la position de leader de Neo4j sur ce marché.

Avant de passer aux autres annonces, Cédric Fauvet, Business Developer France, a présenté Neo4j aux non-initiés : exemple des Panama/Paradise Papers, principaux usages et clients avec la recommandation de produits en temps réel (Walmart), détection de fraude (plusieurs banques du Fortune 100), gestion des réseaux et IT (HP), Gestion des données de référence (Cisco), Recherche basée sur les graphes (Lufthansa), contrôle d’accès.

On revient aux actualités avec la présentation des nouveautés de la version 3.5 à venir : amélioration drastique des performances – jusqu’à x5 pour certaines opérations, intégration de nombreux algorithmes d’intelligence artificielle en natif, amélioration de la sécurité.

Enfin, on évoque Bloom, le nouvel outil de visualisation natif qui permet d’explorer facilement et en profondeur les données. Bloom est sorti en Juin dernier et répond aux besoins de visualisation à grande échelle auxquels l’ancien outil maison (Neo4j Browser) ne pouvait pas répondre. Neo4j a développé pour Bloom un moteur spécifiquement prévu pour le rendu de graphes de grande taille sur la carte graphique, ce qui permet d’afficher sans souci des milliers de nœuds et de relation. 

Bloom fournit égalements des capacités de recherche en « near-natural language » pour rapidement identifier tous les nœuds qui contiennent par exemple les termes « money transfer » ou approchant.

Ces requêtes peuvent également être associées à des requêtes Cypher (le « SQL des graphes ») pour permettre à des métiers de saisir « Trouver tous les fraud rings » ou « Trouver le lien le plus court entre A et B » sans avoir besoin de connaissances en requêtage. 

Bref, Bloom met la visualisation et l’exploration de ses données à la portée de tout utilisateur de Neo4j. Vous pouvez voir une démonstration de l’outil appliqué à la détection de transactions frauduleuses ici : https://www.youtube.com/watch?v=KjINhGbG-So

Avant de passer sur les cas d’usage clients, le fondateur de Kettle est venu faire une démonstration de son outil et comment il s’intègre à Neo4j. Outil open-source d’ETL (Extract-Transform-Load), Spoon permet d’extraire des données de multiples sources très diverses, pour les transformer et les charger directement dans Neo4j (ou autre base de données) ; et ce de façon simple et performante.

Calcul scientifique et maintenance prédictive chez Michelin

Le premier cas client présenté est celui d’un service de maintenance prédictive sur les pneus Michelin. Neo4j s’intègre à un nouveau service destiné aux gestionnaires de flottes de poids lourd, qui permet de détecter automatiquement et suivre à distance en quasi-temps réel l’usure des pneumatiques afin de planifier les interventions de remplacement.

Neo4j est ici utilisé comme support au calcul scientifique, en stockant les différents paramètres et les résultats intermédiaires de calcul de façon séquentielle. Si un paramètre en entrée change, cela permet de re-calculer uniquement les résultats intermédiaires qui dépendent de ce paramètre, et pas l’intégralité du modèle.

Neo4j a été sélectionné pour répondre aux contraintes suivantes : volume important de données, performance temps réel, correction d’erreurs de saisie et de déclaration, gestion des résultats en cache – capteur déconnecté par exemple. Les autres solutions envisagées ne permettaient pas de répondre à ces contraintes : Spring, Apache Spark, Stream Analytics, Databricks.

Enrichissement du CRM chez Crédit Agricole CIB (Corporate & Investment Bank)

Dans ce deuxième cas client, Neo4j est utilisé comme base de données permettant de croiser différences sources de données : donnée publique, d’une part, avec un système d’agrégation d’articles de presse, et le CRM d’autre part, qui regroupe les données internes sur les clients de CA CIB. Couplé à Elastic Search pour les fonctionnalités de recherche plein-texte, Neo4j permet aux commerciaux de bénéficier d’informations fiables, diversifiées et triées par ordre de pertinence sur leurs clients.

Neo4j a été sélectionné par CA CIB car il augmente la visibilité des équipes techniques sur le modèle de données, fournit une bien meilleure maintenabilité en réduisant drastiquement la taille et la complexité des requêtes (versus du SQL) et fournit des performances incomparables : de x4 à x40 par rapport à l’ancien système, et permet d’effectuer des requêtes auparavant impossibles.

CA CIB a, en outre, représenté l’architecture modulaire de son CRM sous forme de graphe. On retrouve donc l’intégralité des modules de l’outil, reliés entre eux en fonction de leur inter-dépendances, et reliés aux personnes qui ont la connaissance technique de cet outil. Cela permet d’avoir une bonne visibilité sur l’impact des modifications dans un module, ainsi que l’impact du départ d’une personne sur la connaissance de l’outil sur un plan technique.

Visualisation chez CAST Software Intelligence

Le dernier cas client est une exploitation directe des capacités de visualisation et d’exploration des données inhérentes aux graphes. CAST est une solution destinée à la représentation de l’architecture logique des applications. Cette solution utilise Neo4j comme base de données, et utilise les libraires fournies par Linkurious pour les afficher et interagir avec l’utilisateur. Ainsi, l’utilisateur peut visualiser son architecture couche par couche, des modules jusqu’aux fonctions.

Intelligence artificielle et graphes sont des domaines étroitement liés

Le dernier intervenant de la journée, Benoît Simard, Expert technique Neo4j, a brossé un tableau de l’intelligence artificielle dans lequel IA et graphes sont étroitement liés.

En effet, les graphes participent au développement de l’intelligence artificielle sur les axes suivants : modélisation, graphe de connaissance, accélération du machine learning, compréhension des décisions prises par une IA.

Par exemple, les IA très marquantes que sont AlphaBlue (joueuse d’échec) et AlphaGo (joueuse de Go), utilisent les graphes dans leur cœur : chacune représente les coups possibles sur les prochains tours sous la forme d’un arbre – donc d’un graphe – et parcourt ce graphe après chaque coup réalisé pour évaluer la probabilité de victoire qu’offre chacune des actions. Dans le cas d’AlphaGo, les parties passées sur lesquelles elle a été entraînée sous en outre stockées sous forme de graphes.

Dans le cas d’AlphaGo Zéro, dernière version imbattable d’AlphaGo, il s’agit d’un réseau de neurones, qui n’est autre… qu’un graphe !

Pour ce qui est des chatbots, on parcourt également un graphe pour construire les phrases : chaque mot est relié à d’autres mots, plus ou moins probables successeurs. Par exemple, « joyeux » va être relié à « anniversaire », « Noël » ou « Halloween » avec différentes probabilités qui dépendent des mots qui précédent.

Avec l’image ci-dessous, l’intervenant explique que si l’on caractérise des données, cela créé de l’information et lorsque l’on relie ces points d’information, cela créé de la connaissance.

Le processus d’apprentissage de l’être humain fonctionne de cette façon. Par exemple, si l’on se brûle en touchant une gazinière, le cerveau va pouvoir procéder par association de la façon suivante : « gazinière » ->  « chaud » => « brûlure », donc « pot d’échappement » => « chaud » => « brûlure ». 

On passe bien ici de la donnée, à l’information, à la connaissance, en reliant les points. On a donc bien un graphe qui crée de la connaissance !

Marius CONJEAUD

Consultant EVA Group
Catégories : EVATECH