menu icon

Haystack EU 2022 - Berlin

Haystack est une conférence sur l'amélioration de la pertinence des moteurs de recherche.

Haystack EU 2022 - Berlin

“Haystack revient à Berlin pour une journée de conférences…”

Grâce à Adelean, j’ai eu la chance de participer à Haystack. Je suis revenu avec quelques notes…


Où nous conduit la recherche vectorielle? - Dimitry Kan

Recherche par mots clés vs recherche vectorielle

La recherche par mots clés repose sur un index inversé contenant des mots ou groupes de mots employés pour caractériser un document. La recherche vectorielle est basée sur un modèle de réseau neuronal qui interprète des objets et les traduit en vecteurs. Cela permet de trouver des éléments avec des significations similaires. On peut décrire une recherche vectorielle à l’aide de 2 notions fondamentales : l’espace de recherche vectorielle et la pyramide de recherche vectorielle. L’espace fournit une base concrète à la recherche pendant que la pyramide apporte une grille de lecture. Elle applique à la recherche vectorielle une représentation en 6 étapes.

vector search pyramid
vector search pyramid

Depuis le bas vers le haut : algorithmes, bases de données vectorielles, structure neuronale, encodeurs, logique métier d’application, interface utilisateur.

L'étape des algorithmes

Il est utile de rappeler que dans le cadre de la recherche vectorielle, la correspondance repose principalement sur 2 paramètres : la similarité et la proximité du vecteur d’interrogation avec les vecteurs déjà enregistrés. Les algorithmes RNA (réseau neuronal artificiel) sont utilisés pour produire des systèmes. La quantification de produit (QP), un processus d’approximation, permet de réduire l’usage en mémoire d’un vecteur. La QP peut être améliorée en lui affectant différentes stratégies (combinaisons, structures en arborescence, pré-rotations ou encore généralisations).
Le système de recherche par index inversé peut lui aussi être amélioré et notamment la distance d’estimation.

Pourquoi tout ce bruit ?

La recherche par mots clés est basée sur un paradigme lexical. La recherche vectorielle introduit un nouveau paradigme : un paradigme contextuel de recherche. Il peut surmonter certaines lacunes lexicales (US vs USA vs United States) Il respecte l’ordre des mots. Il tient compte des relations entre les termes. Il offre un environnement favorable pour les recherches multimodales, multilingues, ou même pour des méthodes hybrides. À l’avenir, la recherche va probablement opérer un rapprochement vers les data sciences, mais cela ne saurait se faire sans explorations, sans tentatives, sans mettre les mains dans le cambouis.

Questions / Réponses

La recherche vectorielle ne viendra vraisemblablement pas se substituer à tout ce qui existe. Nous pouvons déjà constater son implémentation au sein de solutions qui ont fait leurs preuves. La plupart du temps, la recherche vectorielle viendra probablement s’ajouter en complément. Plus ponctuellement elle pourrait occuper le devant de la scène dans des secteurs spécifiques.

Pour aller plus loin

VectorPodcast on YouTube


La mise au point (en anglais fine-tuning) pour la recherche vectorielle - James Briggs

Une image

La conférence commence par une image : “le temple de la recherche sémantique” et ses 2 piliers, ses 2 composants principaux : la base de données vectorielles et le modèle d’intégration. Actuellement les modèles pré-entraînés dominent le champ du Machine Learning. De gros modèles comme BERT ont besoin d’adaptations pour répondre aux besoins spécifiques d’un projet. La mise au point s’impose pour les classifications. On peut ajouter une simple couche linéaire à la suite d’un gros modèle et opérer une mise au point sur cette couche.

Une recette

Pour modifier un modèle pré-entrainé : Premièrement, pour adapter le modèle à son nouveau domaine, on doit collecter des données.

relevant vectors
relevant vectors

Training with vector search

Le plus souvent, on recueille un très grand volume de données. En regroupant les vecteurs par proximité, on peut mettre l’accent sur des échantillons très représentatifs qui permettent d’optimiser les performances de classification.

On parcourt ensuite l’ensemble des données en les étiquetant. Enfin, il reste à faire la mise au point.

Un défi

Une mise au point implique une classification linéaire avec des vecteurs. Le classifieur doit apprendre à s’aligner sur les vecteurs que nous avons étiquetés comme positifs, et à s'éloigner de ceux que nous avons étiquetés comme négatifs.

