Closed GoogleCodeExporter closed 9 years ago
Les modifications demandées ont été faites dans dans svn 460.
Explications sur le tri par pertinence :
Pour chaque réponse possible, xapian calcule un score qui dépend :
- des termes présents dans la requête de l'utilisateur,
- des termes présents dans la réponse étudiée,
- de la fréquence de ces termes au sein de la base,
- de la fréquence de ces termes au sein de la requête,
- du nombre moyen de termes par document,
- et enfin de l'algorithme utilisé pour le calcul de score.
Le but de tout ça est de déterminer de façon automatique quelles sont les
notices qui
répondent le mieux à la question posée par l'utilisateur (c'est la même
chose dans
les moteurs de recherche comme google, yahoo ou msn).
Dans notre cas, l'algorithme utilisé est connu sous le nom de 'BM25' qui est
considéré comme l'un des meilleurs algorithmes de classement connu.
Des détails techniques peuvent être obtenus sur les pages suivantes :
- http://www.xapian.org/docs/intro_ir.html
- http://www.xapian.org/docs/bm25.html
- http://en.wikipedia.org/wiki/Probabilistic_relevance_model_(BM25)
L'estimation du nombre de réponses varie selon l'ordre de tri choisi :
- il faut garder en tête que le nombre de réponses affichées n'est qu'une
estimation
du nombre exact de réponses.
- cette estimation du total est réalisée en faisant une extrapolation à la
totalité
de la base du ratio de réponses effectivement obtenues par rapport au nombre de
notices étudiées lors de la recherche.
- lorsqu'on utilise le tri par pertinence (ou le tri par ordre de la base),
xapian
utilise tout un tas d'heuristiques qui lui permettent de n'étudier qu'un
nombre tout
à fait restreint de notices. En gros : si on lui a demandé d'afficher les 10
premières réponses, il s'arrêtera dès qu'il aura obtenu ces 10 réponses et
qu'il aura
la certitude qu'il n'y a pas mieux dans la base.
- lorsqu'on utilise un autre ordre de tri, xapian est obligé d'étudier
beaucoup plus
de notices, voire la totalité de la base (ça explique qu'une recherche avec
un tel
tri soit bien plus lente qu'une recherche "normale" par pertinence). Dans ce
cas, le
ratio réponses obtenues/réponses étudiées est donc calculé sur un plus
grand nombre
de notices que dans le premier cas, et conduira à une estimation plus "fine" du
nombre exact de notices.
- de la même manière, plus on "avance" dans les réponses (1 à 10, puis 11
à 20, etc.)
plus le nombre de réponses étudiées est important et plus l'estimation
affichée sera
proche du nombre exact de réponses.
Original comment by daniel.m...@gmail.com
on 21 Mar 2008 at 10:06
Voir aussi le complément d'information que j'ai ajouté pour l'issue 98
Original comment by daniel.m...@gmail.com
on 25 Mar 2008 at 11:08
Original issue reported on code.google.com by
nathalie...@gmail.com
on 27 Feb 2008 at 3:23