Phase 2 : Embeddings & Recherche Sémantique

La recherche par mots-clés échoue lorsque les mots ne correspondent pas exactement.

Si un CV mentionne « team management » et qu'une offre d'emploi demande du « leadership », une recherche basique ne renverra aucun résultat. Les mots sont différents, mais le sens est le même.

La Phase 2 résout ce problème en utilisant les embeddings et la recherche sémantique.

Comment ça marche :

• Tokenisation : Les ordinateurs ne lisent pas les mots. Ils lisent des nombres. Un tokenizer décompose le texte en petits morceaux appelés tokens et les convertit en Token IDs. Les mots courants deviennent un seul token. Les mots rares sont divisés en plusieurs tokens.

• Embeddings : Un Token ID n'est qu'une étiquette. La couche d'embedding transforme cet ID en un vecteur. Un vecteur est une longue liste de nombres qui représente une signification. Au lieu d'un seul nombre, un modèle utilise de nombreuses dimensions pour décrire un concept.

• Dimensions : Considérez ces nombres comme des coordonnées. Une dimension pourrait représenter le « frontend vs backend ». Une autre pourrait représenter le « web vs systèmes ». Les vecteurs de haute dimension permettent au modèle de placer « React » et « JavaScript » à proximité l'un de l'autre dans un espace mathématique.

• Recherche sémantique : Lorsque vous posez une question, le système convertit votre question en un vecteur. Il compare ensuite votre vecteur aux vecteurs de vos documents stockés.

• Similarité cosinus : Elle mesure l'angle entre deux vecteurs. Si les vecteurs pointent dans la même direction, ils sont similaires. Cela permet au système de trouver des « conditions de démission » même si vous n'avez recherché que le « préavis ».

Leçons clés pour la mise en production :

  • Bases de données vectorielles : Rechercher parmi des millions de vecteurs est lent. Des bases de données comme Pinecone ou Qdrant utilisent l'indexation pour trouver les plus proches voisins en quelques millisecondes.
  • Migrations de modèles : Chaque modèle d'embedding utilise un espace mathématique différent. Vous ne pouvez pas comparer un vecteur OpenAI avec un vecteur Cohere. Si vous changez de modèle, vous devez ré-encoder toutes vos données.
  • Coût vs ROI : Ré-encoder des millions de segments est coûteux. Les entreprises conservent souvent d'anciens modèles, à moins que le gain de précision ne justifie le coût de la migration.
  • Stockez toujours vos segments de texte brut. Si vous mettez à jour votre modèle plus tard, vous pourrez utiliser l'ancien texte pour créer de nouveaux vecteurs.

La Phase 2 est l'étape où l'intelligence opère.

Source : https://dev.to/surajrkhonde/phase-2-embeddings-semantic-search-3lco

Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi