Recherche d information textuelle



Documents pareils
Recherche d information en langue arabe : influence des paramètres linguistiques et de pondération de LSA

Big Data et Graphes : Quelques pistes de recherche

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

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

Big Data et Graphes : Quelques pistes de recherche

Recherche d information textuelle

Programmation parallèle et distribuée

Programmation parallèle et distribuée

Certificat Big Data - Master MAthématiques

SCI6052 Information documentaire numérique École de bibliothéconomie et des sciences de l information

Differential Synchronization

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Introduction à MapReduce/Hadoop et Spark

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

Introduction aux SGBDR

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

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

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

Définitions. Numéro à préciser. (Durée : )

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Introduction aux bases de données

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

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Les enjeux du Big Data Innovation et opportunités de l'internet industriel. Datasio 2013

Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant

Ressources lexicales au service de recherche et d indexation des images

Instructions Mozilla Thunderbird Page 1

Un dictionnaire électronique pour apprenant de l'arabe (langue seconde) basé sur corpus

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl , 17 novembre, Lyon. Alexis Sukrieh

Objets Combinatoires élementaires

Principe de symétrisation pour la construction d un test adaptatif

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

Dans cette définition, il y a trois notions clés: documents, requête, pertinence.

LEXIQUE DES TERMES DOCUMENTAIRES LES PLUS COURANTS

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Les technologies du Big Data

Du 10 Fév. au 14 Mars 2014

DOCUMENTATION - FRANCAIS... 2

TP11 - Administration/Tuning

1.The pronouns me, te, nous, and vous are object pronouns.

Initiation à l algorithmique

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Cette Leçon va remplir ces attentes spécifiques du curriculum :

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation


Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

Chapitre 7. Récurrences

Recherche dans un tableau

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

TP Bases de données réparties

Master d Informatique M1 Université Paris 7 - Denis Diderot Travail de Recherche Encadré Surf Bayesien

Guide de configuration de SQL Server pour BusinessObjects Planning

Les bases de données Page 1 / 8

Apprentissage Automatique

Chapitre 1 : Introduction aux bases de données

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Compte-rendu de Hamma B., La préposition en français

Paxton. ins Net2 desktop reader USB

INTRODUCTION AU DATA MINING

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

Optimisations des SGBDR. Étude de cas : MySQL

JADT /06/2010 Rome Utilisation de la visualisation en nuage arboré pour l'analyse littéraire

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Gestion collaborative de documents

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

BLUELINEA ,00 EUR composé de actions de valeur nominale 0,20 EUR Date de création : 17/01/2006

GUIDE PRATIQUE DU REFERENCEMENT NATUREL

RÉSUMÉ DE THÈSE. L implantation des systèmes d'information (SI) organisationnels demeure une tâche difficile

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

APPENDIX 6 BONUS RING FORMAT

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009

Sécuristation du Cloud

TRAVAUX DE RECHERCHE DANS LE

Encryptions, compression et partitionnement des données

Panorama des solutions analytiques existantes

Application Form/ Formulaire de demande

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

ACCÈS SÉMANTIQUE AUX BASES DE DONNÉES DOCUMENTAIRES

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Évaluation d une architecture de stockage RDF distribuée

Initiation à la Programmation en Logique avec SISCtus Prolog

LE FORMAT DES RAPPORTS DU PERSONNEL DES COMMISSIONS DE DISTRICT D AMENAGEMENT FORMAT OF DISTRICT PLANNING COMMISSION STAFF REPORTS

Ecole Technique «Transformation de données documentaires» Poitiers, mars Atelier 1: Sphinx. import, conversion, export de données

NOTIONS DE RESEAUX INFORMATIQUES

e-recrutement : recherche de mots-clés pertinents dans le titre des annonces d emploi

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

EXTRACTION DE CONNAISSANCES À PARTIR DE DONNÉES TEXTUELLES VUE D ENSEMBLE

Jeudi 30 avril L art de bien référencer son site Internet

Ricco Rakotomalala R.R. Université Lyon 2

Aide du Grand dictionnaire terminologique

ADAPT: un modèle de transcodage des nombres. Une application des systèmes de production au développement

LIVRE BLANC Décembre 2014

Le verbe avoir (to have) infinitif = avoir. j ai nous avons tu as vous avez. Exemples: J ai une copine à Montréal.

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Étude de l application DNS (Domain Name System)

