Bases de données documentaires et distribuées Cours NFE04



Documents pareils
Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04

Recherche d Information(RI): Fondements et illustration avec Apache Lucene. par Majirus

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Bases de données documentaires et distribuées Cours NFE04

Représentation des Nombres

Programmation linéaire

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Résolution de systèmes linéaires par des méthodes directes

Sécuristation du Cloud

Architecture des Systèmes d Information Architecture des Systèmes d Information

Encryptions, compression et partitionnement des données

Introduction à MATLAB R

Système binaire. Algèbre booléenne

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Licence Sciences et Technologies Examen janvier 2010

Exercices Corrigés Premières notions sur les espaces vectoriels

Excel avancé. Frédéric Gava (MCF)

Limitations of the Playstation 3 for High Performance Cluster Computing

Système de contrôle du trafic d une ligne de métro Dossier de tests

Créer le schéma relationnel d une base de données ACCESS

Conversion d un entier. Méthode par soustraction

Théorie et codage de l information

Structure fonctionnelle d un SGBD

Algorithme. Table des matières

L exclusion mutuelle distribuée

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

INTRODUCTION AU DATA MINING

Introduction aux SGBDR

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

1.1 L EXPLORATEUR WINDOWS

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

données en connaissance et en actions?

Les modes de recherche sur le Web 2.0

Évaluation et optimisation de requêtes

Module 16 : Les fonctions de recherche et de référence

Partie 7 : Gestion de la mémoire

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Bases de données documentaires et distribuées Cours NFE04

INF6304 Interfaces Intelligentes

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Utiliser un tableau de données

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Dr YAO Kouassi Patrick

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

1 Recherche en table par balayage

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Gestion de gros fichiers binaires (images) en APL*PLUS III

MPI Activité.10 : Logique binaire Portes logiques

Exercices de dénombrement

5 CONSEILS POUR VOUS LANCER

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Introduction : présentation de la Business Intelligence

Pascal Weber - Expert en organisation

Test d un système de détection d intrusions réseaux (NIDS)

Chapitre 5 : Flot maximal dans un graphe

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Recherche dans un tableau

4D v11 SQL Release 5 (11.5) ADDENDUM

Optimisation Discrète

GPA770 Microélectronique appliquée Exercices série A

environnements SQL Server?

ÉPREUVE COMMUNE DE TIPE Partie D

Business Intelligence avec Excel, Power BI et Office 365

Bases de programmation. Cours 5. Structurer les données

Chapitre 1 I:\ Soyez courageux!

Flexible Identity. authentification multi-facteurs. authentification sans token. Version 1.0. Copyright Orange Business Services mai 2014.

Boîte électronique. Découverte des principales fonctions d une messagerie électronique. (et les pièces jointes)

Sage 50 Version Nouveautés. Comptabilité générale. Sous réserve de modifications. Fonctionnalité Sage 50 Lite. Sage 50 Professional

Manuel de System Monitor

TP Sauvegarde et restauration avec le logiciel Cobian Backup. Etape 1 :

Chapitre 7. Récurrences

SYSTÈME DE GESTION DE FICHIERS

Jean-François Boulicaut & Mohand-Saïd Hacid

Raisonnement probabiliste

Chap17 - CORRECTİON DES EXERCİCES

Représentation d un entier en base b

La classification automatique de données quantitatives

Optimisations des SGBDR. Étude de cas : MySQL

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Une ergonomie intuitive

Programmation linéaire

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

1 Complément sur la projection du nuage des individus

Programmation C. Apprendre à développer des programmes simples dans le langage C

1 Introduction au codage

WD et le logo WD sont des marques déposées de Western Digital Technologies, Inc, aux États-Unis et dans d'autres pays ; absolutely WD Re, WD Se, WD

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Gestion collaborative de documents

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

12 Tableaux croisés dynamiques

Python - introduction à la programmation et calcul scientifique

Optimisation, traitement d image et éclipse de Soleil

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Transcription:

Bases de données documentaires et distribuées Cours NFE04 Introduction a la recherche d information Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire National des Arts & Métiers, Paris, France

Qu est-ce que la recherche d information (Information Retrieval)? Plan de la présentation 1 Qu est-ce que la recherche d information (Information Retrieval)? 2 Evaluation d un moteur de recherche 3 La recherche plein texte 4 Opération de recherche

Qu est-ce que la recherche d information (Information Retrieval)? Information Retrieval, définition Une définition La Recherche d Information (Information Retrieval, IR) consiste à trouver des documents peu ou faiblement structurés, dans une grande collection, en fonction d un besoin d information. Prend peu à peu la prédominance sur les techniques de bases de données. Recherche sur le Web. Utilisée quotidiennement par des milliards d utilisateurs. Recherche dans votre boîte mail. Recherche sur votre ordinateur (Spotlight). Recherche dans une base documentaire, publique ou privée. À bien distinguer d un recherche type base de données : requête structurée, données structurées, réponse «exacte».

Evaluation d un moteur de recherche Plan de la présentation 1 Qu est-ce que la recherche d information (Information Retrieval)? 2 Evaluation d un moteur de recherche 3 La recherche plein texte 4 Opération de recherche

Evaluation d un moteur de recherche Spécificités Contrairement à une base de données (SQL), le résultat dépend de l interprétation d un besoin. On ne peut jamais dire qu un résultat est totalement exact (ou totalement faux). Deux notions importantes : Faux positifs : ce sont les documents non pertinents inclus dans le résultat ; ils ont été sélectionnés à tort. Faux négatifs : ce sont les documents pertinents qui ne sont pas inclus dans le résultat. En général, chercher à réduire les faux positifs entraîne l augmentation des faux négatifs, et réciproquement.

Evaluation d un moteur de recherche Evaluation de la pertinence : précision et rappel La précision mesure la fraction des vrais positifs dans le résultat r. Si on note P r et FP r le nombre de vrais et de faux positifs dans r, alors précision = P r P r + FP r = P r r Le rappel mesure la fraction de faux négatifs. Si on note VP le nombre de vrais positifs dans la collection (supposé connu), alors le rappel est : P r VP L évaluation d un système de RI est difficile : implique des tests rigoureux avec des utilisateurs sur un échantillon.

La recherche plein texte Plan de la présentation 1 Qu est-ce que la recherche d information (Information Retrieval)? 2 Evaluation d un moteur de recherche 3 La recherche plein texte 4 Opération de recherche

La recherche plein texte Notre exemple de base La RI permet d effectuer des recherches booléennes et des recherches plein texte. Dans ce dernier cas, il faut analyser des documents textuels. Un ensemble (modeste) nous servira de guide. d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 Le loup est dans la bergerie. Le loup et le trois petits cochons. Les moutons sont dans la bergerie. Spider Cochon, Spider Cochon, il peut marcher au plafond. Un loup a mangé un mouton, les autres loups sont restés dans la bergerie. Il y a trois moutons dans le pré, et un mouton dans la gueule du loup. Le cochon est à 12 le Kg, le mouton à 10 E/Kg. Les trois petits loups et le grand méchant cochon.

La recherche plein texte Le besoin et la solution On veut chercher tous les documents parlant de loups, de moutons mais pas de bergerie (c est le besoin). Parcourir tous les documents? potentiellement long ; critère "pas de bergerie" n est pas facile à traiter ; autres types de recherche ("le mot loup doit être près du mot mouton ") sont difficiles ; comment classer par pertinence les documents trouvés? Structure spécialisée : la matrice d incidence et surtout son inversion.

La recherche plein texte Matrice avec documents en ligne On sélectionne un ensemble de mots (ou termes), constituant notre vocabulaire (ou dictionnaire). Documents en ligne, termes en colonnes. Dans chaque cellule : 1 si le terme est dans le document, 0 sinon.

La recherche plein texte Pour effectuer la recherche On prend les vecteurs binaires des termes (les colonnes). Puis : Loup : 11001101 Mouton : 00101110 Bergerie : 01010011 ET logique sur les vecteurs de Loup et Mouton, on obtient 00001100. ET logique avec le complément du vecteur de Bergerie (01010111) On obtient 00000100, d où on déduit que la réponse est limitée au document d 6. Opération binaires très efficace, mais...

La recherche plein texte Passons à grande échelle Quelques hypothèses : Un million de documents, mille mots chacun en moyenne. Disons 6 octets par mot, soit 6 GO (pas très gros en fait!) Disons 500 000 termes distincts la matrice a 500 10 9 bits, soit 62 GO. Ne tient pas en mémoire, ce qui va beaucoup compliquer les choses... Comment faire mieux?

La recherche plein texte On peut faire mieux Il vaut mieux avoir les termes en ligne pour disposer des vecteurs dans une zone mémoire contigue. On parle de matrice inversée, et de liste inversée. Une liste par terme ; dans chaque liste, 1 pour les documents contenant le terme. Important Les mises à jour beaucoup plus difficiles car elles impliquent la réorganisation d une liste compacte. Prix à payer pour l efficacité en lecture (recherche).

La recherche plein texte On peut encore faire mieux La matrice est creuse : il n y a que 10 9 positions avec des 1, soit un sur 500. Essentiel On place dans les cellules l identifiant du document. De plus chaque liste est triée sur l identifiant du document.

La recherche plein texte Index inversé La structure utilisée dans tous les moteurs de recherche. Un répertoire contient tous les termes. Une liste (inversée) est associée à chaque terme, triée par docid. Chaque élément de la liste est appelé une entrée. Concept : la notion de terme (token en anglais) est différente de celle de mot. À revoir. Vocabulaire : le répertoire est parfois appelé dictionnaire ; les listes sont des posting list en anglais ; les entrées sont des postings. Efficacité : le répertoire devrait toujours être en mémoire ; les listes, autant que possible en mémoire, sinon fichiers contigus sur le disque.

