2. Qui
moi être
?
• Christophe
Willemsen
• Software
Engineer
|
Certified
Neo4j
Expert
@GraphAware
• Bruges
(Belgique)
3. Recommandations :
Vue globale
• Des
nouvelles que vous pourriez lire
• Des
livres
que vous pourriez acheter
• Des
personnesque vous pourriez connaître
• Des
personnes
que
vous
pourriez
inviter
• Personnes
à
qui
vous
pourriez
présenter
votre
produit
• …
4. Types
principaux de
recommandation
• Basé sur le
contenu (features)
• Filtrage collaboratif (relations
utilisateur -‐>
élément)
5. La
bonne
nouvelle
Les
features tout
comme les
relations
peuvent être
représentées
naturellement
dans
un
graphe.
6. La
bonne
nouvelle
La
logique
de
recommendation peut
être
représentée
en
traversée dans
le
graphe.
10. Recommandation :
Business
Side
Recommander à
Alice
les
films vus
par
les
personnes
qui
ont
noté
les
mêmes
films
qu’elle
ET qu’elle
n’a
pas encore
noté.
14. La
vraie vie
c’est compliqué…
Les
spécificités de
moteur
de
recommandations
dans
le
monde
réel
sont
beaucoup
plus
complexes.
15. La
vraie vie
c’est compliqué…
Imaginez
que
vous
devez
implémenter
la
fonctionnalité
“Personnes
que
vous
pourriez
connaître”
sur
LinkedIn
16. La
vraie vie
c’est compliqué…
Après
une
session
de
brainstorming,
votre
équipe
a
défini
les
différentes
possibilités
pour
trouver des
personnes
que
quelqu’un
pourrait
connaître.
17. La
vraie vie
c’est compliqué…
• Contacts
en
commun
• Amis
Facebook
en
commun
• Contacts
email/mobile
en
commun
• Les
contacts
de
tous
vos
contacts
• A
travaillé
pour
la
même
entreprise
• A
étudié
à
la
même
école
• Partagent
le
même
intérêt
• Vivent
dans
la
même
ville
18. La
vraie vie
c’est compliqué…
Mais
c’est
seulement
le
début !
Revenons
en
arrière
et
regardons
cela
de
plus
près!
19. La
vraie vie
c’est compliqué…
Plus
de
contacts
en
commun
:
plus
rélévant?
20. La
vraie vie
c’est compliqué…
Même
ville
ou
école
:
Est-‐ce
que
la
taille
compte ?
21. La
vraie vie
c’est compliqué…
Qu’est-‐ce
qu’on
fait
avec
les
é-‐mails
qui
ne
représentent
pas
une
personne
?
On
recommande
info@zenika.it ?
22. La
vraie vie
c’est compliqué…
Et
on
fait
quoi
avec
les
contacts
qui
sont
en
attente
?
qui
sont
rejetés
?
qui
sont
ignorés
tout
le
temps
?
23. La
vraie vie
c’est compliqué…
Etapes
de
base
d’un
moteur
de
reco
• Trouver
• Qualifier
• Supprimer
les
non
rélévants
• Mesurer
la
qualité
25. GraphAwareReco
• Plugin
pour
Neo4j
(utilise
GraphAware
Framework)
• Vous
pouvez
utiliser
Cypher
ou
n’importe
quel
langage
JVM
• Architecture
opnionated
• Ultra
rapide
• Ultra
flexible
• Se
charge
de
toute
la
glue
29. Votre premier
moteur de
reco
Notre
intention
est
de
recommander
des
personnes
que
vous
pourriez
être
ami
avec
:
• Plus
d’amis
en
commun
=>
meilleur
score
• Vivent
dans
la
meme
ville
=>
plus
de
rélévance
• Même
sexe
=>
meilleure
chance
• Pénaliser
la
différence
d’âge
• Ceux
qui
sont
déjà
amis
ne
doivent
pas
être
recommandés
30. Votre premier
moteur de
reco
Notre
intention
est
de
recommander
des
personnes
que
vous
pourriez
être
ami
avec
:
• Plus
d’amis
en
commun
=>
meilleur
score
• Vivent
dans
la
meme
ville
=>
plus
de
rélévance
• Même
sexe
=>
meilleure
chance
• Pénaliser
la
différence
d’âge
• Ceux
qui
sont
déjà
amis
ne
doivent
pas
être
recommandés
36. Blacklists
et
filtres
On
pourrait
créer
une
blacklist pour
ne
pas
retourner
les
Personnes
déjà
connectées
de
la
même
manière
que
les
PostProcessors,
mais
on
va
utiliser
une
fonctionalité toute
prête.
40. #GraphAidedSearch
Processus
qui
permet
de
trouver
les
résultats
les
plus
rélévants
d’une
requête
de
recherche
en
combinant les
scores
de
rélévance
fournis
par
un
moteur
de
recherche
avec
ceux
produits
par
un
moteur
de
recommandation.