Le système SMART 1. Indexation



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

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

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

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

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

BANQUES DE DONNÉES PÉDAGOGIQUES

LEXIQUE DES TERMES DOCUMENTAIRES LES PLUS COURANTS

A.-M. Cubat PMB - Import de notices à partir d un tableur Page 1 Source :

Mémo d'utilisation de BD Dico1.6

LibreOffice Calc : introduction aux tableaux croisés dynamiques

LES DECIMALES DE π BERNARD EGGER

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

TRAITEMENT AUTOMATIQUE DES LANGUES. Licence d'informatique 2ème Année Semestre 1. Département d'informatique Université de Caen Basse-Normandie

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

Le Langage De Description De Données(LDD)

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Démontage d'un ordinateur

La fonction exponentielle

Programmation Objet - Cours II

1. Introduction Création d'une requête...2

SOMMAIRE. Travailler avec les requêtes... 3

Chapitre 1 I:\ Soyez courageux!

Mémoire DEA Système d'information Management and Technology of Information Systems

CRÉER DES LEÇONS AVEC L'ÉDITEUR DU LOGICIEL 1000 MOTS POUR APPRENDRE À LIRE EN FRANÇAIS, ANGLAIS ET ALLEMAND

Guide de démarrage rapide

I. Introduction aux fonctions : les fonctions standards

OBJET : Utilisation des données contenues dans les annuaires téléphoniques.

Importation des données dans Open Office Base

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

# 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>

IBM Software Big Data. Plateforme IBM Big Data

Traitement de texte : Quelques rappels de quelques notions de base

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

Formats d images. 1 Introduction

MEDIAplus elearning. version 6.6

ORACLE TUNING PACK 11G

Les chaînes de caractères

Nécessité de concevoir un outil de recherche PDF Présentation des fonctionnalités d'indexation et de recherche... 3

Brève introduction à la recherche d!information sur le Web à base d!agents logiciels

Importer un fichier CSV

Pourquoi l apprentissage?

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte»

Cours admin 200x serveur : DNS et Netbios

V- Manipulations de nombres en binaire

Programme. Matière : RECHERCHE D INFORMATION Crédit : 4 Cours : 1h30 TD : 1h30 Semestre : S1 du M1 Assuré par: Herzallah Abdelkarim

Compte-rendu de projet de Système de gestion de base de données

Algorithmes de recherche

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Administration du site (Back Office)

Gestion de Chambres d'hôtes Logiciel GESTCHA

Chapitre 10. Les interfaces Comparable et Comparator 1

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

I.1 Introduction. I.2 La recherche d information. I.2.1 Définitions

Application 1- VBA : Test de comportements d'investissements

OASIS Date de publication

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Septembre 2012 Document rédigé avec epsilonwriter

Réaliser un PUBLIPOSTAGE

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

Centre d'etudes Nucléaires de Fontenay-aux-Roses Direction des Piles Atomiques Département des Etudes de Piles

SAP Lumira Version du document : Guide de l'utilisateur de SAP Lumira

Logiciel SCRATCH FICHE 02

De EnvOLE 1.5 à EnvOLE 2. Document pour l administrateur

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

TEXT MINING von 7

Base de Connaissances

Les bases de données Page 1 / 8

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Raisonnement par récurrence Suites numériques

Le service FTP. M.BOUABID, Page 1 sur 5

Changements au régime d'assurance collective au 1 er janvier 2015 qui s appliquent aux retraités du Mouvement Desjardins. Questions et réponses

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

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

Utiliser un tableau de données

ÉPREUVE COMMUNE DE TIPE Partie D

Traitement numérique de l'image. Raphaël Isdant

POLITIQUE ET PROCÉDURES DE GESTION DOCUMENTAIRE

Guide d'installation. Release Management pour Visual Studio 2013

Gestion collaborative de documents

Guide de configuration de SQL Server pour BusinessObjects Planning

MDI Chèque de Allégroupe Réclamation

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Chapitre 1 : Introduction aux bases de données

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Bases de Données. Plan

1 - Clients 2 - Devis 3 - Commandes 4 - Livraisons 5 - Factures 6 - Avoirs 7 - Modèles

TD3 - Facturation avec archivage automatisé

Modèle Cobit

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

RÉPONSES D'HYDRO-QUÉBEC DISTRIBUTION À LA DEMANDE DE RENSEIGNEMENTS N O 2 DE L'UMQ

Vers l'ordinateur quantique

Manuel utilisateur logiciel Salles. Version 1.1

Algorithme. Table des matières

Initiation à la recherche documentaire

Transcription:

Le système SMART Le système SMART (System for the Mechanical Analysis and Retrieval of Text) (aussi appelé Salton's Magic Automatic Retrieval Technique:-) est un système de RI expérimental. Il utilise le modèle vectoriel. Ce système a été construit entre 1968 et 1970 (la première version). Dans les années 1980, il a été réécrit et réorganisé. Cette nouvelle version est accessible gratuitement pour les recherches à l'adresse suivante: ftp://ftp.cs.cornell.edu/pub/smart/ Les travaux sur SMART ont été dirigés par Prof. G. Salton. Vous pouvez aussi trouver plus de descriptions sur ce système dans le livre suivant: G. Salton, The SMART Retrieval System: Experiments in Automatic Document Processing, 1971, Prentice-Hall, (Z699.4 S2 S25) Dans ce système, on peut remarquer les faits suivants: - C'est le premier système de RI expérimental est robuste. Il peut manipuler un grand nombre de documents. Pour la version actuelle, SMART peut traiter jusqu'à 500 MOctets de documents. Pour beaucoup d'applications, cette capacité est suffisante. - SMART a été programmé avec un souci d'efficacité. Les opérations d'indexation et de recherche ont été optimisées dans une certaine mesure. Ainsi, le temps de traitement est raisonnable. Par exemple, pour indexer un corpus de 150 Moctets, il faut environ 1 heur. Pour effectuer une recherche sur ce corpus, il faut 2-3 seconds (dépendant de la taille de la requête). Cette vitesse est tout à fait acceptable. Bien sûr, on peut l'optimiser encore plus. - SMART est un système flexible. C'est un système fait pour des expérimentations scientifiques (c'est-à-dire de tester des approches en pratique). Les codes sont écrits de telle manière qu'on peut les modifier assez facilement. Par exemple, il y a 2 méthodes de lemmatisation incluses dans SMART. Mais on peut très bien programmer une autre méthode de lemmatisation et de l'ajouter dans SMART. - Dans SMART, certaines nouvelles techniques ont été testées. Par exemple, la rétroaction de pertinence (relevance feedback), la classification de documents (document clustering), etc. Ces techniques ont une grande influence sur le développement de la RI. Beaucoup de système de RI actuels ont grandement bénéficié de SMART. Certain ont repris les mêmes idées, certains d'autres sont développés directement à partir de SMART (en utilisant les codes de SMART). Si on analyse les moteurs de recherche disponibles sur l'internet, on peut affirmer que SMART se compare très bien à ces moteurs, et dans beaucoup de cas, il fonctionne mieux (donne de meilleures réponses). Le but de présenter ici le système SMART est de vous montrer un système de RI concret. Vous pouvez ainsi avoir une idée sur comment faire un système de RI concrètement. C'est aussi un cadre idéal pour vous montrer comment les techniques qu'on a présentées jusqu'à là peuvent s'enchaîner pour faire la RI. Nous allons séparer les traitements en différents volets: indexation de document, indexation de requête, évaluation d'une requête, évaluation du système. 1. Indexation Un document textuel peut contenir différents champs (appelés section dans SMART). Par exemple, dans un document, on peut distinguer le titre, l'auteur, la date, et le corps. SMART

offre la possibilité de traiter ces champs de façon différente. Par exemple, on peut indexer les noms d'auteur d'une manière différente qu'un texte dans la partie corps. La même chose pour la date. Dans une requête, on peut aussi avoir différents champs (sections). L'indexation de document et de requête est illustrée dans la figure suivante: Document Requête Reconnaissance de sections Reconnaissance de sections Tokenisation Tokenisation Stoplist Stoplist Le prechain proch. mot Lemmatisation Lemmatisation mot le prochain section Dic Statistique sur Statistique sur proch. les occurrences les occurrences sect. le prochain document résultat_section: <no_mot, fréquence> résultat_doc: <no_doc, ctype, not_mot, fréq> résultat_section: <no_mot, fréquence> résultat_req: <no_req, ctype, not_mot, fréq> Conversion en fichier inversé et/ou de poids Conversion de poids La partie gauche correspond à l'indexation de document, et à droite, l'indexation de requête. Les deux traitements sont très similaires, à quelques détails près. L'indexation de document Reconnaissance de sections: Pour chaque document, le premier traitement est la séparation de champs (ou la reconnaissance de section). Cela se fait par des marqueurs qui annoncent le début de différentes sections. Par exemple, on peut avoir le marqueur <Title> pour annoncer que les lignes suivantes (jusqu'au prochain marqueur) correspondent au titre. <Date> marque une date, <Body> marque le début du corps du document - un plein-texte. Dans Smart, on peut définir un ensemble de marqueurs, et les actions d'indexation correspondantes. Par exemple, pour <Author>, on peut choisir une transformation spéciale pour les noms propres (transformer "Marc Gingras" en "Gingras, M."). Tokenisation: Pour chaque section que SMART doit indexer, on doit d'abord la couper en mots. Cela consiste à reconnaître les séparateurs de mots, comme ",", ";", l'espace, etc. Le résultat de ce traitement est une suite de "tokens" ou mots (dans un sens large). Stoplist: Les mots trouvés se compare avec la stoplist qui contient l'ensemble de mots qu'on ne veut pas garder comme index. Les autres mots sont soumis aux traitements suivants. Ce

traitement est facultatif. On peut très bien décider que tous les mots sont significatifs, et doivent être gardés. Lemmatisation: Ce traitement consiste à transformer une forme de mot en une certaine forme standard. Trois options sont offertes dans SMART: aucune lemmatisation, enlever le "s" à la fin, ou utiliser un arbre trie pour enlever la terminaison. Après la lemmatisation, la forme standard obtenue est comparée avec un dictionnaire. Dans ce dictionnaire, on stocke tous les index, et à chaque index, on attribue un numéro d'identification. Ainsi, on a la structure suivante pour le dictionnaire: <no_mot, nature, mot> où no_mot est le numéro d'identification, mot est le mot correspondant, et nature désigne la nature de ce mot (par exemple, un chiffre, un mot normal, un nom propre, ou un mot vide). La comparaison du résultat de la lemmatisation a pour le but d'obtenir le no_mot pour le mot. Si ce mot a été déjà rencontré (et donc stocké dans le dictionnaire), on reprend simplement son no_mot; sinon, le système crée un numéro automatiquement pour lui, et on ajoute une entrée dans le dictionnaire pour ce nouveau mot. Statistique: Pour chaque mot, on doit faire la statistique de sa fréquence d'occurrence dans le document. Ainsi, à chaque occurrence d'un mot, on ajoute 1 dans sa fréquence. Itérations: Dans la figure, il y a 3 itérations dans l'indexation de document: itération pour traiter chaque mot, itération pour chaque section, et itération pour chaque document. Résultat: Le résultat d'indexation pour un document est un ensemble de <no_doc, ctype, no_mot, fréq>. Si le document contient 100 mot significatifs distincts, alors il y a 100 entrées colle cela. Conversion du résultat: La conversion se fait seulement quand tous les documents ont été indexés. On peut faire deux sortes de conversions: convertir des vecteurs en fichier inversé, ou convertir les poids de termes. La première conversion consiste à trier à nouveau les résultats de l'indexation. Initialement, ils sont triés dans l'ordre croissant de no_doc. Dans un fichier inversé, ce sera trié dans l'ordre croissant de no_mot. La seconde conversion consiste à transformer le poids a chaque terme dans chaque document en un nouveau poids. La conversion dans SMART se fait en 3 étapes: 1. transformation de tf: on peut garder la fréquence obtenue comme la tf, ou bien on peut choisir à la normaliser en la divisant par la fréquence maximale dans le document, ou bien on peut la convertir en une valeur binaire (0 ou 1). 2. La tf obtenue est de l'étape 1 est multiplié par idf. À ce stade, on peut choisir différentes façons de calculer idf. Par exemple, log(n/n), ou bien 1/n, etc. 3. La troisième étape est la normalisation. On peut normaliser le poids obtenu en le divisant par la valeur maximale, ou bien par la formule Cosinus (c'est-à-dire 1/(Σ i pi 2 ) 1/2 ). À chaque étape, il y a de multiples choix. Pour en connaître plus, vous pouvez lire le fichier suivant: http://www.iro.umontreal.ca/~nie/ift6255/doc_smart/howto/weight Indexation de requête Consultation du dictionnaire: Nous soulignons ici seulement la différence avec l'indexation de document. Après la lemmatisation, le mot obtenu est comparé avec le dictionnaire pour connaître no_mot. Si ce mot n'existe pas dans le dictionnaire, on n'ajoute pas une nouvelle entrée dans le

