Conférence de Philippe Yonnet de l'agence Search Foresight à l'occasion du SEO Campus Lyon le 21 avril 2017.
La nouvelle approche dite des "word embeddings" en NLP permet des avancées remarquables dans le domaine de la recherche d'informations. C'est probablement la méthode cachée dans Rankbrain de Google... Philippe Yonnet explique ici les principes des word embeddings et leurs domaines d'applications dans les moteurs de recherche mais aussi dans des sites internet
3. Présentation de
l’agence Search
Foresight
Introduction
Pourquoi les Word
Embeddings ont un
rapport avec cette
nouvelle
fonctionnalité de
l’algo ?
Rankbrain ?
De Salton aux word
embeddings
Les
principes
Les word embeddings
commencent à
s’immiscer dans de
nombreux domaines
des NLP
Les
applications
Quelle evolution
attendre dans les OR ?
Comment utiliser les
word embeddings
pour optimiser les
sites
Quel impact
pour le SEO ?
.
1 2 3 4 5
Plan de l’intervention
35 mn de presentation, 10 mn de Q&A
4. Les word embeddings sont ils la
vraie technologie d’IA derrière
Rankbrain ?
4
5. Rankbrain : de l’IA dans l’algo de Google
En place depuis le début de l’année 2015
Notons que personne n’a vu la différence
Utilise, d’après Greg Cerrado, des technologies d’IA
Très peu d’infos lâchées
La machine à fantasmes s’est mise en route, et tout le monde a
vu de l’IA partout
https://www.bloomberg.com/news/articles/2015-10-26/google-
turning-its-lucrative-web-search-over-to-ai-machines
Annoncé le 26 oct 2015 dans un article de Bloomberg
6. Rankbrain : l’algo de tous les fantasmes
Un florilège des erreurs d’interprétation
Non, Rankbrain n’est pas un grand
programme de machine learning qui
remplace l’algo
Non Rankbrain n’est pas le 3e critère le plus
important de l’algo
Non, Rankbrain n’apprend pas les bonnes
réponses à donner en fonction de l’analyse
des CTR
On en trouve aussi dans l’espace
francophone, mais tout le monde a le
droit de dire des bêtises sur des sujets
qu’on ne maîtrise pas
On voit de l’IA partout
6
“RankBrain is essentially Google’s almost-sentient AI
algorithm factor that constantly trudges through the
Internet, looking for information sources that can
answer questions that have never been asked before.
Others have deemed the mysterious technology a
machine-learning, knowledge-compiling, results-
providing robot.”
“Google may use RankBrain to impact selection of
featured snippet results, trigger the delivery of a map
where there wasn’t one shown before, and/or
determine if the main impact of a given query would
be an improved search results snippet”.
7. La vision de Rand
Rankbrain permet à Google de
déterminer quels signaux prioriser en
fonction des requêtes…
Euh… d’où cela sort ? Où sont les preuves ?
Rankbrain = machine learning à la Yandex
7
8. La description de l’article de Bloomberg
Les mots clés :
Vecteurs
Embed (pas compris par le journaliste mais
bon)
Similar
Meaning
Pour les initiés c’est une évidence
8
RankBrain uses artificial intelligence
to embed vast amounts of written
language into mathematical entities -
- called vectors -- that the computer
can understand. If RankBrain sees a
word or phrase it isn’t familiar with,
the machine can make a guess as to
what words or phrases might have a
similar meaning and filter the result
accordingly, making it more effective
at handling never-before-seen search
queries.
9. Un exemple de requête traité par Rankbrain
Donné par Greg Cerrado
9
Quel est le nom donné au
consommateur situé au somment
de la chaine alimentaire ?
« title » est ambigu
« consumer » est ambigu
10. Un exemple de requête traité par Rankbrain
Donné par Greg Cerrado
10
La réponse est …
Predator
Ou Apex predator
(Superprédateur)
12. Les espaces vectoriels
Application basique :
« Numériser » la géométrie
Identifier la position d’un point dans
l’espace en fonction de ses
coordonnées cartésiennes
Un outil mathématique particulièrement utile et commode
13. Et les ordinateurs adorent cela !
Calcul de la distance angulaire entre
deux vecteurs
Les processeurs permettent de faire de multiples calculs sur les vecteurs
13
14. Et même en utilisant plusieurs vecteurs de
coordonnées à la fois
14
Calcul sur les matrices
Ici une multiplication entre une
matrice contenant la description sur
les mouvements de translation et de
rotation d’un objet.
Conclusion : les modèles reposant
sur des coordonnées dans un
espace vectoriel sont faciles à
exploiter à l’aide de programmes
informatiques
15. Application à la linguistique et aux OR
L’idée est de « compter » les mots pour
calculer leur importance dans un texte
(mesure de la « fréquence »)
Un poids du terme est calculé pour chaque terme
dans un document
Cela fournit des coordonnées dans un espace
« virtuel » qui a autant de dimensions que de termes
dans le « dictionnaire » (d’entrées dans l’index)
On peut ensuite calculer des coordonnées pour des
termes, ou plus utile pour un moteur de recherche, à
des documents
Cosinus de Salton, très utilisé dans de
nombreux outils de recherche : Altavista,
Lucène SolR… Google ?
L’approche de Gérard Salton
15
Banane
Orange
16. Les différentes approches utilisant un modèle vectoriel
Mesurer la fréquence d’occurrence dans le document
0 1 0 1 0 0 2 0 1 0 1 0banane
Doc7 Doc9Doc2 Doc4 Doc11
Méthode de Salton « naïve »
Remarque : on ne tient pas compte du tout de l’ordre des mots, de leur sens, de la grammaire
17. Les différentes approches utilisant un modèle vectoriel
On peut stocker également les distances entre les termes. On obtient un double vecteur
(occurrence + contexte)
e.g., “Les bananes plantain poussent dans des bananiers en afrique”
On peut essayer de tenir compte du contexte
0 1 0 1 0 0 2 0 1 0 1 0banane
(poussent,+2)(bananiers, +5)(plantain, +1) (dans, +3) (africa, +7)
Le problème : on voudrait avoir une solution pour comprendre une similarité qui provient du sens des termes
18. Pourtant, il existe des niveaux de parenté sémantiques
Comparer deux vecteurs en utilisant la Similarité Cosinus permet d’évaluer quelle est leur
similarité textuelle. Mais est-ce pertinent ?
Dans certains cas, la “proximité” entre deux documents vient de leur sens
OuParis est similaire à Berlin
Ce sont des villes.
Bordeaux est similaire à Boxers ?
Il y’a les “Boxers de Bordeaux”
(club de Hockey)
19. Peut-on identifier cette similarité ?
Voici quatre (courts) documents,
Document 1 : “Maillots des boxers de Bordeaux”
Document 2 : “Résultats des boxers de Bordeaux”
Document 3 : “Maillots des Albatros de Brest”
Document 4 : “Résultats des Albatros de Brest”
Essayons avec l’approche en « sac de mots »
20. Si on utilise des vecteurs d’occurrence
On peut identifier ce que l’on appelle la « topical similarity » (similarité thématique)
1 1 0 0Bordeaux
Document 1 Document 3
Document 2 Document 4
1 1 0 0Boxers
0 0 1 1Brest
0 0 1 1Albatros
similaire
similaire
22. Trouver les analogies entre les mots
homme -> femme, roi -> ___ ?
Orange -> fruit, carotte -> _____?
Chine -> Pékin, Russie -> _____?
Il s’avère que les vecteurs de contexte que nous venons de décrire sont de bons outils
pour découvrir ces différents type d’analogies, car il suffit de faire des operations sur les
vecteurs pour trouver les coordonnées du terme recherché :
[roi] – [homme] + [femme] ≈ [reine]
24. Les « directions » indiquent des types d’analogies
24
Cette direction signifie
toujours le genre
La preuve par l’exemple Chaque direction code
des analogies différentes
25. Les “Embeddings” -> le “plongement”
Les vecteurs que nous manipulons sont caractérisés
par :
• Un grand nombre de dimensions
• Et beaucoup de zéros comme coordonnées.
Il y’a des techniques qui permettent de trouver des
vecteurs plus denses (moins de zéros) représentant
des coordonnées dans des espaces à moins de
dimensions.
Cette méthode s’appelle un “plongement”
(embedding) et dans notre contexte on appelle cela
des “word embeddings”
Objectif : réduire les dimensions
26. Comment obtenir les nouveaux vecteurs ?
Factoriser la matrice des vecteurs de contexte
LDA (Word-Document),
GloVe (Word-NeighboringWord)
L’approche de Google :
Les réseaux de neurones
Word2vec (Word-NeighboringWord)
Context1
Context
1
…. Contextk
Word1
Word2
⁞
Wordn
• Deerwester, Dumais, Landauer, Furnas, and Harshman, Indexing by latent semantic
analysis, JASIS, 1990.
• Pennington, Socher, and Manning, GloVe: Global Vectors for Word Representation,
EMNLP, 2014.
• Mikolov, Sutskever, Chen, Corrado, and Dean, Distributed representations of words
and phrases and their compositionality, NIPS, 2013.
27. La réduction de dimensions à l’aide d’un réseau de neurones
Un exemple : Analyse en Composantes Principales avec passage de 4D en 2D
27
28. L’intelligence artificielle n’est pas donc pas
forcément là où beaucoup le pensaient
C’est l’utilisation d’un réseau de
neurones pour le « plongement » dans
un espace à peu de dimensions qui est
la vraie contribution de l’IA à la méthode
Ce n’est même pas du « deep learning »,
il n’y a que deux couches de neurones !
28
30. Les “Word embeddings” dans un moteur de
recherche
L’approche traditionnelle se base sur la
correspondence de termes :
→ en clair, on compte le nombre de fois où
un document contient le terme
Albuquerque
On peut utiliser les “word embeddings” pour
comparer par paires les termes de la
requête et ceux du document,
→ on compte le nombre de termes en
rapport avec Albuquerque dans le
document
Un passage à propos d’Albuquerque
Un passage qui ne parle pas vraiment d’Albuquerque
31. Les word embeddings et les expansions de
requêtes
Ressemble à l’implémentation… de
Google avec Rankbrain non ?
Trouver les termes analogues à chercher pour améliorer la précision et le rappel
31
32. Application à la traduction
Les termes analogues ont des coordonnées proches dans les différentes langues
32
33. On peut aussi appliquer cela à des catalogues marchands
Un article + le terme « enceinte » donne les
coordonnées d’autres articles
33
34. Trouver une info par ses coordonnées dans un
espace “sémantique” virtuel
35. Pour en savoir plus
Word2vec
Word2vec trained on queries
GloVe
DSSM
36. Agence conseil en stratégie digitale | SEO • SEM • CRO • Inbound Marketing • Analytics
Les word embeddings et le
SEO
36
37. Peut-on optimiser son site pour Rankbrain ?
Mais en pratique, oui on peut essayer
Des outils comme les word embeddings
améliorent la capacité du moteur à identifier
les pages les plus pertinentes.
A terme, optimiser pour des mots clés
particuliers deviendra moins utile.
La méthode a ses limites qu’il faut comprendre
pour ne pas être maltraité par l’algo
Certaines bonnes pratiques sont à inventer :
par ex. les pages jugées les plus « proches »
d’un thème donné ne doivent plus être
parasitées par des contextes allogènes
Le ROI de ce travail peut ne pas être très
favorable
En principe, cela n’a pas de sens
37
38. Peut-on utiliser les word embeddings pour le
Search ?
Oui
Nouveaux outils de suggestions de mots
clés, se basant sur des notions de
« relatedness » et des analogies
Outils de recommandation ou de
suggestions avancés, améliorant le maillage
en se basant sur la parenté sémantique
Identifier des mots clés intéressants longue
traine pour le SEA sans avoir à construire
des modèles de langue
38
39. Peut-on utiliser les word embeddings sur son site ?
Amélioration du moteur de recherche
interne et de la recherche dans le
catalogue
Nouveaux outils de suggestions et de
recommandations
Nouveaux outils de classification
Par
Certainement !
40. Conclusion
Ce n’est que le début des
applications dans les moteurs de
recherche.
Le Rankbrain de 2015 sera-t’il le même
en 2018 -> vers tjrs plus d’IA ?
C’est un domaine de recherche
encore récent
Les applications seront nombreuses, y
compris dans votre vie quotidienne
NLP
Assistants numériques, bots
Et oui, vous pouvez aussi l’utiliser
pour améliorer vos services web !
Oui les word embeddings pourraient être embarqués dans Rankbrain !
Manipulation de vecteurs de contextes à l’aide de TensorFlow
Google a inventé des puces spéciales plus efficientes pour faire des calculs avec Tensorflow