Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.

Slides:



Advertisements
Présentations similaires
Eléments d'algèbre linéaire
Advertisements

Le rôle des mesures de similarité dans l'algorithme de Google
La recherche documentaire
Metatag Objectifs et rédaction du rapport Présentation du rapport
Gestion de portefeuille
W3Line | 10 Ter, Rue Pasteur – BOURG LES VALENCE | Tél. : – Fax : | – Web :
Systèmes de Recherche d’Information
Efficient Simplification of Point-Sampled Surfaces
Recherche de motifs par méthodes exploratoires: Comparaisons de performances et statistiques sur le score.
TD METHODOLOGIE : RÉUSSIR LA PARTIE ANALYTIQUE
LE QUESTIONNAIRE D’ENQUETE
GEF 435 Principes des systèmes d’exploitation
Xialong Dai, Siamak Khorram
COMMENT FONCTIONNE GOOGLE. QUE FAIT UN MOTEUR DE RECHERCHE? Contrairement à une base de données structurée dont on peut facilement extraire des informations,
Indexation textuelle : Systèmes de recherche d’informations
Le référencement des sites internet par les principaux moteurs de recherche Adrien Rimélé Alice Laurent 25 septembre
Analyse des moteurs de recherche Paul de Theux. Sommaire Google: leader presque incontesté Fonctionnement Syntaxe Limites.
Classification automatique de documents
Identifier ce qui peut gêner ou bloquer votre référencement Sébastien Billard, consultant référencement.
Optimisez votre recherche d’informations sur Internet!
1. Société à but lucratif 2 Trois étapes Traiter beaucoup d informations Stoker beaucoup de pages web Fonctionnement dun moteur de recherche Google Explorer.
LE REFERENCEMENT NATUREL S.E.O. (Search Engine Optimisation)
Méthode des k plus proches voisins
Savoir-faire Endnote Johanne Akpossan, janvier 2005.
Le Travail Collaboratif ...
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Lédition de contenu, en bref Catherine Ducharme, CERIC.
Comment optimiser la visibilité de vos contenus sur les principaux moteurs de recherches ? Rédaction de contenus SEO friendly Publication on-line.
Google, un moteur de recherche comme les autres ?
Exemple en dynamique de population
Examen partiel #3 Mercredi le 15 décembre de 15h30 à 17h20
Moteur de recherche d’information
Moteur de recherche d’information
24 Novembre 2006 Laboratoire dInformatique de Paris 6 Moteur de recherche XML pour la plateforme Outilex.
Natalie Meystre Maciej Macowicz Conférence des Webmasters 22 mars 2005 Moteurs de recherche, meta-moteurs.
La recherche sur le Web Améliorer sa performance Compétences informationnelles – Activité 13 - Documentation Module 3: les moteurs académiques: Google.
La recherche sur le Web Améliorer sa performance Compétences informationnelles – Activité 13 - Documentation Module 3: les moteurs académiques: Google.
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Moteurs de recherche Modex Web Modex Web 441 professeur Go
La face cachée des systèmes de recherche Martin Bouchard, président Janvier 2003.
1 Référencer ses pages web Principes – Référencement passif (SEO) – Référencement actif (SEM) – Maîtrise des outils [Source : formation au référencement.
1 Référencement (phase 2) Rappel SEO (acquis) Analytics (suivi daudience) SEM (liens sponsorisés)
Les techniques des moteurs de recherche
Le langage du Web CSS et HTML
Les moteurs de recherche Paul de Theux. Sommaire Google: leader presque incontesté Fonctionnement Syntaxe Limites.
GRAPHES EN INFORMATIQUE. INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie,
Comment classer les pages web. Principe du moteur de recherche Mise en mémoire des pages web Associer chaque page à des mot-clefs Objectif : Classification.
Programmation linéaire en nombres entiers
LES INFOS de Philippe et Patrick Journal d'informations en ligne Infospp.free.fr Mai 2006.
1 Les Moteurs de Recherche Décembre Définitions et utilité  Un moteur de recherche est un logiciel robot qui parcourt en permanence le réseau.
Improving large-scale search engines with semantic annotations Damaris Fuentes-Lorenzo, Norberto Fernández, Jesús A. Fisteus, Luis Sánchez.
CHAPITRE III Calcul vectoriel
Recherche d’information
TNS et Analyse Spectrale
Calendrier (sur MathSV)
Thibault ROY Université de Caen / Basse-Normandie Laboratoire GREYC – Equipe ISLanD Apport d’outils d’informatique documentaire à l’analyse de forums de.
Équipe ISLanD Laboratoire GREYC Université de Caen / Basse-Normandie Des outils pour chercher sur la Toile Fête de la Science 2005.
Efficient Crawling Through URL Ordering Junghoo Cho - Hector Garcia-Molina - Lawrence Page Department of Computer Science Stanford, CA Algorithmes.
Combating Web Spam with TrustRank. OSINI Aurélien.
Sabrina Tollari, Hervé Glotin, Jacques Le Maitre
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
Moteurs et métamoteurs de recherche
Structures de données avancées : Principales structures de fichiers
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
IndexationIndexation sémantique de documents XMLsémantiqueXML Haïfa ZARGAYOUNA Laboratoire LIMSI/CNRS Groupe Architectures et Modèles pour l'Interaction.
Apprentissage semi-supervisé avec des modèles discriminants : application au résumé automatique de texte Massih-Réza Amini LIP6, Université de Paris VI.
Dreamweaver Séance 1.
Bloc 1 - UE 5 - Technologies de l’information et de la communication TIC Bachelier en immobilier T. SOUMAGNE.
7 – La génération de trafic 1 Les opérations de génération de trafic désignent les actions marketing ayant pour but de générer du passage ou trafic dans.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
Transcription de la présentation:

Cours 2 Recherche d'informations Espace vectoriel des sacs de mots

Recherche d'informations Moteurs de recherche sur le web Recherche dans d'autres ensembles de documents : - les documents d'un utilisateur ou d'une entreprise - la documentation technique d'un gros projet Méthode de base On suppose que le sens des textes contenus dans les documents se ramène aux tokens-mots, sans tenir compte de l'ordre : modèle du sac de mots (bag of words) ou modèle vectoriel

Recherche d'informations Document la plus petite quantité de texte indexée et renvoyée par un système de recherche d'informations Ex. : page web, site web, article de journal, paragraphe... Requête La demande de l'utilisateur

Le modèle vectoriel Principe Imaginons que les tokens-mots des documents sont seulement cinéma football rugby On représente chaque document et la requête par un vecteur dans un espace à trois dimensions Les coordonnées du vecteur sont 0 ou 1 suivant que le document contient le mot correspondant ou pas Document1 Document2 Document3 cinéma 0 1 0 football 1 1 0 rugby 0 0 1

Le modèle vectoriel rugby d3 d1 football cinéma d2 Visualisation Chaque dimension correspond à un des mots du vocabulaire Chaque document correspond à un point dans l'espace, la requête aussi rugby d3 d1 football cinéma d2

Le modèle vectoriel Beaucoup plus que 3 tokens-mots dans le vocabulaire C'est un espace vectoriel à plus de 3 dimensions (N = plusieurs dizaines de milliers) Vocabulaire les tokens-mots de tous les documents indexés par le système Vecteurs d1 = (m1,1, m2,1, ... , mN,1) d2 = (m1,2, m2,2, ... , mN,2) Similarité entre deux vecteurs sim(d1, d2) = Σ1iN mi,1mi,2 C'est le nombre de coordonnées que les 2 vecteurs ont en commun C'est le produit scalaire : 0 si vecteurs orthogonaux, N si égaux

Exemple d1 : football football football football d2 : football cinema football cinema cinema cinema football football cinema d3 : rugby rugby rugby Similarités entre vecteurs sim(d1, d2) = 1 sim(d2, d3) = 0 sim(d1, d3) = 0

Le modèle vectoriel On prend le document qui a la similarité la plus élevée avec la requête L'ensemble des documents peut être représenté par une matrice Lignes : les mots Colonnes : les documents et la requête d1 d2 d3 ... cinéma 0 1 0 ... football 1 1 0 ... rugby 0 0 1 ... ... ... ... ... ...

Exemple Requête : cinéma rugby d1 d2 d3 r cinéma 0 1 0 1 football 1 1 0 0 rugby 0 0 1 1 ... ... ... ... ... Similarités 0 1 1 Meilleures réponses : d2 et d3

Le modèle vectoriel Les coordonnées des vecteurs représentent les poids des mots dans les documents Au lieu d'utiliser des poids binaires (0 ou 1), on peut utiliser le nombre d'occurrences du mot dans le document

Exemple d1 : football football football football d2 : football cinema football cinema cinema cinema football football cinema d3 : rugby rugby rugby Similarités entre vecteurs sim(d1, d2) = 16 sim(d2, d3) = 0 sim(d1, d3) = 0

Exemple Requête : cinéma rugby d1 d2 d3 r cinéma 0 5 0 1 football 4 4 0 0 rugby 0 0 3 1 ... ... ... ... ... Similarités 0 5 3 Meilleure réponse : d2

Le modèle vectoriel Le produit scalaire sim(d1, d2) = Σ1iN mi,1mi,2 augmente avec la taille des documents Les documents longs ne sont pas plus intéressants que les courts Donc on normalise la norme (longueur) de tous les vecteurs à 1 mi,k/Σ1jN mj,k2 (documents = points sur une sphère de rayon 1) Similarité normalisée: sim(d1, d2) = Σ1iN mi,1mi,2 /Σ1iN mi,12Σ1iN mi,22 C'est le cosinus de l'angle entre les deux vecteurs Il ne dépend pas de la taille des documents (0 si vecteurs orthogonaux, 1 si égaux)

Exemple d1 : football football football football d2 : football cinema football cinema cinema cinema football football cinema d3 : rugby rugby rugby Similarités entre vecteurs sim(d1, d2) = 0,62 sim(d2, d3) = 0 sim(d1, d3) = 0

Exemple Requête : cinéma rugby d1 d2 d3 r cinéma 0 5 0 1 football 4 4 0 0 rugby 0 0 3 1 ... ... ... ... ... Similarités 0 0,55 0,71 Meilleure réponse : d3 d2 n'est plus avantagé par sa longueur Il est désavantagé par le fait qu'il concerne aussi le football

Classement par pertinence Classement des documents par ordre décroissant de similarité avec la requête Seuils - nombre maximum de documents - similarité minimale En fonction des seuils, le système retient un ensemble de documents et les présente dans l'ordre de pertinence décroissante

Pondération par pertinence Un défaut de la méthode précédente Certains tokens-mots apparaissent souvent mais ne sont pas pertinents : de, le, à, un... On les reconnaît parce qu'ils sont fréquents dans tous les documents

Pondération par pertinence Coordonnées avec pondération par pertinence On utilise D documents d(i) = le nombre de documents qui contiennent le mot i D/d(i) mesure la pertinence de i 1  D/d(i)  D mi,j = le nombre d'occurrences de i dans le document dj On prend comme coordonnées de dj : mi,j log D/d(i) (formule "TF IDF") term frequency, inverse document frequency On normalise la similarité avec ces nouvelles valeurs des coordonnées

Exemple d1 : football football football football d2 : football cinema football cinema cinema cinema football football cinema d3 : rugby rugby rugby d(i) log D/d(i) football 2 0,41 cinema 1 1,10 rugby 1 1,10

Exemple d1 : football football football football d2 : football cinema football cinema cinema cinema football football cinema d3 : rugby rugby rugby Similarités entre vecteurs sim(d1, d2) = 0,28 sim(d2, d3) = 0 sim(d1, d3) = 0

Exemple Requête : cinéma rugby d1 d2 d3 r cinéma 0 5 0 1 football 4 4 0 0 rugby 0 0 3 1 ... ... ... ... ... Similarités 0 0,68 0,71 Meilleure réponse : d3

Évaluation Objectif : évaluer un système de recherche d'informations Documents pertinents : d'après un jugement humain Documents retenus : par le système Rappel Proportion de documents pertinents retenus (PR) parmi tous les documents pertinents (P) rappel = PR/P Le rappel est compris entre 0 et 1 silence = 1 - rappel Précision Proportion de documents pertinents retenus parmi tous les documents retenus (R) précision = PR/R La précision est comprise entre 0 et 1 bruit = 1 - précision

Quelques astuces Utilisation d’un index Il est coûteux de calculer la similarité d’une requête avec tous les documents d’une collection (ex. s’il y en a des milliards) On utilise un index pour faire un préfiltrage des documents selon la requête Un index: à chaque token-mot, on associe l’ensemble des documents dans lesquels il apparaît On ne garde que les documents qui contiennent au moins un token-mot de la requête

Filtrage de mots non pertinents Certains mots ne sont pas pertinents pour un document: ex. de, la, les, quelques, plusieurs, nos, votre Les fréquences ne sont pas un critère totalement fiable (nos n’est pas forcément très fréquent dans les textes) On utilise une liste de mots non pertinents pour filtrer ces mots des textes et donc des vecteurs et de l’index Diminution de la taille mémoire nécessaire

Pondération des zones de documents Certaines parties de documents concentrent le plus d’informations pertinentes Dans des documents structurés ou semi-structurés (XML, HTML), on peut considérer que les mots de certaines parties sont plus importants que les mots qui se trouvent dans les autres Exemple: pour les pages Web, les mots du titre (balise <title>) et les mots-clés (balise META keywords) comportent beaucoup d’informations pertinentes

Prise en compte de la qualité d’un document Dans une collection de documents, tous les documents n’ont pas la même qualité Un exemple : internet Une solution : tenir compte de la qualité des documents pour répondre à une requête donnée Le cas de Google : algorithme PageRank

Principe de PageRank Marque déposée Page : l'auteur de l'algorithme Algorithme PageRank : classement de l’ensemble des pages Web selon leur « qualité » C’est un processus off-line (réalisé durant la phase d’indexation) Principe : la qualité d’une page Web dépend du nombre de documents qui citent cette page et de leur qualité => La « qualité » d’une page est donc en fait sa popularité

Algorithme PageRank très simplifié Un vecteur U : chaque composante est une mesure de la popularité d’un document Une matrice M : représente le graphe de dépendance entre les pages Calcul du PageRank par produit matriciel itératif U[i+1] = M .U[i] avec U[0] fixé arbitrairement U[i] = M i U[0] On s’arrête lorsque l’on obtient un point fixe : | U[i+1] - U[i] | < ε donné

autres critères Distance entre les mots-clés dans le texte Ordre des mots-clés