SYLVAIN PEYRONNET
Fondateur et responsable des ix-labs Professeur des Universités (on leave)
@speyronnet
http://www.peyronnet.eu
http://live.ix-labs.org
algo de classement
web
QU’EST-CE QU’UN MOTEUR DE RECHERCHE ?
classement
index
analyse de la pertinence
analyse de l’importance
requête de l’utilisateur
classementclassement
contenu des pages
liens entre les pages
spider
algo de classement
web
QU’EST-CE QU’UN MOTEUR DE RECHERCHE ?
classement
index
requête de l’utilisateur
classementclassement
contenu des pages
spider
Aujourd’hui, on parle de
ça !
analyse de la pertinence
LA NOTION DE PERTINENCEUn document est pertinent pour une requête s’il répond
au besoin informationnel sous-jacent
besoin informationnel
« île paradisiaque »
requête Résultats
pertinent
pertinent
non pertinent
non pertinent
LA NOTION DE PERTINENCE
On veut écrire des textes que le moteur va considérer comme pertinents
Il faut donc savoir ce que le moteur appelle un texte pertinent
Voyons donc le principe (simplifié) de ce qu’est la pertinence d’un point de vue ALGORITHMIQUE
LA NOTION DE PERTINENCE• On va préférer utiliser un modèle de classement de la pertinence, appelé pertinence partielle. !
• Le modèle vectoriel implémente cette notion de pertinence partielle. !
• La pertinence est une notion sémantique, difficile à définir. !
On va faire un abus et considérer que la similarité syntaxique entre documents est une bonne mesure de
la pertinence
UN TEXTE EST UN VECTEUR
Le petit était perdu dans la forêt
Le loup était aussi dans la forêt
? ? ? ? ? ? ? ? ?
LE MODÈLE VECTORIEL (SALTON 1962)
• On construit l’espace des termes : c’est un espace de dimension n, où n est le nombre total de termes différents existants dans les documents !• Chaque document est représenté par un vecteur avec n composants, chaque composant correspond à un terme possible !• Chaque case contient le poids du terme correspond à la case !• Il existe plusieurs types de poids
LA LEMMATISATION POUR QUE CE SOIT PLUS SIMPLE POUR LE MOTEUR
Le petit était perdu dans la forêt
Le loup était aussi dans la forêt
petit
forêt
loup
perdre
CALCUL DES POIDS
petit
perdre
forêt
loup
forêt
petit loup perdre forêt
1 1 1 2
petit loup perdre forêt
1 1 1 1
(1,1,1,2)
(1,1,1,1)
petit loup perdre forêt
1/5 1/5 1/5 2/5(1/5,1/5,1/5,2/5)
FABRIQUER LE VECTEURLa similarité est donnée par le cosinus de l’angle entre les vecteurs des documents (cosinus de Salton)
d1
d2θ
On parle d’alignement sémantique
LE MODELE VECTORIEL QUELLE FONCTION DE POIDS CHOISIR ?
tf.idf (term frequency - inverse document frequency) !!!!!!La tf.idf favorise les termes qui apparaissent peu souvent pour opérer une classification efficace
On n’utilise pas les poids simples !
TF . IDF !
• Term frequency (TF) !
Un terme qui apparaît souvent dans un document a plus de poids qu’un terme qui apparaît peu
!• Inverse Document Frequency (IDF) !
Un terme qui apparaît dans peu de documents est plus discriminant qu’un terme qui apparaît dans beaucoup de documents
QUE FAIRE ? ALIGNEMENT SÉMANTIQUE
!
• Pour être pertinent sur un ensemble de mots-clés, un texte doit être en alignement sémantique sur ces mots-clés !
• Impact fort sur la rédaction et l’organisation des contenus !
• Faire une page spécialisée par groupe de requêtes proches !
QUE FAIRE ? TF*IDF
!
Pour augmenter sa pertinence pour une thématique particulière : !• Faire apparaître des termes fréquents de la thématique :
pour pousser le facteur tf !
• Ajouter quelques termes rares de la thématique :
Pour pousser le facteur idf !
La rédaction doit être de très bon niveau pour avoir les mots avec le plus d’impacts sur la tf*idf
QUE FAIRE ? TF*IDF
!Pour augmenter sa pertinence pour une thématique particulière : !• Faire apparaître des termes fréquents de la thématique :
• Il faut bien connaître sa thématique, évaluer statistiquement son corpus
• On veut faire comprendre sans ambiguïté la thématique de la page
!• Ajouter quelques termes rares de la thématique :
• Faire appel à des experts, des sites de référence, et aux statistiques du corpus pour trouver ces mots.
• Attention à la rédaction par des personnes non-averties, de profils différents de la cible
QUE FAIRE ? CONSTRUIRE UN CORPUS
!
Un bon corpus est :
• Représentatif de sa thématique • Volumineux • Toujours imparfait (on ne connait pas ceux utilisés par
les moteurs de recherche)
QUE FAIRE ? CONSTRUIRE UN CORPUS
!
Pour constituer un corpus, on va :
• sélectionner des sites web • scrapper les pages de ces sites • extraire les mots des pages en les comptant • calculer les co-occurences • stocker les mots en base de données pour permettre
une réutilisation sans douleur
QUE FAIRE ? CONSTRUIRE UN CORPUS
!
Prendre les sites de référence
musée rouen
rouen-musees.fr/
www.rouentourisme.com
www.amis-musees-rouen.fr/
www.museedesantiquites.fr/
QUE FAIRE ? CONSTRUIRE UN CORPUS
!
Scrapper des pages de ces sitesExemple
• on peut utiliser scrapy, un logiciel open source
• http://scrapy.org/
• Code en python, donc compatible Windows, Linux, Mac OS X
QUE FAIRE ? CONSTRUIRE UN CORPUS
!
Extraire les mots des pages, les compter les stocker Utiliser Scrapy : après le crawl
!• Il faut extraire les entrées du fichier de résultats • Il faut nettoyer les entrées (accents, balises, sauts de lignes, etc.) • il faut compter • il faut stocker le corpus dans une base de données
QUE FAIRE ? CONSTRUIRE UN CORPUS
!
Stockage en base de données :
! id mot quantite entite1 moyen age 11 02 musée 7619 03 egypte 10 04 oeuvre 92 05 visite 2183 06 rouen 166 17 lillebonne 148 18 ivoire 505 19 rouen 1645 110 attendu 146 0
On ajoute dans les textes des termes qui sont fréquemment associés aux mots qu’on va viser.
QUE FAIRE ? COOCCURRENCE
!
vélo balade saint-raphael
vélo balade saint-raphael
VTT esterel verdon
+
QUE FAIRE ? CO-OCCURRENCE
!Mesurer la "compatibilité" de 2 termes
DICE
MUTUAL INFORMATION (MIM)
EXPECTED MIM (EMIM)
CHI 2
trmm itto
ortuno almagreb
yuca …
forest tree rain fish
water…
itto biofunction almagreb jack fruit
adeo …
forest rain
exotic banana jungle
…
QUE FAIRE ? CO-OCCURRENCE : EXEMPLE
!
TROPICAL
DICE
CHI 2MIM
EMIM
dataset : TREC News Stories
≅
≅
EN PRATIQUE !
Choisir les sites référents pour une
requêtebalade vtt
saint raphael!http://www.esterel-cotedazur.com/loisirs/circuits-velo-de-route/ http://www.visorando.com/randonnee-saint-raphael-var.html http://www.utagawavtt.com/circuits-vtt-proches?topo=1582&dist=20 http://balado.planet.fr/idee-balade/provence-alpes-cote-d-azur/var/esterel-vtt/idb/2434 http://www.cyclisme-mag.com/Lifestyle/Voyages/Articles/Parcourir-L-Esterel-a-VTT-8901/ http://www.visitvar.fr/provence-cote-azur/le-var-cote-velo/parcours-cyclable-du-littoral http://www.visitvar.fr/provence-cote-azur/le-var-cote-velo http://var.decouverte.pagesperso-orange.fr/nature/indexvtt.htm http://www.velo101.com/forum/voirsujet/entrainement-sur-agay-83--18927 http://www.voiesvertes.com/htm/departement83.htm http://www.provenceweb.fr/var/cyclo/randonnees/b21.htm http://www.var.fr/deplacements/circuit-de-randonnee/pcl http://www.gralon.net/tourisme/sports-et-loisirs/info-natura-bike-balade-en-velo-saint-raphael-19030.htm http://www.theoule-sur-mer.org/modules/news/article.php?storyid=243 http://www.ot-lalondelesmaures.fr/la-londe-cote-terre/loisirs-et-activites/balades-et-randonnees.htm http://www.af3v.org/-Fiche-VVV-.html?voie=35 http://www.lelavandou.eu/var/cyclo-rando.htm http://jeanmimivelo.free.fr/baladavelo.htm
EN PRATIQUE !
Faire un scrap des sites 1-grams
2-grams!http://www.esterel-cotedazur.com/loisirs/circuits-velo-de-route/ http://www.visorando.com/randonnee-saint-raphael-var.html http://www.utagawavtt.com/circuits-vtt-proches?topo=1582&dist=20 http://balado.planet.fr/idee-balade/provence-alpes-cote-d-azur/var/esterel-vtt/idb/2434 http://www.cyclisme-mag.com/Lifestyle/Voyages/Articles/Parcourir-L-Esterel-a-VTT-8901/ http://www.visitvar.fr/provence-cote-azur/le-var-cote-velo/parcours-cyclable-du-littoral http://www.visitvar.fr/provence-cote-azur/le-var-cote-velo http://var.decouverte.pagesperso-orange.fr/nature/indexvtt.htm http://www.velo101.com/forum/voirsujet/entrainement-sur-agay-83--18927 http://www.voiesvertes.com/htm/departement83.htm http://www.provenceweb.fr/var/cyclo/randonnees/b21.htm http://www.var.fr/deplacements/circuit-de-randonnee/pcl http://www.gralon.net/tourisme/sports-et-loisirs/info-natura-bike-balade-en-velo-saint-raphael-19030.htm http://www.theoule-sur-mer.org/modules/news/article.php?storyid=243 http://www.ot-lalondelesmaures.fr/la-londe-cote-terre/loisirs-et-activites/balades-et-randonnees.htm http://www.af3v.org/-Fiche-VVV-.html?voie=35 http://www.lelavandou.eu/var/cyclo-rando.htm http://jeanmimivelo.free.fr/baladavelo.htm
EN PRATIQUE !
Et finalement : Rédiger !
!Disclaimer : je ne suis pas
rédacteur, et pas de la région ;)
EN PRATIQUE !
Et finalement : Rédiger !
Si vous voulez faire du vélo dans le Var cet été, prenez
votre VTT pour parcourir les alentours de Saint-Raphael.
!Vous pouvez prendre le
départ près du littoral, pour un parcours qui vous
mènera au pied de l’Esterel.
EN PRATIQUE !
Et finalement : Rédiger !
Si vous voulez faire du vélo dans le Var cet été, prenez
votre VTT pour parcourir les alentours de Saint-Raphael.
!Vous pouvez prendre le
départ près du littoral, pour un parcours qui vous
mènera au pied de l’Esterel.
EN PRATIQUE !
Et finalement : Rédiger !
Si vous voulez faire du vélo dans le Var cet été, prenez
votre VTT pour parcourir les alentours de Saint-Raphael.
!Vous pouvez prendre le
départ près du littoral, pour un parcours qui vous
mènera au pied de l’Esterel.
EN PRATIQUE !
Et finalement : Rédiger !
Si vous voulez faire du vélo dans le Var cet été, prenez
votre VTT pour parcourir les alentours de Saint-Raphael.
!Vous pouvez prendre le
départ près du littoral, pour un parcours qui vous
mènera au pied de l’Esterel.