dictionnaire pour ce mot. Le mot est considéré "inconnu" par le système. En effet, il ne sert à rien d'ajouter ce mot inconnu dans le dictionnaire puisqu'il ne correspond à aucun document. On peut donc l'ignorer dans le modèle vectoriel. (Note: Dans le modèle boooléen, la traitement de mot inconnu doit être différent. Pourquoi?) Conversion: On n'a pas à convertir une requête en forme de fichier inversé. La seule conversion utile pour une requête est la conversion de poids. Ici, on utilise la même méthode que pour le document. Si on utilise idf dans la second étape, les n et N sont aussi celles des documents. Donc, on utilise la même idf que pour les documents. Itération: Dans la figure, on n'a pas inclus une itération pour traiter différentes requêtes. Cela est possible dans SMART. Par exemple, si on utilise SMART sur un corpus de test qui contient un ensemble de requ^etes, on peut très bien indexer toutes les requêtes. Mais dans une situation plus réelle, on traite généralement une requête à la fois. 2. évaluation d'une requête L'évaluation d'une requête utilise le fichier inversé des documents et le résultat d'indexation de la requête qui est une suite de no_mot et de son poids. SMART utilise le produit interne comme similarité, c'est-à-dire: Sim(d, q) = Σ i (p i * q i ) où p i et q i sont les poids d'un mot dans le document d et dans la requête q. SMART implante un calcul global pour tous les document à la fois. L'algorithme est comme suit: Initialiser Sim(d j, q) à 0 pour tout d j ; Pour chaque mot (no_mot i ) dans la requête q (avec poids q i ) faire; Trouver dans le fichier inversé tous les documents d j incluant ce mot, avec le poids p i ; Pour chaque d j dans cet ensemble faire: Sim(d j, q) = Sim(d j, q) + p i * q i À la fin de cet algorithme, on obtient la valeur de Sim pour chaque document. Cette méthode dévaluation globale est plus efficace qu'une évaluation séquentielle. Dans la méthode séquentielle, on doit comparer chaque document séparément avec la requête, et utiliser la formule théorique de Sim pour calculer la similarité. Le plus grand désavantage est qu'on doit considérer tous les documents, même ceux qui ne contiennent aucun mot de la requête. Dans l'évaluation globale utilisant le fichier inversé, on ne considère que les documents qui contiennent au moins un mot de la requête. Le nombre de documents à considérer est beaucoup réduit. Dans SMART, il est cependant possible de choisir l'évaluation séquentielle, si on veut. Dans des cas normaux, cela ne fait aucune différence dans les réponses. 4. Évaluation du système Pour évaluer la qualité d'un système, on doit tester ce système avec des corpus de test. Rappelons qu'un corpus de test contient 3 éléments: un ensemble de documents, un ensemble de requêtes, et le jugement de pertinence par un expert pour chaque requête (c'est-à-dire d'indiquer les documents du corpus qui sont pertinents à chaque requête).

