Discovery/Gérer les points d'interrogation dans les requêtes de recherche
Un problème avec la recherche
L’équipe de recherche de Wikimedia a récemment terminé une analyse statistique des caractéristiques des recherches et du nombre de résultats que retournent les requêtes. Deux caractéristiques des recherches effectuées qui ont la plus grande propension à ne retourner aucun résultat sont le fait d’avoir une chaine entre guillemets (par exemple "xyz"
) et le fait de se terminer par un point d’interrogation (par exemple wyz ?
). Ici, nous traiterons le cas des requêtes se terminant par un point d’interrogation ?
.
Actuellement le point d’interrogation est prévu pour une utilisation comme métacaractère, pour remplacer n’importe quelle lettre. Par exemple, la recherche wiki?edia
retournera les résultats à la fois pour wikipedia
et pour wikimedia
. Cependant, beaucoup d’utilisateurs l’ignorent et utilisent le point d’interrogation de manière classique, c’est-à-dire pour formuler une question.
Pour citer un autre exemple, lorsqu’un utilisateur recherche how old is Tom Cruise?
(quel âge a Tom Cruise) sur la Wikipédia en anglais, le dernier terme peut correspondre à cruiser
, cruises
, cruised
et Cruise’s
mais ne correspond pas à Cruise
. Ce genre de requêtes peut amener à des résultats inattendus, et généralement peu efficients.
Comment nous avons découvert cela
Nous avons analysés les recherches se terminant par un point d’interrogation sur dix Wikipédias : en anglais, allemand, espagnol, russe, français, portugais, japonais, italien, polonais et chinois. Nous avons relancé les recherches avec et sans le point d’interrogation final, le nombre de requêtes qui ne retournaient aucun résultat a diminué, tout comme plus globalement le nombre de requêtes qui retournaient moins de trois résultats.
Un contrôle manuel sur un échantillon des recherches se terminant par « ? » parmi six des dix langues (anglais, allemand, espagnol, français, portugais et italien) a révélé que la grande majorité de ces requêtes étaient en fait des questions. Cela nous a conduit à croire que les utilisateurs n’essaient généralement pas d’utiliser intentionnellement des métacaractères lorsqu’ils utilisent des points d’interrogation.
Autres éléments remarquables
- Si un titre d’article se termine par un point d’interrogation (par exemple
Who's Afraid of Virginia Woolf?
, en françaisQui a peur de Virginia Woolf ?
), les résultats la recherche retourneront tout de même une requête incluant cet article. - Certaines requêtes sont uniquement composées de points d’interrogation et d’autres signes de ponctuation (par exemple
??? ???-??
ou?...?.,??
). - Quelques requêtes sur la Wikipédia en espagnol utilisent un point d’interrogation inversé (
¿
), qui ne pose généralement pas problème. - D’autres requêtes sur la Wikipédia en espagnol commencent par un point d’interrogation classique au lieu d’un point d’interrogation inversé (par exemple
?cuantos años tiene Tom Cruise?
), ce qui empêche d’avoir de bons résultats de recherche. - Certaines requêtes ont plusieurs points d’interrogation (par exemple
how old is tom cruise??
). En considérant?
comme un métacaractère, cela conduit à rechercher deux lettres supplémentaires pour un mot adéquat. Par exemple,cruise??
peut correspondre àcruisers
mais pas àCruise
. - Dans certaines requêtes, les points d’interrogation finaux sont séparés par une espace (par exemple,
how old is tom cruise ??
). - De nombreuses requêtes avec plusieurs points d’interrogation correspondent à plusieurs questions (par exemple :
how? why?
). - Parfois, les questions multiples dans une seule requête ne sont pas séparées par des espaces.
Un petit nombre de requêtes avec point d’interrogation sont potentiellement des requêtes avec métacaractères, mais la plupart incluent un point d’interrogation initial et ne retournent donc aucun résultat. Une analyse détaillée est disponible pour des informations complémentaires.
Solutions possibles
Il y a actuellement quatre options en développement pour gérer les points d’interrogation dans les requêtes :
- aucun (no) : ne rien faire et laisser les requêtes telles quelles.
- finaux (final) : supprimer tous les points d’interrogation et les espaces finissant la requête et rechercher la chaine ainsi traitée.
- fins de mot (break) : supprimer tous les points d’interrogation suivis d’un caractère de séparation de mots (en particulier un caractère Unicode non alphabétique).
- tous (all) : supprime tous les points d’interrogation et les remplace par des espaces (les considèrent comme des caractères de séparation de mots).
S’il est décidé de changer la manière dont le moteur de recherche doit traiter les points d’interrogation, ces options seraient configurables par chaque wiki. Il est recommandé de faire de la seconde option (finaux) l’option par défaut.
Autres éléments et remarques
- Parce que les requêtes dans le code source utilisent des expressions régulières, les requêtes incluant
insource:
ne seraient pas modifiées. - Les requêtes constituées uniquement de ponctuations (c’est-à-dire
.,:;?¿!*-
) et d’espaces ne seraient pas modifiées. - Les points d’interrogation échappés par un antislash (c’est-à-dire
\?
) ne seraient pas supprimés, mais ils seraient « dés-échappés » afin qu’ils puissent fonctionner comme des métacaractères normaux.
Autres aspects à prendre en considération
- Les solutions susmentionnées ne couvrent pas le cas espagnol du
?
initial utilisé à la place du¿
, qui est en fait plus problématique encore que le?
final.- Une option pour ôter le
?
initial pourrait être ajouté comme une fonction intégrée ou séparée.
- Une option pour ôter le
- Lorsque des requêtes sont modifiés, il est possible de fournir un lien vers la requête correctement échappée pour effectuer la recherche en traitant les points d’interrogation comme des métacaractères.
- Cela serait similaire à la manière dont les requêtes dont l’orthographe est corrigée automatiquement sont traitées.
Voir aussi
- mw:Help:CirrusSearch - article documentant les capacités actuelles du moteur de recherche.
- T133711 - Tâches connexes concernant les points d’interrogation.