0%
Recherche hybride et reclassement

Recherche hybride

Deux méthodes imparfaites qui échouent sur des cas différents

10-15 min

Recherche hybride et reclassement

Votre système répond correctement aux questions formulées en langage naturel, et rate systématiquement trois catégories : les références exactes comme MNT-2019-07, les acronymes internes, et les noms propres rares. Vous avez essayé un modèle de plongement plus gros, une dimension plus élevée, un découpage plus fin. Le rappel bouge de deux points. Ces questions représentent 30 % du trafic réel, parce que les utilisateurs qui connaissent la référence d'un document la tapent au lieu de décrire ce qu'ils cherchent.

Aucun modèle de plongement ne réglera cela, pour la raison vue à la leçon 3 : une référence alphanumérique n'a pas de sémantique apprise, son vecteur est du bruit. En revanche, un index lexical la retrouve immédiatement, car c'est exactement son métier — apparier des chaînes rares. Symétriquement, l'index lexical échoue là où le vectoriel excelle : la question qui ne partage aucun mot avec la réponse. Les deux méthodes ne se concurrencent pas, elles se complètent, et la question intéressante est celle de leur fusion.

BM25 en trente lignes

BM25 classe les documents selon la fréquence des termes de la requête, en pondérant par leur rareté dans le corpus et en amortissant l'effet de la longueur. Vous pouvez l'obtenir de PostgreSQL avec ts_rank, ou l'implémenter en mémoire.

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !