Trois conditions essentielles pour le développement d’une fonctionnalité de recherche optimale

Mark Reed
Mark Reed
Director of Technology, Coupa

Mark Reed is a Director of Technology at Coupa. He is passionate about search, machine learning, and technology that helps people find what they need more effectively. He has previously worked in several startups and has been with Coupa for four years. Mark holds a Computer Engineering degree from Case Western Reserve University and currently resides in the Cincinnati area in the United States.

Temps de lecture : 6 mins
Trois conditions essentielles pour le développement d’une fonctionnalité de recherche optimale

En période de ralentissement économique, lorsque les difficultés liées à la supply chain ou les notes de frais peuvent s’avérer décisives pour la réussite d’une entreprise, une fonctionnalité de recherche efficace est un élément crucial pour optimiser le Business Spend Management (BSM). Néanmoins, toute recherche ne renvoie pas forcément de résultats pertinents et n’offre pas systématiquement une expérience centrée sur l’utilisateur.

La plupart des ingénieurs qui souhaitent concevoir une fonctionnalité de recherche efficace savent qu’une fonction inadaptée peut déclencher de la frustration chez les utilisateurs et entraîner de mauvaises décisions d’achat ou encore des problèmes de conformité. Dans ces conditions, comment améliorer l’efficacité des recherches pour les professionnels du BSM ?

Voici les trois principes appliqués par l’équipe de développement de Coupa :

1. S’appuyer sur des données pertinentes

Une fonctionnalité de recherche performante est basée sur des données enrichies, actualisées et de haute qualité.

Données enrichies

Lors de la phase de conception, il est important d’intégrer des données basiques et nettoyées, telles que les noms et prix des produits. Mais la recherche sera encore plus efficace si vous disposez les données enrichies en couches : descriptions détaillées, images, numéros de série, informations fabricant, etc. En effet, si l’on effectue une recherche par marque, numéro de série ou usage, ces informations doivent être comprises dans les données. Dans le cas contraire, les recherches pourraient renvoyer des résultats non pertinents, ou aucun résultat du tout.

Données de haute qualité

Comme c’est souvent le cas, si les données d’entrée ne sont pas optimisées les données en sortie ne le seront pas non plus. L’ajout d’importants volumes de données non pertinentes n’aboutira pas à une expérience de recherche concluante. Si vous avez, par exemple, une liste d’articles avec des titres précis, mais des descriptions peu claires ou mal structurées, il sera préférable de ne pas inclure ces descriptions. Les informations doivent également être adéquates et spécifiques à ces données. Ainsi, les éléments de substitution génériques, de type À confirmer, N/A ou fournitures de bureau, ne présentent que peu d’intérêt.

Données actualisées

Lorsque les utilisateurs lancent une recherche, ils s’attendent à obtenir des informations à jour et non des résultats obsolètes. De nombreux algorithmes de recherche sont même conçus pour s’appuyer sur les informations les plus récentes. Bien qu’il s’agisse de trouver un équilibre vis-à-vis des performances, trier soigneusement les informations, afin qu’elles restent à jour et soient correctement indexées, contribue à l’optimisation d’une fonctionnalité de recherche.

2. Utiliser une technologie de pointe

Après des années d’amélioration continue, la technologie dédiée aux fonctionnalités de recherche est plus robuste et efficace que jamais. Doug Cutting a créé Lucene, son cinquième outil de recherche, en 1999. Aujourd’hui, Lucene est à la base de la conception des logiciels Elasticsearch et SOLR, ainsi que de nombreux autres moteurs de recherche. Chez Coupa, notre technologie de recherche est fondée sur Elasticsearch.

Voici quelques possibilités qu’offre cette technologie par rapport à une base de données relationnelle classique.

Tokenisation de texte en mots

Les utilisateurs connaissent rarement l’intitulé complet de l’objet de leur recherche. Il leur suffit en général de saisir quelques mots pour trouver ce qu’ils souhaitent. Pour rendre cela possible, la tokenisation décompose l’ensemble des données en mots, et ce pour chaque langue. Ainsi, Coupa accompagne les entreprises à travers le monde grâce à la segmentation de texte Unicode.

Compréhension de la langue

La technologie actuelle dédiée aux fonctionnalités de recherche comprend les nuances formelles et informelles des langues parlées dans le monde entier. Par exemple, en saisissant un mot au singulier ou au pluriel, on obtiendra vraisemblablement les deux formes parmi les résultats de la recherche. Il en va de même pour les mots accentués, indépendamment de l’usage formel. Que l’accent soit marqué ou non, les résultats de la recherche ne seront pas influencés et afficheront les deux formes. Le moteur de recherche pour les achats de Coupa prend en charge plus de 30 modèles de langue différents.

Une technologie qui gère les erreurs

Les utilisateurs font des erreurs, des fautes de frappe ou d’orthographe. La technologie permet d’identifier des formes dérivées pour trouver des correspondances. Chez Coupa, nous utilisons Elasticsearch pour détecter des équivalences orthographiques des termes recherchés par les utilisateurs qui contiennent potentiellement des erreurs.

3. Itérer, encore et encore

Il n’y a pas de solution miracle pour les fonctionnalités de recherche, la qualité se développe avec l’amélioration continue. Google, entre autres, met à jour ses algorithmes plus de 500 fois par an. De la même façon, l’équipe de développement Coupa trouve un équilibre entre les changements trop limités et longs à réaliser, et les modifications trop nombreuses et trop rapides, susceptibles d’altérer la satisfaction des clients. Voici quelques étapes de notre processus d’itération pour améliorer notre fonctionnalité de recherche.

Analyse des données

Les fonctionnalités de recherche sont extrêmement sensibles aux données. Un algorithme très performant pour certaines données peut ne pas fonctionner pour d’autres. C’est pourquoi il est essentiel d’analyser les données afin d’en comprendre les nuances. Chez Coupa, nous analysons ainsi les données de nos clients et de notre communauté. Elles sont ensuite traitées dans nos outils de classification basés sur l’IA, afin de rendre les résultats de recherche plus pertinents pour les utilisateurs et produits d’un client spécifique.

Suivi des comportements utilisateur

Une fonctionnalité de recherche a pour but de connecter un utilisateur du monde réel à la technologie. Il est pour cela impératif de comprendre avec précision les comportements des utilisateurs pour atteindre un juste équilibre. La méthode de Coupa consiste à utiliser Content Insights, un outil client développé en interne, pour examiner les recherches effectuées et évaluer leur efficacité.

Recherche de probabilité et non de la perfection

Il n’existe souvent pas de « bonne » réponse pour une recherche, dans la mesure où une même requête peut avoir des significations différentes selon les utilisateurs. En définitive, calibrer la recherche en tenant compte des comportements utilisateur s’apparente à un jeu de probabilités. Vous devez concevoir votre fonctionnalité de recherche de sorte à fournir le résultat le plus pertinent ou le plus vraisemblable au regard de la requête d’un utilisateur.

Élaborer un outil de recherche efficace est un parcours sans fin, mais si les utilisateurs obtiennent rapidement et facilement les résultats souhaités, cela en vaut la peine.

Participer à la conception d’une fonctionnalité de recherche performante vous intéresse ? Rejoignez notre équipe de développeurs d’exception.

En savoir plus sur les carrières chez Coupa