Un catalogue

Les différentes techniques sont présentées en suivant le schéma ci-après : contexte - techniques disponibles - exceptions - traitement.

Techniques disponibles :

  • Le référencement des pertes permet de prédire la distance entre deux saisies. (il suppose l’entraînement de données par paires)
  • Le référencement par négatifs multiples : particulièrement approprié quand on ne dispose que de paires positives. Pour une paire donnée on dispose d’une réponse positive. On emploiera les réponses non retenues comme réponses négatives.
  • La recherche sémantique symétrique vs asymétrique : par recherche sémantique symétrique, on entend que la requête et l’objet recherché sont de tailles comparables avec un volume de contenu similaire. Dans le cas d’une recherche sémantique asymétrique, on dispose en général d’une requête assez courte à laquelle on souhaite associer un contenu plus volumineux.

Techniques d’optimisation :

  • TSDAE : permet d’encoder des phrases endommagées dans des vecteurs de dimensions fixes.
  • SBERT augmenté : méthode d’augmentation de données permet d’améliorer les encodeurs.
  • GPL (generating Pseudo Labeling) pour l’adaptation à un domaine non encadré d’extraction dense (dense retrieval). L’approche par extraction dense permet de surmonter une lacune lexicale et d’améliorer les résultats de manière significative. Toutefois, cette approche nécessite un grand volume de données dont on ne dispose pas pour bon nombre de domaines.

Pour aller plus loin

JamesBiggs on YouTube


Construire un moteur open-source et en ligne pour l’apprentissage du référencement - Roman Grebennikov

L’unicité du contexte

La dimension subjective fournit une clé importante dans le domaine de la recherche. “Le référencement n’est pas (que) de la recherche mais…” Le Machine Learning suppose un projet dans le long terme, de partir de zéro, des ressources, un risque élevé,… La recherche vectorielle se heurte plus ou moins aux mêmes contraintes en l’absence d’outils adéquats.

Un re-référencement secondaire : une solution astucieuse

Metarank personalized ranking with ease
Metarank personalized ranking with ease

Tout ce dont on a besoin : un historique de navigation.

Ensuite, en s’appuyant sur les données, Metarank peut les mapper à une fonctionnalité de Machine Learning et entraîner le modèle de Machine Learning choisi. Ainsi Metarank fournit un service open-source hautement personnalisable. La solution fonctionne aussi pour ajouter une dimension dynamique au référencement.

Le modèle de données

Il utilise des métadonnées (comme le prix des éléments , les tags,…), les impressions et les interactions. Metarank emploie une simple API et une configuration en YAML. Le mécanisme se compose de 4 étapes : il compile, il rejoue l’historique en entier, il définit des jugements implicites, il produit un nouveau modèle de référencement.

Pour aller plus loin

MetaRank

MetaRank on GitHub

Une approche pragmatique pour mesurer la pertinence et prévenir les régressions - Aline Paponaud & Roudy Khoury

Le contexte : un service e-commerce

Le défi consiste à produire un référencement pertinent qui ne soit pas une “boite noire”. Le client a besoin de pouvoir mesurer et comparer la pertinence à l’aide de scores.

a2 : présentation

Une liste de jugements définit la pertinence d’un document pour une requête donnée. La liste est composée par 2 types de jugements : explicites (comme dans le cas d’une recherche) et implicites (comme dans le cas d’un événement). Il devient possible d'évaluer la pertinence d’une liste de résultats à l’aide de différents indicateurs : précision moyenne, les avantages cumulés avec réduction (DCG), les avantages cumulés avec réduction normalisés (NDCG),…

La “brique” : l’outil a2 pour mesurer la pertinence

la brique
la brique

Une équipe non technique d’utilisateurs configure le moteur de recherche à l’aide d’une Business Console. Les utilisateurs ont besoin d’un outil pour tester les résultats et garantir la non-régression en cas de modification. Les données changent constamment, ce à quoi s’ajoute un besoin très spécifique d’interprétation (par exemple, dans un cadre alimentaire, la consultation des détails liés à un produit n’est pas considérée comme un marqueur positif contrairement à un cadre non alimentaire).

(Demo)

Aline et Roudy
Aline et Roudy