Le système à tester doit indexer les documents, les requêtes, et produire une liste de documents comme réponses pour chaque requête. On compare ensuite les réponses du système avec celle de l'expert pour évaluer la précision et le rappel. Plus souvent, on s'intéresse à connaître l'effet d'une technique (par exemple, la lemmatisation). Dans ce cas, on peut faire un système 1 sans cette technique et un autre système 2 avec cette technique. Les autres composantes des systèmes restent les mêmes. Si système 2 fonctionne mieux que Système 1, on peut alors conclure que la technique a un effet positive. En général, pour conclure que la technique a toujours un effet positive, il faut tester cela avec plusieurs corpus de test différents. On a déjà décrit la méthode utilisée pour obtenir les valeurs de précision-rappel. Elle consiste à avancer 1 à 1dans la liste de réponses du système, et on considère à chaque étape que les documents précédant ce point constituent la réponse du système. On évalue la précision et le rappel. Ainsi, on obtient un point de précision-rappel à chaque étape. Finalement, on obtient une courbe. La courbe moyenne est calculée sur toutes les requêtes du corpus de test. On peut aussi calculer la précision moyenne sur 11 points de rappel (0.0, 0.1,, 1.0). SMART contient un ensemble de fonctions qui permettent d'évaluer la courbe précision-rappel pour un ou plusieurs systèmes et de les comparer. L'amélioration du Système 2 par rapport au Système 1 se calcule de la façon suivante: Amélioration = (P2 - P1) / P1 où P1 et P2 sont les performances des systèmes 1 et 2 (qui peut être une précision, un rappel, ou la précision moyenne). 5. Rétroaction de la pertinence (Relevance feedback) Cette technique a été inventé par Roccio, un membre dans l'équipe SMART. L'idée de la rétroaction est qu'après une première évaluation du système, l'utilisateur, en lisant les réponses, peut indiquer ceux qui sont pertinents, et ceux qui ne sont pas. Avec ces indications, le système peut reformuler la requête. La nouvelle requête peut devenir plus proche des documents pertinents et plus loin des documents non-pertinents. Pour mieux comprendre l'effet de la rétroaction, il faut mentionner que la requête d'un usager souvent ne décrit pas très bien son besoin d'information. Par exemple, un usager peut utiliser la requête "bases de données et gestion" pour décrire son besoin sur "l'utilisation de bases de données dans la gestion". Or, la requête donnée ne donne pas autant de précision. En effet, on peut très bien interpréter la requête comme "gestion de bases de données". A part l'interprétation ambiguë, on trouve plus souvent des requêtes dans lesquelles les concepts importants sont manquants. Ainsi, l'idée de la rétroaction est d'essayer de saisir plus précisément le besoin de l'usager à travers les documents qu'il a jugés. La nouvelle requête tente de se modifier pour devenir plus similaire aux documents pertinents, et moins similaires aux documents nonpertinents. La formule générale de réformulation de Roccio est la suivante: q' = α * q + β * Doc_Pert - γ * Doc_Npert.

