Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Digital GraphTour Paris - 26 March, 2020

Découvrez les nouveautés de la technologie des graphes et de Neo4j.

Apprenez-en plus sur notre nouvelle version Neo4j 4.0 qui offre une évolutivité illimitée, une sécurité granulaire, l’agilité opérationnelle et une architecture réactive.

Écoutez nos experts parler de l’innovation avec les graphes, de l’IA responsable et des graphes pour l’intelligence artificielle et le Machine Learning.

  • Be the first to comment

  • Be the first to like this

Digital GraphTour Paris - 26 March, 2020

  1. 1. Bienvenue au GraphTour Neo4j 2020 en ligne Les graphes sont partout Pensez-vous réellement que vos données ne sont pas en fait un graphe ?
  2. 2. Programme Cédric Fauvet Commercial, France Pascal Mary Commercial, France Lucy Crick Succès client, France/Allemagne Rik Van Bruggen VP Regional Sales • Posez vos questions en direct via le menu « Questions » • Les sessions sont enregistrées • Contactez moi si besoin Cedric.fauvet@neo4j • 10h00 : Rik Van Bruggen (Neo4j) – Keynote d‘ouverture • 10h25 : Nicolas Rouyer (Neo4j) – Quoi de neuf dans Neo4j ? • 11h05 : Michal Bachmann (GraphAware)- Applications pratiques de Neo4j [Anglais] • 11h25 : Mireille Bobert et Mohamed Bouzaienne (Eriks) – Le parcours d’ERIKS Digital avec Neo4j • 11h45 : Mathieu Chabannat et Nikolaj Obradovic (Generali) – Les graphes appliqués à l’investigation des fraudes • 11h45 : Jesús Barrasa (Neo4j) – Les graphes pour l’IA et le Machine Learning • 12h30 : Session de questions réponses Jesús Barrasa , Expertise technique, France/Europe Frédéric Louis Commercial avant-vente, France Eva Delier, Marketing et communication, France et Europe Nicolas Rouyer, Expertise technique, France
  3. 3. Welcome to GRAPHTOUR DIGITAL 2020! Rik Van Bruggen rik@neo4j.com @rvanbruggen
  4. 4. Do you have a "Big Data" Problem, or do you have a big "Data Problem"? A few years back I got a Message from a friend
  5. 5. Let's talk about "The Graph Problem" Problem
  6. 6. Before we can actually address the problem, we have to recognize it as a specific type of problem, so that we can start imagining appropriate solutions to it.
  7. 7. Many problems have more than one potential solution, but usually one solution TYPE stands out as being most appropriate, natural, easy to implement, cost effective.
  8. 8. Graphs have been universally recognized as a great solution for specific types of problems - Graph Problems - and recognition is GROWING!
  9. 9. Look at this data… Element Depends On A B A C A D C H D J E F E G F J G L H I J N J M L M
  10. 10. Element Depends On A B A C A D C H D J E F E G F J G L H I J N J M L M Time challenge #1: What if J fails? ?
  11. 11. Look at this data again…
  12. 12. If your business problem has a lot of dependencies - which in IT / database terms are represented by JOINs between different entities - and if solving for these dependencies in near real time is important to you, then your problem is probably easiest solved with graph technology - and we can safely call it a GRAPH PROBLEM. Congrats! You've just solved the "Graph Problem" Problem. Conclusion
  13. 13. Understanding when graph technology is most appropriate for solving your business problem, is the "Graph Problem" Problem. GraphTour aims to give you ALL the INFO you need to be able to do that quickly and efficiently. If we succeed - tell us. If we don't, also tell us! Our objective for GraphTour!
  14. 14. More and more people recognize their graph problems for what they are STATE OF THE GRAPH
  15. 15. A Vibrant Growing Community
  16. 16. 76%FORTUNE 100 have adopted or are piloting Neo4jFinance 20 of top 25 7 of top 10 Software Retail 7 of top 10 Airlines 3 of top 5 Logistics 3 of top 5 Telco 4 of top 5 Hospitality 3 of top 5 Growing Adoption in the Enterprise
  17. 17. Growing Recognition
  18. 18. DB-engines Ranking of Database Categories • Graph DBMS • Key-value stores • Document stores • Wide column store • RDF stores • Time stores • Native XML DBMS • Object oriented DBMS • Multivalue DBMS • Relational DBMS Graph DB Growing popularity of Graphs 2013 2014 2015 2016 2017 2018 2019
  19. 19. How do others solve graph problems? Neo4j Use Case Examples
  20. 20. https://neo4j.com/customers/
  21. 21. https://neo4j.com/use-cases/
  22. 22. How do we choose to tackle graph problems? Neo4j PHILOSOPHY
  23. 23. By Developers For Developers 80+% of our customers start as individual developers I’ve been playing with @neo4j today and I must say, even though I’ve only about scratched the surface of it, I love it. And about Cypher: I can’t believe how much sense it makes and how easy I got started writing queries. Plus the Desktop app was a very pleasant experience. After learning Neo4j, it’s amazing to me how much better a graph data structure suits real-world relationship models. Bye bye tricky SQL joins! Good god @neo4j's intro console with the movie example is literally the best database engine intro I have ever seen <applause>
  24. 24. What do you want?
  25. 25. Here's what we've heard Build Faster Scale Bigger Launch EasierBe More Secure
  26. 26. 10y ago Neo4j 1.0
  27. 27. The Year of the Graph
  28. 28. We just launched the best platform for solving graph problems Neo4j 4.0
  29. 29. The Six Pillars of Neo4j Database
  30. 30. What’s New in Neo4j 4.0 Easy Management Unlimited Scale Granularsecurity Fast to develop
  31. 31. What’s New in Neo4j 4.0 Multi-DatabaseNeo4j Fabric Schema-Based Security Reactive Database
  32. 32. 4.0 now available https://neo4j.com/download-center/ https://neo4j.com/whats-new/
  33. 33. Neo4j Aura Fully Managed  native graph database in the cloud
  34. 34. Always On Availability For Cloud Native Applications Elastic Scalability
  35. 35. Neo4j Inc. Confidential Perspective Search Visualization Exploration Inspection Editing 35 Business view of the graph Departmental views • Hiding PII • Styling Near-natural Language Search Full-text search • Graph patterns • Custom Search Phrases GPU Accelerated Visualization High performance physics & rendering Direct graph interactions Select, expand, dismiss, find paths Node + Relationship details Browse from neighbor to neighbor Create, Connect, Update Code-free graph changes Neo4j Bloom Overview
  36. 36. Neo4j Inc. Confidential Try Bloom with Neo4j Enterprise Edition 36 Neo4j Sandbox - a Neo4j interactive experience ● Limited time cloud instance ● Bloom enabled ● Links to Bloom videos and docs ● Explore our fraud demo dataset https://neo4j.com/bloom/ Neo4j Desktop - a Neo4j developer’s toolchest ● Install on your local machine ● Includes developer license for Neo4j Enterprise Edition ● Activate Bloom with a trial key from your Neo4j rep ● Connect to any local or remote database https://neo4j.com/download/
  37. 37. Neo4j Inc. Confidential Get Bloom with the Startup Program 37 https://neo4j.com/startup-program/
  38. 38. Remember Neo4j Labs? Incubating the Next Generation of Graph Developer Tooling Announced at NODES conference! neo4j.com/labs
  39. 39. Graph Algorithms plugin becomes the Neo4j Graph Data Science Library Graduated Summa Cum Laude!
  40. 40. Neo4j provides the first, enterprise-grade graph data science platform with a practical approach to increase your predictive accuracy with the data you already have. 4 0 First graph data science platform with enterprise-grade features and scale   Practical, easy-to-use graph data science and analytics for a faster time to value Increase your predictive accuracy with the data you already have
  41. 41. That covers the intro!
  42. 42. ENJOY THE REST OF THE DAY!
  43. 43. Neo4j: Nouveautés Nicolas ROUYER Avant-vente Neo4j, France
  44. 44. Evolution des bases de données 1960 1970 1980 1990 2000 2010 2020 2030 Hierarchical Relational (+ Object Relational and Object Mapping) Desktop Object NoSQL/NOSQL/NewSQL/Specialised Graph Databases Cloud Databases
  45. 45. Evolution des bases de données 1960 1970 1980 1990 2000 2010 2020 2030 BASES DE DONNEES RELATIONNELLES CLASSIQUES Stocker et récupérer des données 2-3 sauts dans une requête
  46. 46. Evolution des bases de données 1960 1970 1980 1990 2000 2010 2020 2030 2-3 sauts dans une requête TECHNOLOGIE BIG DATA Agréger et filtrer des données 1 saut dans une requête BASES DE DONNEES RELATIONNELLES CLASSIQUES Stocker et récupérer des données
  47. 47. Evolution des bases de données 1960 1970 1980 1990 2000 2010 2020 2030 2-3 sauts dans une requête 1 saut dans une requête Des millions de sauts BASES DE DONNEES RELATIONNELLES CLASSIQUES Stocker et récupérer des données TECHNOLOGIE BIG DATA Agréger et filtrer des données Connecter les données
  48. 48. Connecter les données Evolution des bases de données 2-3 hops in a query 1 hop in a query Des millions de sauts Stockage et extraction en temps réel Traitement parallèle par lots Graphe de connaissances temps réel “Our Neo4j solution is literally thousands of times faster than the prior MySQL solution, with queries that require 10-100 times less code” Volker Pacher, Senior Developer BASES DE DONNEES RELATIONNELLES CLASSIQUES Stocker et récupérer des données TECHNOLOGIE BIG DATA Agréger et filtrer des données
  49. 49. Ce qui différencie Neo4j Adjacence hors indexes A l’écriture Les données sont connectées au moment-même où elles sont stockées A la lecture Extraction ultra-rapide des données et des relations par saut de pointeurs
  50. 50. Exigences des applications 4.0 Passage à l’échelle illimité IA et apprentissage Dévoiler le contexte Sécurité et confidentialité des données Horizontalement et verticalement Intégrer la science des données dans les systèmes opérationnels Utiliser la richesse des données pour révéler le contexte des données et les relations de cause à effet en temps réel Assurer la protection des données et le respect de la réglementation
  51. 51. • Au sein d’une infrastructure partagée, les données et les transactions sont physiquement isolées • Plusieurs bases de données fonctionnent en parallèle sur un même cluster Neo4j (ou sur un même serveur autonome) • Gestion agile “cloud-friendly” : déplacement facile et rapide de bases de données d’un cluster à un autre Multi-tenancy avec Neo4j 4.0
  52. 52. Cas d’usage: • Multi-tenancy: Une même instance de Serveur Neo4j ou de Cluster Neo4j Cluster peut servir différents groupes d’utilisateurs/clients au sein d’une organisation. • Rapid Test/Développement/Déploiement: Les DBAs et développeurs peuvent créer plusieurs copies de la même base de données. • Scalabilité: Les données sont réparties dans des structures séparées physiquement. • Elasticité “Cloud-Friendly” : Les bases de données peuvent être associées à un stockage de type cloud et être facilement détachées d’un serveur pour être rattachées à un autre. La base de données system : Référentiel interne contenant les informations système, disponible pour toute les bases de données (“single” ou cluster) Bases de données multiples Cas d’usage & Commandes Commandes d’administration: • CREATE|DROP|START|STOP DATABASE name User commands: • HTTP API: http://server:port/.../database • Browser & Cypher Shell: :USE database • Drivers: Session(database) • Browser:
  53. 53. La fondation : Le Cluster Causal Neo4j 4.0 - Passage à l’échelle illimité L’évolution : Fabric
  54. 54. Base de données ACID en mode cluster basé sur le protocole RAFT: - Des transactions de graphe avec Cohérence ACID - Garantit l’intégrité au fil du temps Clustering Causal avec Neo4j Replica Servers Query, View Core Servers Synced Cluster
  55. 55. Modélisation Neo4j avec le Multi-Database Vous Modélisation et stockage des graphes dans des bases de données Neo4j dédiées, selon vos besoins métier Neo4j Distribution et parallélisation des requêtes sur ces différentes bases de données Neo4j lorsque vous devez regrouper des résultats
  56. 56. Passage à l’échelle illimité pour Neo4j en ajoutant la scalabilité horizontale à la puissance du modèle existant de scalabilité verticale. SHARDING: exploiter un seul graphe étendu FEDERATION: interroger des graphes disjoints Introduction au Sharding & à la fédération de graphes
  57. 57. • Exécution en parallèle de requêtes sur plusieurs bases de données graphes, en combinant ou en agrégeant les résultats. • Chaînage des requêtes provenant de différentes bases de données graphe pour produire des analyses temps réel avancées. Requêtes Cypher Multi-Graphes SQL MATCH (boss)-[:MANAGES*0..3]->(sub), (sub)-[:MANAGES*1..3]->(report) WHERE boss.name = “John Doe” RETURN sub.name AS Subordinate, count(report) AS Total Cypher en Neo4j 3.5 UNWIND corporate.graphIds() AS gid CALL { USE corporate.graph( gid ) MATCH (boss)-[:MANAGES*0..3]->(sub), (sub)-[:MANAGES*1..3]->(report) RETURN boss.name AS Boss, sub.name AS Subordinate, count(report) AS Total } RETURN Boss, Subordinate, Total ORDER BY Total Cypher en Neo4j 4.0
  58. 58. http://ldbcouncil.org/developer/snb and https://neo4j.com/fosdem20 Neo4j 4.0 L’extensibilité en action Distribution du benchmark “LDBC Social Network” • 1-shard pour le graphe Persons • N-shards pour le graphe Forums
  59. 59. http://ldbcouncil.org/developer/snb and https://neo4j.com/fosdem20 Neo4j 4.0 L’extensibilité en action Distribution du benchmark “LDBC Social Network” Latence réduite jusqu’à 300x Amélioration de performances jusqu’à 10x Premiers résultats !
  60. 60. BobJoe • Conçue pour de nouveaux cas d’usage - PII, credit card, patient information, etc. • Basée sur le Contrôle d’accès en fonction des rôles (RBAC) pour les graphes • Restrictions sur les données pouvant être accédées par différents utilisateurs, appliquées à toutes les interactions avec la base de données • Vue sécurité implicite sur les données pour chaque utilisateur via des définitions de sécurité basées sur le schéma • Des permissions Grant/Deny pour les opérations sur les données TRAVERSE, READ ou WRITE, basées sur les labels, les types de relations ou la base de données et sur les noms des propriétés • Les règles de sécurité sont dupliquées sur l’ensemble du cluster grâce aux rôles associés aux utilisateurs Sécurité & confidentialité des données Baseline_Personnel _Security_Standard Security_Check Counter_Terrorism _Check Developed_Vetting
  61. 61. Sécurité & confidentialité des données en pratique
  62. 62. • L’agent du centre d’appel a besoin du nom du médecin mais ne doit pas avoir accès au diagnostic • Le médecin doit pouvoir consulter les dossiers des patients et les diagnostics Contraintes
  63. 63. Role-Based Access Control - Exemple // Doctors get wide-ranging access GRANT ACCESS ON DATABASE healthcare TO doctor; GRANT TRAVERSE ON GRAPH healthcare TO doctor; GRANT READ {*} ON GRAPH healthcare TO doctor; GRANT WRITE ON GRAPH healthcare TO doctor; // Agents get narrower access GRANT ACCESS ON DATABASE healthcare TO agent; GRANT TRAVERSE {*} ON GRAPH healthcare TO agent; GRANT READ {Name} ON GRAPH healthcare NODES Doctor TO agent; GRANT READ {Name} ON GRAPH healthcare NODES Patient TO agent; MATCH (:CallcenterAgent {name: 'Alice'}) <-[:CALLED]-(p:Patient)-[:HAS_DIAGNOSIS]-(dia) <-[:ESTABLISHED]-(d:Doctor) RETURN p.name, d.name, dia.name;
  64. 64. Programmation Reactive avec Neo4j 4.0
  65. 65. Architecture Reactive • Contrôle des flux dans toute la chaîne, permettant à l’application cliente de contrôler entièrement la production et le flux des enregistrements dans un résultat • Exécution Synchrone/Asynchrone • Basée sur les “reactive streams” avec une librairie backpressure non-bloquante • Les applications clientes peuvent extraire ou rejeter tout le résultat ou N éléments • Elles peuvent aussi élégamment annuler l’extraction des résultats • Exposée via une API reactive dans les Drivers Neo4j v4.0 • Cas d’Usage : • Requêtes longues / résultats volumineux • Résultats paginés • Clients légers
  66. 66. String query = "MATCH (a:Person) RETURN a.name"; try (Session session = driver.session()) { StatementResult result = session.run(query); while (result.hasNext()) { Record record = result.next(); String name = record.get(0).asString(); if (name.equals("Emil Eifrem")) { break; // Looks ok, but whoops! } System.out.println(name); } } Neo4j 3.x versus 4.0 String query = "MATCH (a:Person) RETURN a.name"; return Flux.using(driver::rxSession, session -> { RxStatementResult result = session.run(query); return Flux.from(result.records()) .limitRate(10) .map(record -> record.get(0).asString()) .takeUntil(name -> name.equals("Emil Eifrem")) .doOnNext(System.out::println) .then( /* discard example records */ ); }, RxSession::close);
  67. 67. Un investissement inédit dans les bases graphe Basée sur une fondation Neo4j native et robuste, Neo4j 4.0 apporte: La scalabilité illimitée avec le sharding & la fédération Une architecture 100% reactive adaptée aux applications modernes Des contrôles de sécurité granulaires pour la sécurité et la vie privée Une souplesse de déploiement avec le multi-base de données Neo4j 4.0
  68. 68. https://neo4j.com/download Utilisez Neo4j 4.0 dès maintenant
  69. 69. 69 Neo4j Desktop D’une simple idée de graphe à Neo4j en production
  70. 70. 70 Neo4j Desktop Les outils indispensables - Neo4j Browser pour éditer les requêtes Cypher - Neo4j Bloom, l’interface intuitive d’exploration de graphes - Les outils des Neo4j Labs : Neo4j ETL, Halin, Query Log Analyzer, NEuler - Et bien d’autres applications fantastiques de Kineviz, yWorks, et autres !
  71. 71. 71 Neo4j Desktop Connexion aux bases de données Neo4j, où qu’elles soient - instances uniques locales de développement et d’expérimentation - déploiements sur site dans des environnements de test et d’intégration - déploiements en production dans le cloud avec Neo4j Aura
  72. 72. 72 Neo4j Desktop Facilite le travail des développeurs en 2020 - intégration avec le système de fichiers local - outils CLI tooling pour s’intégrer avec vos plates-formes de build - modèles de projets pour développer des applications - prototypage facile d’applications avec interface utilisateur - développement GraphQL de qualité - excellente intégration avec Aura
  73. 73. Flexible Neo4j Aura Fiable Orienté développeur ● Zéro Maintenance ● Scalabilité à la demande ● Tarification simple, basée sur le capacitaire ● 100% haute dispo, redémarrage automatique, configuration en mode cluster ● Intégrité & Durabilité des données ● Sécurité et cryptage de bout en bout ● Performance graphe native ● Le langage d’interrogation de graphes le + populaire au monde ● Vaste couverture des langages - drivers pour Java, .NET, JavaScript, Python, Go, Spring, etc.
  74. 74. Visualisation de graphes avec Neo4j
  75. 75. Visualisation de Graphes avec Neo4j Neo4j Bloom Sur étagère avec Neo4j Exclusivement sur les bases graphes Neo4j Centré sur des besoins ad-hoc d’exploration de graphes Paradigme d’exploration “Search first” Pour les data analysts, data scientists et les développeurs Boîtes à outils de visualisation Editeurs tiers e.g. Ogma, Keylines, vis.js, d3.js, sigma.js, yFiles Besoin de développement d’applications custom ou d’intégration de visualisations Parfois supportées par des fournisseurs Développements spécifiques parfois nécessaires Offrent des APIs robustes pour un contrôle souple de l’expérience utilisateur Pour les développeurs d’applications Outils de BI Supportés par des éditeurs tiers e.g. Tableau, Power BI, Qlik Création de rapports et tableaux de bord associant diverses sources de données et de nombreux types de visualisation Non optimisés pour les données de graphe - requièrent un connecteur Neo4j spécifique Pour les data analysts et utilisateurs métier Apps de visualisation de graphes Supportés par des éditeurs tiers e.g. Linkurious, Kineviz, Graphileon Purpose-built applications for specific domains and graph visualization needs Supporte plusieurs modèles graphe & sources de données Capacité de personnalisation et d’intégration Pour les data analysts, data scientists et utilisateurs métier Peu d’expertise technique Forte implication technique + #utilisateurs +++ #utilisateurs Apprentissage autonome Gros effort d’encadrement
  76. 76. Neo4j BI Connector Tableau JDBC Neo4j BI Connector SQL Cypher Business/Data Analyst Investigator Data Scientist
  77. 77. Perspective Recherche Visualisation Exploration Inspection Edition Explorer & Collaborer avec Neo4j Bloom Explorer visuellement les Graphes Prototyper + rapidement Collaboration entre équipes
  78. 78. Neo4j Bloom - Interface Utilisateur Intuitive Recherche avec auto-complétion / suggestions automatiques Couleurs, tailles et icônes ajustables Visualisation, Exploration et Découverte Panorame, Zoom et Sélection Navigateur et éditeur de propriétés
  79. 79. Nouveautés Bloom 1.2 Couleurs et tailles flexibles Style utilisant les propriétés Développement du graphe par type de relation ou par type de voisin Recherche insensible à la casse Spécification des types de paramètres Export de données CSV
  80. 80. Recettes & Analytics orientées graphe ML & IA augmentés par les graphes Graph Data Science La GDS est une approche scientifique pour acquérir des connaissances sur les relations et les structures des données, généralement pour alimenter des prévisions Elle utilise des méthodes pluridisciplinaires incluant les requêtes, les statistiques, les algorithmes et l'apprentissage automatique. ` Répondre à des questions spécifiques afin de mieux comprendre les connections entre données actuelles et historiques Les approches incluent généralement des requêtes et des algorithmes globaux et l'utilisation directe des résultats Modèles d’entraînement (ML) fondés sur des données “graphes” Utilisés pour simuler des décisions humaines et probabilistes au sein d’une solution/application (Système IA)
  81. 81. Optimisée pour les Analytics Exploitez des structures de données personnalisées optimisées pour les traversées et l’agrégation globales Partitionnez et refactorez votre graphe pour des cas d’utilisation spécifiques Des Algorithmes pour créer de la connaissance Algorithmes robustes fortement parallélisés et applicables à plusieurs milliards de noeuds Accès rapide à des dizaines de tutoriels / expérimentations Interface intuitive API drastiquement simplifiée et standardisée permettant des configurations personnalisées Documentation, formation, et exemples disponibles => montée en compétences facile La librairie Graph Algos devient la Produit Supporté, en Développement Dynamique & Continu Graph Data Science Library
  82. 82. Quels algorithmes? Parallel BFS Parallel DFS Shortest Path Single Source Shortest path All Pairs Shortest Path Minimum Spanning Tree A* Shortest Path Yen’s K-Shortest Path Minimum Spanning Tree Random Walk Degree Centrality Closeness Centrality (inc. harmonic, Dangalchev, Wasserman & Faust) Betweenness Centrality Approx. Betweenness Centrality Page Rank Personalized Page Rank ArticleRank Eigenvector Centrality Triangle Count Clustering Coefficients Connected Components (aka Union Find) Strongly Connected Components Label Propagation Louvain Modularity Balanced Triad Adamic Adar Common Neighbours Preferential Attachment Resource Allocations Same Community Total Neighbours Euclidean Distance Cosine Similarity Jaccard Similarity Overlap Similarity Pearson Similarity Approximate KNN Pathfinding & Search Centrality / Importance Community Detection Link Prediction Similarity
  83. 83. Graph Data Science en 2020 Projections analytiques: - Structure de données spécialisée pour les algorithmes, supporte des milliards de noeuds - Loaders Cypher pour l’expérimentation - Remodeler, combiner, agréger et dédupliquer rapidement vos données transactionnelles - Prise en charge des noeuds multi-labels, des types de relations et des propriétés - Gestion parallèle en mémoire d’algorithmes de graphes simultanés - Réduction drastique de l’empreinte mémoire Algorithmes de graphes & outils : - >40 algorithmes dans 5 catégories: détection de communauté, centralité, similarité, parcours et prédiction de lien - Algorithmes complémentaires (génération de graphes, encodage à chaud, random walk) - Aperçu de nouvelles implémentations (namespaces alpha & beta) - Les algorithmes scalables supportés comprennent le seeding, le déterminisme et les calculs incrémentiels - Mode d’estimation des besoins en mémoire
  84. 84. • Graph Data Science Library • Bloom 1.2 • rule-based styling • https://neo4j.com/sandbox Sandbox GDSL disponible
  85. 85. Tout sur Neo4j 4.0 ! Déjà disponibles : • Java, .NET, JavaScript, Spring Data Neo4j Drivers ✅ • Neo4j Desktop ✅ • Neo4j Browser ✅ Travaux en cours : • Python (T2) & Go (T4) - Coming! • Graph Data Science Library (Q2) - Coming! • Bloom Q2 - Coming! • Aura (Q2) - Coming!
  86. 86. MERCI ! https://www.linkedin.com/in/nicolas-rouyer-neo4j @rrrouyer
  87. 87. Les graphes pour l’IA et le Machine Learning A Path for Data Science Dr. Jesús Barrasa EMEA Sales Engineering Director @BarrasaDV
  88. 88. Quel salaire va augmenter le plus ?
  89. 89. Ce n’est pas ce que vous savez…
  90. 90. … mais qui vous connaissez … …et où ils sont dans le reseau
  91. 91. Photo by Helena Lopes on Unsplash La structure réseau a une grande puissance predictive sur la remuneration et les promotions • Personnes proches des trous structurels • Personnes “mal adaptees” “Organizational Misfits and the Origins of Brokerage in Intrafirm Networks” A. Kleinbaum “Structural Holes and Good Ideas” R. Burt
  92. 92. Les relations et la structure réseau Les plus puissants prédicteurs du comportement “Research into networks reveal that, surprisingly, the most connected people inside a tight group within a single industry are less valuable than the people who span the gaps ...” 94 “…jumping from ladder to ladder is a more effective strategy, and that lateral or even downward moves across an organization are more promising in the longer run . . .”
  93. 93. Ce sont des notions contre-intuitives 95
  94. 94. …que j'espere ont piqué votre curiosité 96
  95. 95. • Structure réseau et prédictions • Neo4j et la science des données orientée graphe (GDS) • Étapes de la GDS Vue d’ensemble
  96. 96. Les relations Sont les + puissants prédicteurs du comportement “Increasingly we're learning that you can make better predictions about people by getting all the information from their friends and their friends’ friends than you can from the information you have about the person themselves” James Fowler 99
  97. 97. Popularité croissante des bases de données graphe Tendance depuis 2013 DB-Engines.com 10 0
  98. 98. Les graphes accélèrent l’innovation en IA 101 4,000 3,000 2,000 1,000 0 2011 2012 2013 2014 2015 2016 2017 2018 Citations dans Dimension Knowledge System graph neural network graph convolutional graph embedding graph learning graph attention graph kernel graph completion Articles de recherche en IA utilisant les graphes Source: Dimension Knowledge System
  99. 99. Infractions financières Recommandations Cybersécurit é Maintenance prédictive Segmentation Clientèle Prédiction d’attrition Recherche & Gestion des données de référence Applications en science des données orientée graphe EXEMPLES Découverte de médicaments 102
  100. 100. De Meilleures Prédictions Avec Les Graphes Utilisez les Données Dont Vous Disposez Déjà • Les modèles actuels en science des données négligent la structure réseau • Les Graphes apportent des caractéristiques fortement prédictibles aux modèles ML, améliorant leur précision • Les prédictions basées sur les relations sont irréalisables sans le contexte graphe Pipeline d’Apprentissage Automatisé 103
  101. 101. Prise en main 104
  102. 102. Construction d’un modèle ML orienté graphe Graph Transactions Graph Analytics Agrégation & nettoyage de données hétérogènes Création de modèles prédictifs Unification des graphes Ingénierie des caractéristiques SQL Parquet JSON CSV FILE and more... 105 Sources de Données Plate-forme de Graphe native Apprentissage automatisé
  103. 103. Science des données orientée graphe: Trajectoire 106
  104. 104. Les apports de la science des données orientée graphe Meilleures décisions Graphes de connaissance Précision accrue Ingénierie des caractéristiques connectées Plus de confiance et de pertinence Apprentissage orienté graphe nativement 107
  105. 105. Science des données orientée graphe - Trajectoire Graphes de connaissance axés recherche Ingénierie des caractéristiques axée recherche Ingénierie des caractéristiques augmentée par les algorithmes de graphe Projections de graphes Réseaux de neurones orientés graphe Graphes de connaissance Ingénierie des caractéristiques orientée graphe Apprentissage nativement orienté graphe 108
  106. 106. Science des données orientée graphe - Trajectoire Graphes de connaissance axés recherche Ingénierie des caractéristiques axée recherche Ingénierie des caractéristiques augmentée avec les algorithmes de graphe Projections de graphe Réseaux de neurones orientés graphes 109
  107. 107. has become... 110 Plusieurs graphes d’information financière superposés Inclut des données d’entreprise avec relations internes, des fils d’information externes, et une pondération personnalisable Graphes de connaissance axés recherche Relier les points
  108. 108. Graphes de connaissance axés recherche Relier les points Tableaux de bord et outils • Risques de crédit • Risques liés aux placements • Recommandations portefeuille personnalisées renommée... 111 1 Week Snapshot: 800,000 shortest path calculations for the ranked newsfeed. Each calculation optimized to take approximately 10 ms
  109. 109. Science des données orientée graphe - Trajectoire Graphes de connaissance axés recherche Ingénierie des caractéristiques axée recherche Graph Algorithm Feature Engineering Projections de graphes Réseaux de neurones orientés graphe 112
  110. 110. Les réseaux de télécommunications sont facilement représentés sous forme de graphes. Ingénierie des caractéristiques axée recherche Prédiction d’attrition - Telecom
  111. 111. Requêtes performantes dans un graphe natif Ingénierie des caractéristiques axée recherche Prédiction d’attrition - Telecom Prédiction d’attrition. La recherche a montré que des caractéristiques simples conçues à la main sont fortement prédictives • Combien d'appels ou de SMS un compte a-t-il effectués ? • Combien parmi ses contacts ont résilié leur contrat ?
  112. 112. 11 5 Ingénierie des caractéristiques axée recherche Prédiction d’attrition - Telecom Ajout aux données tabulaires de caractéristiques connectées Ces caractéristiques sont les résultats de requêtes dans le graphe Raw Data: Call Detail Records Input Data: CDR Sample Call Stats by: Incoming Outgoing Per day Short durations In-network Centrality SMS’s … Test/Training Data Caller ID Receiver ID Time Duration Location … Caller ID Receiver ID Time Duration Location … Identify Early Predictors: Select simple, interpretable metrics that are highly correlated w/churn Churn Score: Supervised learning to predict binary & continuous measures of churn Output/Results Random Sample Selection Feature Engineering Feature Selection Machine Learning
  113. 113. 11 6 Ingénierie des caractéristiques axée recherche Prédiction d’attrition - Telecom Précision de 89.4% dans la prédiction d’attrition d’un abonné ! Raw Data: Call Detail Records Input Data: CDR Sample Call Stats by: Incoming Outgoing Per day Short durations In-network Centrality SMS’s … Test/Training Data Caller ID Receiver ID Time Duration Location … Caller ID Receiver ID Time Duration Location … Identify Early Predictors: Select simple, interpretable metrics that are highly correlated w/churn Churn Score: Supervised learning to predict binary & continuous measures of churn Output/Results Random Sample Selection Feature Engineering Feature Selection Machine Learning Source: Behavioral Modeling for Churn Prediction by Khan et al, 2015
  114. 114. Science des données orientée graphe - Trajectoire Graphes de connaissance axés recherche Ingénierie des caractéristiques axée recherche Ingénierie des caractéristiques augmentée par les algorithmes de graphe Projections de graphes Réseaux de neurones orientés graphe 117
  115. 115. Algorithmes de graphe • Un sous-ensemble d’algorithmes de science des données provenant de la science des réseaux ; les algorithmes de graphe permettent d’analyser la structure des réseaux • Les algorithmes de graphe sont très demandés, neo4j est la 1ère solution pour les exécuter de façon industrielle • Des recherches approfondies montrent que les algorithmes de graphe rendent les modèles de machine learning plus précis dans des cas d'utilisation clés • Les algorithmes de graphe sont généralement non supervisés et divisés en catégories : Recherche de chemins Centralité Détection de communautés Prédiction de lien Similarité
  116. 116. 11 9 Algorithmes de graphe - utilisation Explorer, Planifier, Mesurer Déterminer des modèles significatifs et planifier des structures optimales Évaluer les résultats et fixer un seuil pour une prédiction Sélection de variables pour le Machine Learning Les mesures deviennent des variables à entraîner 1st Node 2nd Node Common Neighbors Preferential Attachment Label 1 2 4 15 1 3 4 7 12 1 5 6 1 1 0
  117. 117. Ingénierie des caractéristiques orientée graphe L’ingénierie des caractéristiques est la façon dont nous combinons et traitons les données pour créer de nouvelles caractéristiques plus significatives, comme des agrégats ou des mesures de connectivité Apport de caractéristiques +descriptives Influence, Relations, Communautés EXTRACTION 120
  118. 118. Ingénierie des caractéristiques orientée graphe Catégories et Algorithmes Recherche de chemin Trouve les chemins optimaux ou évalue la disponibilité” et la qualité des itinéraires Centralité / Importance Détermine l’importance de noeuds spécifiques du graphe Détection de communauté Détecte les possibilités de partition ou d’agrégation de groupes Prediction heuristique de lien Estime la probabilité que des noeuds forgent une relation Évalue à quel point les noeuds se ressemblent Similarité 121
  119. 119. • Degree Centrality • Closeness Centrality • CC Variations: Harmonic, Dangalchev, Wasserman & Faust • Betweenness Centrality • Approximate Betweenness Centrality • PageRank • Personalized PageRank • ArticleRank • Eigenvector Centrality • Triangle Count • Clustering Coefficients • Connected Components (Union Find) • Strongly Connected Components • Label Propagation • Louvain Modularity • Balanced Triad (identification) • Euclidean Distance • Cosine Similarity • Jaccard Similarity • Overlap Similarity • Pearson Similarity Algorithmes de graphes dans Neo4j • Parallel Breadth First Search • Parallel Depth First Search • Shortest Path • Single-Source Shortest Path • All Pairs Shortest Path • Minimum Spanning Tree • A* Shortest Path • Yen’s K Shortest Path • K-Spanning Tree (MST) • Random Walk • Degree Centrality • Closeness Centrality • CC Variations: Harmonic, Dangalchev, Wasserman & Faust • Betweenness Centrality • Approximate Betweenness Centrality • PageRank • Personalized PageRank • ArticleRank • Eigenvector Centrality • Triangle Count • Clustering Coefficients • Connected Components (Union Find) • Strongly Connected Components • Label Propagation • Louvain Modularity • Balanced Triad (identification) • Euclidean Distance • Cosine Similarity • Jaccard Similarity • Overlap Similarity • Pearson Similarity Recherche de chemins Centralité / Importance Détection de communautés Similarité Prédiction de lien • Adamic Adar • Common Neighbors • Preferential Attachment • Resource Allocations • Same Community • Total Neighbors 122
  120. 120. Les caractéristiques “graphe” améliorent la précision Connected components pour identifier les graphes disjoints qui partagent des identifiants PageRank pour mesurer l’influence et le volume des transactions Louvain pour identifier les communautés qui interagissent fréquemment Jaccard pour mesurer la similarité des comptes Ingénierie des caractéristiques augmentée par les algorithmes de graphe Détection de la fraude financière Les grandes institutions financières disposent de mécanismes pour identifier la fraude par le biais d’heuristiques et de modèles 123
  121. 121. Science des données orientée graphe - Trajectoire Graphes de connaissance axés recherche Ingénierie des caractéristiques axée recherche Ingénierie des caractéristiques augmentée par les algorithmes de graphe Projections de graphes Réseaux de neurones orientés graphe 124
  122. 122. Les projections transforment les graphes en vecteurs de caractéristiques, ou ensemble de vecteurs, qui décrivent la topologie, la connectivité ou les propriétés des noeuds et des relations dans le graphe Projections de graphes • Projection Vertex/node : décrit la connectivité de chaque noeud • Projection Path: traversées dans le graphe • Projections Graph : encoder un graphe entier en un unique vecteur Phases of Deep Walk Approach 125
  123. 123. Projections de graphe RECOMMANDATIONS Raisonnement explicite utilisant les graphes de connaissance pour la recommandation de musique 126 Pop Folk Castle on the Hill ÷ Album Ed Sheeran I See FireTony Shape of You SungBy IsSingerOf ContainSongIsSongOf Interact IsSingerOf Genre Genre Genre InteractedBy Produce WrittenBy ListenedTo Derek Recommendations for Derek 0.06 0.24 0.24 0.26 0.03 0.30 .63
  124. 124. Science des données orientée graphe - Trajectoire Graphes de connaissance axés recherche Ingénierie des caractéristiques axée recherche Ingénierie des caractéristiques augmentée par les algorithmes de graphe Projections de graphes Réseaux de neurones orientés graphe 127
  125. 125. “The idea is that graph networks are bigger than any one machine-learning approach. Graphs bring an ability to generalize about structure that the individual neural nets don't have.” "La cognition humaine part du principe que le monde est composé d’objets et de relations” 128 "Les calculs sur les graphes offrent un potentiel inductif bien supérieur aux couches convolutives et récurrentes”
  126. 126. Apprentissage nativement orienté graphe: La prochaine révolution de l’IA 129 Implémenter l’apprentissage automatisé dans un environnement de graphes permet de créer des solutions d’IA +précises, +flexibles et +fiables Relational inductive biases, deep learning, and graph networks L’apprentissage nativement orienté graphe fait sortir l’IA de ses boîtes noires rigides pour créer des modèles extrêmement flexibles et transparents. Permet aux utilisateurs d’ingérer des données connectées Apprend tout en sauvegardant les états transitoires Produit les résultats sous forme de graphes Permet aux experts de suivre, comprendre et valider les chemins de prise de décision de l’IA Apprentissage + précis avec - de données basé sur les caractéristiques importantes
  127. 127. Science des données orientée graphe - trajectoire Graphes de connaissance axés recherche Ingénierie des caractéristiques axée recherche Ingénierie des caractéristiques augmentée par les algorithmes de graphe Projections de graphes Réseaux de neurones orientés graphe Graphes de connaissance Ingénierie des caractéristiques orientée graphe 130 Apprentissage nativement orienté graphe
  128. 128. Science des données orientée graphe aller plus loin dans l'analyse de vos données 131
  129. 129. Ressources Utilisateurs Métier – Livre blanc IA neo4j.com/use-cases/ artificial-intelligence-analytics/ Data Scientists et Développeurs neo4j.com/sandbox neo4j.com/developer community.neo4j.com neo4j.com/graph-algorithms-book 132
  130. 130. 13 3 “AI is not all about Machine Learning. Context, structure, and reasoning are necessary ingredients, and Knowledge Graphs and Linked Data are key technologies for this.” Wais Bashir Managing Editor, Onyx Advisory
  131. 131. 134 Dr. Jesús Barrasa EMEA Sales Engineering Director @BarrasaDV

×