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 ?
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
Welcome to
GRAPHTOUR
DIGITAL 2020!
Rik Van Bruggen
rik@neo4j.com
@rvanbruggen
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
Let's talk about
"The Graph Problem"
Problem
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.
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.
Graphs have been universally recognized as a great solution
for specific types of problems
- Graph Problems -
and
recognition is GROWING!
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
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?
?
Look at this data again…
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
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!
More and more people recognize their
graph problems for what they are
STATE OF THE GRAPH
A Vibrant
Growing
Community
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
Growing
Recognition
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
How do others solve graph problems?
Neo4j
Use Case
Examples
https://neo4j.com/customers/
https://neo4j.com/use-cases/
How do we choose to tackle graph problems?
Neo4j PHILOSOPHY
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>
What do you
want?
Here's what
we've heard Build Faster Scale Bigger Launch EasierBe More Secure
10y ago
Neo4j 1.0
The Year of the Graph
We just launched the best platform for solving graph problems
Neo4j 4.0
The Six Pillars of Neo4j Database
What’s New
in Neo4j 4.0 Easy
Management
Unlimited Scale Granularsecurity Fast to develop
What’s New
in Neo4j 4.0 Multi-DatabaseNeo4j Fabric
Schema-Based
Security
Reactive
Database
4.0 now available
https://neo4j.com/download-center/
https://neo4j.com/whats-new/
Neo4j Aura
Fully Managed 
native graph database
in the cloud
Always On Availability For Cloud Native
Applications
Elastic Scalability
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
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/
Neo4j Inc. Confidential
Get Bloom with the Startup Program
37
https://neo4j.com/startup-program/
Remember
Neo4j Labs?
Incubating the Next Generation
of Graph Developer Tooling
Announced at NODES conference!
neo4j.com/labs
Graph
Algorithms
plugin
becomes the
Neo4j Graph
Data Science
Library
Graduated
Summa Cum Laude!
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
That covers the intro!
ENJOY THE REST OF THE DAY!
Neo4j:
Nouveautés
Nicolas ROUYER
Avant-vente Neo4j, France
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
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
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
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
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
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
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
• 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
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:
La fondation :
Le Cluster Causal
Neo4j 4.0 - Passage à l’échelle illimité
L’évolution :
Fabric
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
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
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
• 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
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
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 !
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
Sécurité & confidentialité des données en pratique
• 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
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;
Programmation Reactive avec Neo4j 4.0
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
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);
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
https://neo4j.com/download
Utilisez Neo4j 4.0 dès maintenant
69
Neo4j Desktop
D’une simple idée de graphe à Neo4j en production
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
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
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
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.
Visualisation de graphes
avec Neo4j
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
Neo4j BI Connector
Tableau
JDBC
Neo4j
BI Connector
SQL
Cypher
Business/Data Analyst
Investigator
Data Scientist
Perspective
Recherche
Visualisation
Exploration
Inspection
Edition
Explorer & Collaborer
avec Neo4j Bloom
Explorer visuellement les Graphes
Prototyper + rapidement
Collaboration entre équipes
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
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
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)
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
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
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
• Graph Data Science Library
• Bloom 1.2
• rule-based styling
• https://neo4j.com/sandbox
Sandbox GDSL disponible
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!
MERCI !
https://www.linkedin.com/in/nicolas-rouyer-neo4j
@rrrouyer
Les graphes pour l’IA et le
Machine Learning
A Path for Data Science
Dr. Jesús Barrasa
EMEA Sales Engineering Director
@BarrasaDV
Quel salaire va augmenter le
plus ?
Ce n’est pas ce que vous savez…
… mais qui vous connaissez …
…et où ils sont dans le
reseau
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
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 . . .”
Ce sont des notions
contre-intuitives
95
…que j'espere ont piqué votre curiosité
96
• Structure réseau et prédictions
• Neo4j et la science des données
orientée graphe (GDS)
• Étapes de la GDS
Vue d’ensemble
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
Popularité croissante des bases de données graphe
Tendance depuis 2013
DB-Engines.com
10
0
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
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
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
Prise en main
104
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é
Science des données orientée graphe:
Trajectoire
106
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
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
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
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
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
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
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
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 ?
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
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
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
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é
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
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
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
• 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
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
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
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
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
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
“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”
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
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
Science des données orientée graphe
aller plus loin
dans l'analyse de vos données
131
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
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
134
Dr. Jesús Barrasa
EMEA Sales Engineering Director
@BarrasaDV
Digital GraphTour Paris -  26 March, 2020