Étapes suivantes

  • Recueillir plus de données implicites notamment issues de données analytiques
  • Plus d’intégration avec la Business Console
  • Tester de nouveaux éléments de configuration à ajouter à la non-régression

Pour aller plus loin

Adelean


Appliquer l’apprentissage par similarité pour réduire le seuil d’entrée d’une recherche vectorielle - Kacper Lukawski

L’apprentissage par similarité

Lorsqu’on emploie l’intégration neuronale, on peut travailler avec des vecteurs de deux manières : par similarité et par proximité. En général, on a recours à l’apprentissage par similarité lorsque la recherche textuelle ne suffit pas, dans le cas ou la recherche porte sur des images par exemple. Plus spécifiquement, la recherche par similarité s’avère très utile dans le contexte du machine learning. En regardant de plus près la structure des réseaux, on rencontre des difficultés.

La similarité est un outil de choix pour la mise au point (fine-tuning)

Les modèles pré-entraînés ne fournissent pas une intégration très satisfaisante alors même qu’un modèle original est le plus souvent très spécialisé. On a donc besoin de pouvoir modifier un modèle pré-entraîné pour pouvoir l’adapter à un contexte nouveau. C’est à ce moment qu’intervient la nécessité d’une mise au point. On emploie pour ce faire la classification et la régression. Classification ou régression s’appuient sur la similarité.

Routine et événements inattendus

L’entraînement lié au Machine Learning requiert un très gros volume de données. Une fois remplie cette condition, une ancre, des exemples positifs et négatifs,… les outils sont assez basiques. On n’a pas besoin de beaucoup plus, mais de temps à autre, on rencontre un problème pour réduire certains vecteurs. On peut surmonter cette difficulté de deux manières en employant la similarité ou bien la proximité. On emploie pour ce faire une évaluation par groupe ou bien par paires. Les obstacles font partie du jeu, mais on cherche à éviter à tout prix les oublis catastrophiques, ceux qui nous feraient repartir de zéro.

Passage en production : Qdrant présentation

Recherche sémantique :

  • La recherche neuronale emploie l’intégration sémantique à la place de mots clés et fonctionne mieux avec des textes courts. Recherche d’images similaires :
  • détection d’anomalies
  • système de recommandation
  • classifications
  • QA

Extrême classification - catégorisation de produits e-commerce L’extrême classification est un domaine en forte croissance. Le Machine Learning y est appliqué à des problèmes de classification et labels multiples concernant un très large volume de labels.

Pour aller plus loin

Qdrant


Women of Search - Atita Arora

Un sujet qui n’est pas technique, mais social.

Women Of Search est un groupe Slack dont la vocation est d’offrir un lieu sûr et sans jugement, un lieu de partage. La création de ce groupe s’appuie sur une observation, laquelle révèle un problème de sous-représentation des femmes dans le domaine de la recherche(search).

Le manque de diversité est un problème connu dans l’ingénierie logicielle. On peut y remédier aisément en adoptant une démarche la plus inclusive possible.

Pour améliorer nos comportements, il est important d’informer et de rester conscients de nos modèles sociaux, souvent vecteurs de biais comme le sexisme, le syndrome de l’imposteur ou encore la “falaise de verre” (en anglais “glass cliff”).

glass cliff effect
effet glass cliff

En pratique, nous devrions veiller à éviter les inégalités qu’il s’agisse des salaires, des promotions, … Et il est très important de surveiller, de mesurer les résultats de nos efforts en ce sens.

Témoignages

Ce qu’une entreprise peut mettre en œuvre :

  • Mettre en place une répartition plus équilibrée des postes
  • Exposer plus de femmes
  • Mettre en place une meilleure répartition des salaires
  • Mieux répartir les opportunités de formation
  • Supporter les groupes dédiés
  • Donner à des femmes leur première chance
  • Rester consciente des situations individuelles
  • Ne pas interférer lorsque des femmes tentent d’améliorer leurs conditions

Pour aller plus loin

Women of Search on YouTube

Glass Cliff


Augmenter le taux de rappel pertinent pour un produit grâce à un usage astucieux des données comportementales du client - Eric Rongen & Jelmer Krauwer

Contexte

Kramp group : industrie B2B -> Kramp Hub : Kramp e-commerce
Devise:
“We always do our best to make things as easy as possible for you”
“Nous faisons de notre mieux pour vous rendre les choses aussi simples que possible” Cette devise impose la trouvabilité comme un enjeu majeur.