où q et q' sont les vecteurs de l'ancienne et la nouvelle requêtes, Doc_Pert et Doc_Npert sont les centroïdes des documents pertinents et non-pertinents, α,β et γ sont les 3 paramètres qui règlent l'importance de chaque élément dans la nouvelle requête. Ces 3 paramètres sont fixes. Pour obtenir la nouvelle requête q', on doit d'abord calculer les deux centroïdes. Ce sont les vecteurs moyens de tous les documents pertinents et non-pertinents jugés par l'usager. Ensuite, pour chaque terme (dimension dans l'espace vectoriel), le nouveau poids du terme est p' = α * p + β * p pert - γ * p npert En pratique, on n'a pas besoin de calculer cela pour tous les termes de l'espace vectoriel, mais seulement les termes concernés (qui apparaissent dans q, Doc_Pert ou Doc_Npert). Par exemple, soit un espace vectoriel à 5 dimensions. La requête initiale est la suivante: t1 t2 t3 t4 t5 q = <1, 2, 0, 1, 0> Les 2 document pertinents que l'usager a jugés sont: d p1 = <2, 0, 1, 1, 0> d p2 = <1, 1, 1, 0, 0> et les document non-pertinents: d n1 = <0, 1, 0, 1, 1> d n2 = <0, 1, 0, 2, 0> Les vecteurs centroïdes sont: d p = <1.5, 0.5, 1, 0.5, 0> d n = <0, 1, 0, 1.5, 0.5> Soit α=1, β=0.5, γ=0.5, la nouvelle requête est la suivante: q' = <1.75, 1.75, 0.5, 0.5, -0.25> Si on compare q' avec q, on voit que le poids de t1 a beaucoup augmenté. La raison est que dans les deux documents pertinents, t1 a un poids fort; tandis que dans les documents non-pertinents, ses poids sont nuls. Donc, on peut croire que les documents pertinents pour l'usager doit avoir un poids fort sur t1. Par contre, le poids de t4 a diminué de 1 à 0.5. C'est parce que t4 apparaît plus dans les documents non-pertinents que dans les documents pertinents. Ainsi, son apparition est vue plutôt comme un signe de non-pertinence. Donc, son poids dans la nouvelle requête est diminué. Il y a aussi un poids négatif dans q'. Ceci signifie que l'apparition de t5 est un signe totalement négatif. Donc, quand il apparaît dans un document, on diminue la similarité du document. Globalement, on peut voir le changement dans la nouvelle requête comme le changement dans la direction des documents non-pertinents vers les documents pertinents. On peut illustrer cela comme la figure suivante: Corpus * * x * x x x x x x * * x x x * * x * * x x x * * * x * * x x x x x * * x x x x * x x x x x x * x q' q

Dans cette figure, q et q' correspond à tous les documents que q et q' permettent de retrouver comme réponse. Les points noirs corresponds aux centroïdes des documents pertinents et nonpertinents jugés par l'usager. La flèche entre eux illustre la direction de changement qu'on apporte à la requête. Ainsi, la nouvelle requête est changée de l'ancienne requête dans cette direction. L'effet est donc de s'approcher plus aux documents pertinents et de s'éloigner des documents non-pertinents. Ici, on fait l'hypothèse que les documents pertinents seront similaires à ceux jugés par l'usager, ainsi que pour les documents non-pertinents. Dans ce cas, on peut espérer retrouver plus de documents pertinents et moins de documents non-pertinents avec la nouvelle requête. Dans le cas ou il n'y a pas cette similarité, l'effet sera imprévisible. En pratique, il existe une certaine similarité au sein des documents pertinents même si on ne peut pas en dire autant pour les documents non-pertinents. Ainsi, certains suggèrent de définir γ=0 pour ne pas utiliser les documents nopn-pertinents comme contre-exemples. La définition des 3 paramètres dépende du corpus et de la précision de la requête de l'usager. En général, on définit un α plus grand que β. Il n'est pas nécessaire non plus de tenir compte de tous les termes dans les documents pertinents et non-pertinents. En effet, beaucoup de termes peuvent apparaître dans ces documents par hasard. Ainsi, on utilise généralement les termes les plus forts de ces documents pour réformuler la requête (par exemple, 100 termes les plus forts).