L’Autocomplete est une fonctionnalité de recherche assistée qui aide les utilisateurs à arriver là où ils veulent aller, plus vite, en suggérant des requêtes potentielles ou des documents dans lesquels l’utilisateur peut accéder directement à mesure qu’il formule sa requête. Glean est capable de faire remonter de nombreux types de contenus, comme des suggestions de requêtes, des documents, des opérateurs et des résultats structurés, comme des personnes et des équipes — chaque type de contenu offrant à l’utilisateur une modalité unique pour accélérer sa recherche.
Quel que soit ce que nous affichons dans le menu déroulant, une chose est constante : nous voulons faire remonter ces résultats à l’utilisateur pendant qu’il tape, avec un délai quasi nul. Comme nous ne pouvons pas simplement lancer une recherche après chaque frappe (cela ne respecterait pas notre exigence de latence quasi nulle), l’équipe Search Features de Glean a conçu Autocomplete de zéro pour garantir une expérience ultra réactive. Aujourd’hui, Autocomplete contribue déjà à réduire de 40% notre temps moyen jusqu’à satisfaction. Cet article de blog abordera les défis techniques liés à la création de suggestions rapides et utiles, les avancées obtenues à ce jour, ainsi que les axes de développement en cours pour l’équipe.  ;
Développer des suggestions de requêtes pour des « small data »  ;
Suggérer des requêtes potentielles pendant qu’un utilisateur tape est la forme d’autocomplete la plus familière sur le web grand public. Les suggestions de requêtes peuvent aider l’utilisateur de deux façons : 1) gagner du temps en évitant de taper la requête complète, et 2) l’aider à formuler une requête (meilleure) qui a plus de chances de l’amener à l’information qu’il recherche au final.
Une pratique standard chez les moteurs de recherche publics consiste à s’appuyer sur un volume massif de requêtes pour générer des suggestions. Par exemple, un moteur peut considérer une requête comme une suggestion publique une fois qu’elle a été saisie par 100K+ utilisateurs uniques — un seuil tout à fait raisonnable quand le moteur compte 100M+ d’utilisateurs.
Malheureusement, la même technique appliquée au contexte de l’entreprise montre vite ses limites. La plupart des entreprises comptent bien moins de 100K employés au total, et les requêtes en entreprise ont empiriquement ~3x moins de chances d’être répétées que sur le web grand public. S’il est certes possible de générer des suggestions à partir de volumes de requêtes plus faibles, le système ne pourra pas produire autant de candidats de haute qualité — ce qui, dans le pire des cas, pourrait même aboutir à des suggestions portant atteinte à la confidentialité. De plus, chaque lancement avec un nouveau client souffrirait du « problème de démarrage à froid » : un tel système ne disposerait pas encore de suffisamment d’informations sur le comportement des utilisateurs pour en tirer des inférences utiles.  ;
Chez Glean, nous avons plutôt concentré nos efforts sur l’extraction de requêtes à partir de documents déjà indexés. Bien que cette approche contourne certains des problèmes évoqués ci-dessus, elle n’est pas sans défis. D’abord, les requêtes extraites doivent tenir compte des permissions afin qu’aucune information sensible ne fuite. Ensuite, le langage utilisé dans un document ne constitue pas nécessairement une bonne requête : il faut donc traduire le langage des documents vers un espace de requêtes. Enfin, les requêtes extraites doivent être notées et classées entre elles pour que le système puisse renvoyer à l’utilisateur un ensemble de suggestions gérable. La traduction comme le scoring restent des problèmes ouverts sur lesquels l’équipe Search Features continue d’itérer, car chacun est essentiel à la qualité globale des suggestions de requêtes.
Suggestions intelligentes de documents
Dans 25% des cas, les utilisateurs viennent sur Glean pour accéder rapidement à un document dont ils savent qu’il existe : une tâche sur laquelle ils travaillent, un document dont ils se souviennent avoir pris connaissance la semaine dernière, ou un deck d’all-hands récemment présenté. L’équipe Autocomplete a l’opportunité unique de créer une expérience utilisateur exceptionnelle en montrant à l’utilisateur le document qu’il cherchait — sans même avoir à appuyer sur Entrée !
Comme l’espace documentaire est relativement réduit en contexte entreprise, nous pouvons diriger les utilisateurs vers des documents directement depuis Autocomplete. Comme pour Glean Search et les suggestions de requêtes, nous veillons à respecter les permissions associées à chaque document et ne suggérons un document à un utilisateur que s’il y a déjà accès.  ;
Un espace documentaire réduit ne signifie toutefois pas qu’il est facile pour le système de trouver le document exact recherché par l’utilisateur. Parce que les utilisateurs s’attendent à ce que l’autocomplete soit quasi instantané, le système n’a pas la liberté d’effectuer l’ensemble des calculs que Glean Search peut réaliser pour trouver le résultat le plus utile. Pour répondre à ces exigences, nous avons développé un modèle à faible latence pour prédire quels documents un utilisateur va consulter ensuite. À mesure que l’utilisateur tape, nous filtrons et classons ensuite l’ensemble des documents prédits en faisant correspondre la saisie à des mots-clés extraits de chaque document de l’ensemble. Cette étape évite que des suggestions bruitées, difficiles à expliquer, ne remontent à l’utilisateur.
Malgré cela, plusieurs documents de l’ensemble prédits finissent souvent par partager des mots-clés similaires. Si un utilisateur est affecté au Projet X, il y a de fortes chances que la plupart des documents, tickets et présentations de l’ensemble commencent par « Project X : » ! De plus, la plupart des utilisateurs ne regardent que les premières suggestions de la liste. Concevoir un classement optimal de cette liste devient donc une tâche particulièrement importante — et difficile.  ;
La bonne nouvelle, c’est que lorsqu’elles sont bien faites, les suggestions de documents peuvent réduire considérablement les frictions pour l’utilisateur. Aujourd’hui, nous constatons que près d’un cinquième de nos clics sur les résultats proviennent d’Autocomplete. À l’inverse, environ la moitié des utilisateurs qui voient une suggestion de document cliquent dessus — nous avons encore une grande marge de progression !
Un meilleur Autocomplete, c’est la capacité de trouver des informations plus rapidement pour nos clients enterprise, et nous cherchons en permanence à améliorer nos systèmes Autocomplete chez Glean. Si l’intersection entre ranking et performance vous intéresse, n’hésitez pas à nous contacter au sujet des postes chez Glean ! Et si une recherche puissante au travail ressemble à ce dont votre équipe a besoin, demandez une démo.