Digital GraphTour Paris - 26 March, 2020

  • 1.
    Bienvenue au GraphTourNeo4j 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 PascalMary 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.
    Welcome to GRAPHTOUR DIGITAL 2020! RikVan Bruggen rik@neo4j.com @rvanbruggen
  • 4.
    Do you havea "Big Data" Problem, or do you have a big "Data Problem"? A few years back I got a Message from a friend
  • 5.
    Let's talk about "TheGraph Problem" Problem
  • 6.
    Before we canactually 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 havemore than one potential solution, but usually one solution TYPE stands out as being most appropriate, natural, easy to implement, cost effective.
  • 8.
    Graphs have beenuniversally recognized as a great solution for specific types of problems - Graph Problems - and recognition is GROWING!
  • 9.
    Look at thisdata… 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 AB 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.
    Look at thisdata again…
  • 12.
    If your businessproblem 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 graphtechnology 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 morepeople recognize their graph problems for what they are STATE OF THE GRAPH
  • 15.
  • 16.
    76%FORTUNE 100 have adopted or arepiloting 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.
  • 18.
    DB-engines Ranking ofDatabase 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.
    How do otherssolve graph problems? Neo4j Use Case Examples
  • 20.
  • 21.
  • 22.
    How do wechoose 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>
  • 24.
  • 25.
    Here's what we've heardBuild Faster Scale Bigger Launch EasierBe More Secure
  • 26.
  • 27.
    The Year ofthe Graph
  • 28.
    We just launchedthe best platform for solving graph problems Neo4j 4.0
  • 29.
    The Six Pillarsof Neo4j Database
  • 30.
    What’s New in Neo4j4.0 Easy Management Unlimited Scale Granularsecurity Fast to develop
  • 31.
    What’s New in Neo4j4.0 Multi-DatabaseNeo4j Fabric Schema-Based Security Reactive Database
  • 32.
  • 33.
    Neo4j Aura Fully Managed  nativegraph database in the cloud
  • 34.
    Always On AvailabilityFor Cloud Native Applications Elastic Scalability
  • 35.
    Neo4j Inc. Confidential Perspective Search Visualization Exploration Inspection Editing 35 Businessview 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 TryBloom 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.
    Neo4j Inc. Confidential GetBloom with the Startup Program 37 https://neo4j.com/startup-program/
  • 38.
    Remember Neo4j Labs? Incubating theNext Generation of Graph Developer Tooling Announced at NODES conference! neo4j.com/labs
  • 39.
    Graph Algorithms plugin becomes the Neo4j Graph DataScience Library Graduated Summa Cum Laude!
  • 40.
    Neo4j provides thefirst, 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.
  • 42.
    ENJOY THE RESTOF THE DAY!
  • 43.
  • 44.
    Evolution des basesde 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 basesde 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 basesde 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 basesde 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 Evolutiondes 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érencieNeo4j 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 applications4.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 seind’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 : LeCluster Causal Neo4j 4.0 - Passage à l’échelle illimité L’évolution : Fabric
  • 54.
    Base de donnéesACID 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 avecle 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’échelleillimité 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 enparallè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.
    http://ldbcouncil.org/developer/snb and https://neo4j.com/fosdem20 Neo4j4.0 L’extensibilité en action Distribution du benchmark “LDBC Social Network” • 1-shard pour le graphe Persons • N-shards pour le graphe Forums
  • 59.
    http://ldbcouncil.org/developer/snb and https://neo4j.com/fosdem20 Neo4j4.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.
    BobJoe • Conçue pourde 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.
    Sécurité & confidentialitédes données en pratique
  • 62.
    • L’agent ducentre 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;
  • 64.
  • 65.
    Architecture Reactive • Contrôledes 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 dansles 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.
  • 69.
    69 Neo4j Desktop D’une simpleidée de graphe à Neo4j en production
  • 70.
    70 Neo4j Desktop Les outilsindispensables - 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 auxbases 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 letravail 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.
  • 74.
  • 75.
    Visualisation de Graphesavec 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.
    Neo4j BI Connector Tableau JDBC Neo4j BIConnector SQL Cypher Business/Data Analyst Investigator Data Scientist
  • 77.
    Perspective Recherche Visualisation Exploration Inspection Edition Explorer & Collaborer avecNeo4j Bloom Explorer visuellement les Graphes Prototyper + rapidement Collaboration entre équipes
  • 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 Couleurset 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
  • 81.
    Recettes & Analytics orientéesgraphe 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 Exploitezdes 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 ParallelDFS 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 Scienceen 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
  • 86.
    • Graph DataScience Library • Bloom 1.2 • rule-based styling • https://neo4j.com/sandbox Sandbox GDSL disponible
  • 87.
    Tout sur Neo4j4.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!
  • 88.
  • 89.
    Les graphes pourl’IA et le Machine Learning A Path for Data Science Dr. Jesús Barrasa EMEA Sales Engineering Director @BarrasaDV
  • 90.
    Quel salaire vaaugmenter le plus ?
  • 91.
    Ce n’est pasce que vous savez…
  • 92.
    … mais quivous connaissez … …et où ils sont dans le reseau
  • 93.
    Photo by HelenaLopes 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 etla 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 . . .”
  • 95.
    Ce sont desnotions contre-intuitives 95
  • 96.
    …que j'espere ontpiqué votre curiosité 96
  • 97.
    • Structure réseauet prédictions • Neo4j et la science des données orientée graphe (GDS) • Étapes de la GDS Vue d’ensemble
  • 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
  • 100.
    Popularité croissante desbases de données graphe Tendance depuis 2013 DB-Engines.com 10 0
  • 101.
    Les graphes accélèrentl’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
  • 102.
    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
  • 103.
    De Meilleures PrédictionsAvec 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
  • 104.
  • 105.
    Construction d’un modèleML 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é
  • 106.
    Science des donnéesorientée graphe: Trajectoire 106
  • 107.
    Les apports dela 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éesorienté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éesorienté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 graphesd’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 connaissanceaxé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éesorienté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 deté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 dansun 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éristiquesaxé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éristiquesaxé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éesorienté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éegraphe 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éristiquesorienté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
  • 122.
    • 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
  • 123.
    Les caractéristiques “graphe” améliorentla 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éesorienté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 transformentles 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 grapheRECOMMANDATIONS 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éesorienté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 isthat 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éesorienté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éesorienté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 notall 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
  • 134.
    134 Dr. Jesús Barrasa EMEASales Engineering Director @BarrasaDV