Opération de recherche Plan de la présentation 1 Qu est-ce que la recherche d information (Information Retrieval)? 2 Evaluation d un moteur de recherche 3 La recherche plein texte 4 Opération de recherche

Opération de recherche Traitement d une recherche par fusion de listes triées Recherchons les documents parlant de loup et de mouton. Algorithme par fusion : on parcourt séquentiellement les deux listes. On compare à chaque étape les docid ; s ils sont égaux : trouvé! On avance sur la liste du plus petit docid.

Opération de recherche Traitement d une recherche par fusion de listes triées Recherchons les documents parlant de loup et de mouton. Algorithme par fusion : on parcourt séquentiellement les deux listes. On compare à chaque étape les docid ; s ils sont égaux : trouvé! On avance sur la liste du plus petit docid. Un seul parcours suffit : recherche linéaire, parcours séquentiel. Pas mieux. C est une recherche dite Booléenne : pas de classement, résultat exact.

Opération de recherche Traitement d une recherche par fusion de listes triées Recherchons les documents parlant de loup et de mouton. Algorithme par fusion : on parcourt séquentiellement les deux listes. On compare à chaque étape les docid ; s ils sont égaux : trouvé! On avance sur la liste du plus petit docid. Un seul parcours suffit : recherche linéaire, parcours séquentiel. Pas mieux. C est une recherche dite Booléenne : pas de classement, résultat exact.

Opération de recherche Traitement d une recherche par fusion de listes triées Recherchons les documents parlant de loup et de mouton. Algorithme par fusion : on parcourt séquentiellement les deux listes. On compare à chaque étape les docid ; s ils sont égaux : trouvé! On avance sur la liste du plus petit docid. Un seul parcours suffit : recherche linéaire, parcours séquentiel. Pas mieux. C est une recherche dite Booléenne : pas de classement, résultat exact.

Opération de recherche Traitement d une recherche par fusion de listes triées Recherchons les documents parlant de loup et de mouton. Algorithme par fusion : on parcourt séquentiellement les deux listes. On compare à chaque étape les docid ; s ils sont égaux : trouvé! On avance sur la liste du plus petit docid. Un seul parcours suffit : recherche linéaire, parcours séquentiel. Pas mieux. C est une recherche dite Booléenne : pas de classement, résultat exact.

Opération de recherche Traitement d une recherche par fusion de listes triées Recherchons les documents parlant de loup et de mouton. Algorithme par fusion : on parcourt séquentiellement les deux listes. On compare à chaque étape les docid ; s ils sont égaux : trouvé! On avance sur la liste du plus petit docid. Un seul parcours suffit : recherche linéaire, parcours séquentiel. Pas mieux. C est une recherche dite Booléenne : pas de classement, résultat exact.

Opération de recherche Traitement d une recherche par fusion de listes triées Recherchons les documents parlant de loup et de mouton. Algorithme par fusion : on parcourt séquentiellement les deux listes. On compare à chaque étape les docid ; s ils sont égaux : trouvé! On avance sur la liste du plus petit docid. Un seul parcours suffit : recherche linéaire, parcours séquentiel. Pas mieux. C est une recherche dite Booléenne : pas de classement, résultat exact.

Opération de recherche Traitement d une recherche par fusion de listes triées Recherchons les documents parlant de loup et de mouton. Algorithme par fusion : on parcourt séquentiellement les deux listes. On compare à chaque étape les docid ; s ils sont égaux : trouvé! On avance sur la liste du plus petit docid. Un seul parcours suffit : recherche linéaire, parcours séquentiel. Pas mieux. C est une recherche dite Booléenne : pas de classement, résultat exact.

Opération de recherche Traitement d une recherche par fusion de listes triées Recherchons les documents parlant de loup et de mouton. Algorithme par fusion : on parcourt séquentiellement les deux listes. On compare à chaque étape les docid ; s ils sont égaux : trouvé! On avance sur la liste du plus petit docid. Un seul parcours suffit : recherche linéaire, parcours séquentiel. Pas mieux. C est une recherche dite Booléenne : pas de classement, résultat exact.

Opération de recherche Premier bilan En résumé : index inversé, tri et compaction, parcours linéaire très rapide sont les fondements techniques de la RI. Permet d effectuer des recherches puissantes (combinaison de critères) et flexibles. Garantissent une très grande efficacité. Que reste-t-il à faire? Quels termes? Quels termes indexe-t-on? Beaucoup moins facile que ça n en a l air... Quelles requêtes? De la plus simple ( sac de mots ) à plus structurée (index struturé, requêtes Boolénnes, recherche de phrases). Performance. Construction, compression, distribution, optimisation des accès, mises à jour, etc. Classement? Si j ai des millions de documents dans le résultat, je veux les classer. Comment?