Prémisses

Lorsque l'équipe s’est lancée dans l’e-commerce, son point de départ concernant les bases de données était loin d'être optimal. Elle a commencé par gérer les données “manuellement”, sans résultat très satisfaisant. Elle a fini par avoir une sorte d'épiphanie : “le client a toujours raison”.

customer is king
customer is king

L'équipe avait un atout de taille, ses clients sont très particuliers : fidèles, réguliers, dotés d’une forte intention d’acheter et maîtrisant la dimension technique des produits.

Stratégie

Moins évident, l’absence de code préexistant a joué un rôle important, cela supposait un effort pour bien cerner les besoins métier. Ce qui a permis à l'équipe d'élaborer la stratégie suivante. En premier lieu, observer le comportement des clients. Extraire ensuite des enseignements de ces observations. Incorporer enfin ces enseignements dans la recherche.

Modèle

L'équipe a érigé un modèle basé sur la collecte d'événements rassemblés en sessions courtes et elle a appliqué des indicateurs comme le NDCG (Normalized Discounted Cumulative Gain) pour ajuster un score. Ces courtes sessions ont mis en évidence des modèles comportementaux. Pour traiter ces informations, l'équipe a utilisé des tuples pour associer recherches et événements afin de pouvoir produire un score d’interaction.

Processus

L'équipe a complété le processus pour obtenir la configuration suivante :

événements (récupérés par le frontend depuis le plus simple événement jusqu'à la requête la plus complexe)

-> sessionizer(pipeline)

-> evaluateur/indicateurs

-> platform de données.

Finalement, les données sont prêtes pour l’agrégation, les mesures ou le mapping.

Pour aller plus loin

Kramp Hub


Un référencement neuronal non biaisé pour la recherche produit - Laurin Luttmann

Contexte

OTTO est une immense marketplace. Ses ingénieurs ont commencé à tester le référencement neuronal, en d’autres termes, ils utilisent des réseaux.

Concordance sémantique vs concordance pertinente

Ils ont élaboré une méthode basée sur la concordance sémantique. Cet encodeur est essentiellement une combinaison de 4 fonctionnalités qui se traduisent dans un design en 4 étapes : un tokenizer, un modèle d’intégration, un flux de travail mutualisé et un réseau profond. Malheureusement, la concordance sémantique n’est pas un gage de pertinence. Pour surmonter cet obstacle, une solution répandue consiste à employer une fonctionnalité complexe appelée Learning To Rank (LTR)

Des retours implicites aux biais

Les techniques de Machine Learning sont utilisées pour apprendre des retours utilisateurs quels résultats de recherche sont pertinents ou non. Pour cette tâche, ils appliquent un modèle de référencement en 4 étapes : on génère un contexte, on entraine un réseau, on étiquette des données manuellement et on collecte des retours implicites. À ce moment intervient la partie problématique ; en les passant à la loupe, ces retours implicites s’avèrent biaisés. Le biais le plus flagrant est un biais de position. Les éléments positionnés le plus en haut sont plus visibles et reçoivent ainsi plus de click quelle que soit leur pertinence effective.

La contrainte : l’impacte sur l’expérience utilisateur

Le problème s’accentue encore un peu lorsqu’on ajoute un entrainement au click. Un meilleur référencement recevra implicitement plus d’attention et donc davantage de clicks. Il existe plusieurs moyens pour pallier à un biais de position. Dans ce cas précis, on doit minimiser l’impacte sur l’expérience utilisateur. La solution retenue a été l’apprentissage du référencement (LTR) non biaisé depuis les données de click. Cet apprentissage peut s’obtenir de différentes façons, ici ils ont opté pour l’Inverse Propensity Weighting (IPW).

La solution : la compartimentation des entrainements

Donc, d’un côté, on doit calculer la pertinence, et d’un autre côté, il faut encore produire un indicateur de performance qui mesure le rang du document pertinent. Pour que la méthode fonctionne, on a recours à 2 entrainements séparés. On termine en combinant les deux résultats obtenus pour obtenir ce fameux référencement neuronal non biaisé.

Pour aller plus loin

Position Bias Estimation for Unbiased Learning to Rank in Personal Search

Otto market