Transcription:

Recherche d information textuelle Pré-traitements & indexation B. Piwowarski CNRS / LIP6 Université Paris 6 benjamin@bpiwowar.net http://www.bpiwowar.net Master IP - 2014-15 Cours et travaux pratiques basés sur les documents de P. Gallinari et S. Lamprier (LIP6)

Introduction Deux lois de base caractérisant corpus de textes et documents

Corpus: Loi de puissance (Zipf) Caractérise la fréquence d occurrence en fonction du rang Empiriquement : fréquence.rang = cte Le 1er mot est environ 2 fois plus fréquent que le 2nd qui est 2 fois plus fréquent que le 3e etc Brown Corpus (> 1 M mots) Mot Rang Fréquence % the 1 69971 7 % of 2 36411 3.5 % and 3 28852 2.6 % Quelques mots communs représentent la plus grande partie des textes (stop-words) Recherche d'information textuelle 3

Corpus : Loi de Zipf Expression formelle : f(r, s, N) / 1 r s log f(r, s, N)= s log r +cte r : rang N : taille du corpus s : paramètre qui dépend du corpus En anglais s 1, i.e. f.r 1 Recherche d'information textuelle N = 10, log fréquence vs log rang (Wikipedia) 4

Corpus : Loi de puissance Autres phénomènes suivant une loi de puissance à la Zipf (Fréquence vs rang) Fréquence d accès des pages web Population des villes Trafic internet par site Noms dans une population etc Recherche d'information textuelle 5

Loi de Heaps Caractérise le nombre de mots distincts dans un document V = Kn β Anglais: K Croissance entre 10 et sous 100 β entre linéaire 0.4 du et 0.6 V : taille vocabulaire du vocabulaire en fonction de la taille n : taille du texte du texte ou du K,B paramètres corpus dépendant du texte Recherche d'information textuelle V en fonction de n (Wikipedia) 6

Prétraitement et représentation des textes

Chaine d indexation Segmentation pré-traitements linguistiques Sélection Dictionnaire Normalisation Représentation des documents Index inversé 8

Segmentation Délimiter les unités de base de la recherche documentaire Analyse lexicale (segmentation tokenisation) Conversion du texte en un ensemble de termes Unité lexicale ou radical Espaces, chiffres, ponctuations, etc Dépend de la spécificité des langues traitées e.g. langues asiatiques (pas de signe de séparation) vs indoeuropéennes Même pour les langues d une même familles, nombreuses spécificités e.g. aujourd hui constitue un seul mot Arbeiterunfallversicherungsgesetz (33 lettres) Loi sur l'assurance des accidents du travail 9

Sélection Quelles unités conserver pour l'indexation? Loi de Zipf => Fréquence (enlever les trop peu et trop fréquents) Stop words - anti-dictionnaire Enlever les termes non informatifs Les mots les plus fréquents de la langue "stop words" n'apportent pas d'information utile e.g. prépositions, pronoms, mots «mathématiques»,.. (peut représenter jusqu'à 30 ou 50% d'un texte) Ces "stop words" peuvent être dépendant d'un domaine ou pas L'ensemble des mots éliminés est conservé dans un anti-dictionnaire (e.g. 500 mots). Les mots les plus fréquents ou les plus rares dans un corpus (frequency cut-off ) Les connaissances sémantiques permettent également d'éliminer des mots Techniques de sélection de caractéristiques 10

Stopwords - exemple a an and are as at be but by for if in into is it no not of on or such that the their then there these they this to was will with 11

Normalisation Obtenir une forme canonique pour les différents mots d une même famille Normalisation de la forme textuelle Accents, casse, ponctuations, symboles spéciaux, dates Stemming Utilisation d'une forme canonique pour représenter les variantes morphologiques d'un mot e.g. dynamic, dynamics, dynamically,...seront représentés par un même terme dynamic, naviguer, naviguant, navire...idem Techniques (exemples) : systèmes itératifs à base de règles simples (e.g. pour l anglais Porter stemming - largement employé) : on établit une liste de suffixes et de préfixes qui sont éliminés itérativement. méthodes à base de dictionnaires mot - forme canonique. Intérêt : langue présentant une forte diversité lexicale (e.g. français) Lemmatisation Analyse linguistique permettant de retrouver la forme présente dans les dictionnaires E.g. infinitifs pour les verbes, le singulier pour les noms etc Regroupement de mots similaires au sens d'un critère numérique 12

