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.
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Digital GraphTour Paris - 26 March, 2020
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. 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
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. 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. Graphs have been universally recognized as a great solution
for specific types of problems
- Graph Problems -
and
recognition is GROWING!
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. 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?
?
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. 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. More and more people recognize their
graph problems for what they are
STATE OF THE GRAPH
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
22. How do we choose to tackle graph problems?
Neo4j PHILOSOPHY
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>
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. 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/
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
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. 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. 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. 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. 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. 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. 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. • 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. 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. La fondation :
Le Cluster Causal
Neo4j 4.0 - Passage à l’échelle illimité
L’évolution :
Fabric
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. 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. 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. • 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
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
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. 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;
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. 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. 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
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
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
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. 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.
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
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. 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.
81. 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)
82. 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
83. 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
84. 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
92. … mais qui vous connaissez …
…et où ils sont dans le
reseau
93. 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
94. 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 . . .”
97. • Structure réseau et prédictions
• Neo4j et la science des données
orientée graphe (GDS)
• Étapes de la GDS
Vue d’ensemble
98.
99. 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
103. 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
105. 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é
107. 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
108. 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
109. 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
110. 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
111. 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
112. 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
113. 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
114. 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 ?
115. 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
116. 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
117. 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
118. 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é
119. 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
120. 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
121. 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
123. 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
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
124
125. 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
126. 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
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
127
128. “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”
129. 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
130. 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
131. Science des données orientée graphe
aller plus loin
dans l'analyse de vos données
131
132. 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
133. 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