Porter Stemming Largement utilisé en anglais 5 phases de réduction des mots appliquées séquentiellement Règles de re-écriture avec priorité d application Exemple (from Manning et al. 2008) On utilise d abord la règle qui s applique sur le plus long suffixe sses ss Caresses caress ies i ponies poni ss ss caress caress s cats cat Recherche d'information textuelle 13

Indexation

Indexation Technique la plus fréquente : index inversé chaque terme de l'index est décrit par le numéro de référence de tous les documents qui contiennent ce terme et la position dans ce document du terme. Permet une accélération considérable de la recherche pour une requête. Cet index peut être ordonné en fonction décroissante de le fréquence des termes. Implémentation : différentes structures de données tries (stockage des chaînes de caractère dans des arbres) retrouve une chaîne de caractère en temps proportionnel à sa longueur Table de hashage, etc 15

Construction des index inversés L index est construit séquentiellement en lisant les documents L index est trié par termes et documents Différentes informations peuvent être associées aux mots du dictionnaire (e.g. fréquence documentaire) Les documents sont arrangés en une liste triée par document par score (dépend du modèle) 16

Construction des index inversés Figure from Manning et al. 2008 17

Index - Remarques Les index sont optimisés pour permettre différentes opérations e.g. requêtes booléennes (e.g. Paris & Hilton) = intersection de deux listes associées à chacun des termes Le stockage efficace des index et des listes de documents est fondamental Pour les petits corpus tout peut être en mémoire ou index en mémoire et documents sur disques Pour les grands corpus il faut des solutions distribuées Pour de nombreuses applications (web), il est important d avoir des index dynamiques 18

Construction des index Lors de la construction de l index, les documents sont lus les uns après les autres La phase de tri (par terme et doc_id) cf schéma ne peut pas être réalisée en mémoire pour les gros corpus. On est obligé de passer par du tri sur disque (tri externe) Par la suite on présente le principe de deux algorithmes de tri Tri externe (Block sort-based indexing) Tri distribué (Map Reduce) 19

Algorithme Blocked sort-based Indexing Objectif : trier les paires (term_id, doc_id) suivant les clés term_id puis doc_id pour produire un index inversé Le corpus est partitionné Chaque élément de la partition est analysé doc par doc pour produire un index inversé avec cet ensemble de termes x documents cf les 2 étapes sur le schéma : liste (term_id, doc_id) par doc puis tri de cette liste suivant les 2 clés l index partiel est écrit sur disque Quand tout le corpus a été analysé on fusionne les index partiels Complexité O(T logt) avec T nombre de paires (term_id, doc_id) Exemple (chiffres) 20

Étape merge On ouvre tous les blocs simultanément On utilise un buffer read de petite taille par bloc et un buffer write pour le résultat final On fait le merge en écrivant le plus petit term_id pas encore écrit 21

Indexation distribuée Dans le cas de grands corpus, l indexation est distribuée sur différentes machines e.g indexation du web La distribution peut se faire par termes ou documents Dans l exemple on considère un partitionnement par terme L algorithme décrit est une instanciation du schéma MapReduce Un nœud maitre distribue les tâches à un ensemble de noeuds Recherche d'information textuelle 22

Indexation distribuée On considère pour simplifier que les termes et les documents sont fournis sous la forme term_id, doc_id Le passage term -> term_id est fait lors de l étape de «parsing» des documents Les documents sont repartis en «paquets», chaque paquet sera assigné à une machine Typiquement un paquet aura une taille de 16 ou 64 MB (pas trop gros, pas trop petit) Phase Map Lecture par chaque machine des documents d un paquet et création des listes locales à chaque paquet (noté «parser» sur la fig.) le parse d un paquet est fait par une machine). Celles-ci sont écrites sur des segments de fichiers ([a-f][g-p][q-z]) sur la figure Phase Reduce Création des listes globales de documents pour chaque terme, (noté «inverter» sur la figure). La liste inversée pour un paquet est faite par une machine. Recherche d'information textuelle 23

Indexation distribuée (principe) Fig. from Manning et al. 2008 Recherche d'information textuelle 24