Imaginez que vous construisez un système de recherche d'actualités sportives. Un utilisateur recherche "joueurs de tennis célébrant une victoire en championnat" et vous devez trouver les articles les plus pertinents dans votre base de données. Chaque article contient à la fois une légende textuelle et une image - ce qui est typique de la couverture sportive moderne.
Votre système doit prendre une requête textuelle et renvoyer une liste classée des documents multimodaux les plus pertinents de votre corpus. Cela semble simple, mais il y a un problème fondamental qui ruine toutes les approches évidentes.
Voici ce qui se passe lorsque vous essayez de classer ces documents. Votre modèle d'向量模型 (Embeddings), disons jina-clip-v2, produit des scores de similarité comme ceci :
| Article | Type de contenu | Description | Score de similarité |
|---|---|---|---|
| A | Texte | Novak Djokovic remporte la finale de l'Open d'Australie en trois sets | 0.72 |
| A | Image | [photo d'un joueur tenant un trophée et souriant] | 0.31 |
| B | Texte | Les retards météorologiques affectent la programmation des tournois en extérieur | 0.23 |
| B | Image | [photo de joueurs de tennis sautant et célébrant] | 0.54 |
Quel article est le plus pertinent ? L'article A a un score de texte élevé mais un score d'image faible. L'article B a un score de texte faible mais un score d'image plus élevé. Le défi fondamental est que vous ne pouvez pas comparer 0,72 (texte) avec 0,54 (image) car ces scores de similarité existent sur des échelles complètement différentes.
tagQuand les solutions triviales échouent

En raison de l'écart de modalité dans jina-clip-v2 ou dans presque tous les autres modèles de type CLIP, toute approche évidente que vous pourriez essayer ne fonctionne pas. Si vous utilisez simplement le score le plus élevé, vous vous heurtez au fait que les scores de texte se regroupent autour de 0,2 à 0,8, tandis que les scores d'image se regroupent autour de 0,4 à 0,6. Cela signifie qu'une correspondance textuelle médiocre (0,6) battra toujours une excellente correspondance d'image (0,5).
La moyenne des scores n'aide pas non plus. Calculer (0,7 + 0,3) / 2 = 0,5 vous donne un nombre, mais que signifie-t-il réellement ? Vous faites la moyenne de quantités fondamentalement dénuées de sens. De même, tout schéma de pondération fixe est arbitraire - parfois le texte est plus important, parfois les images le sont, et cela dépend entièrement de la requête et du document spécifiques.
Même la normalisation préalable des scores ne résout pas le problème central. Vous essayez toujours de combiner des mesures de similarité fondamentalement différentes qui capturent différents aspects de la pertinence.
tagCe qui se passe réellement

Pour avoir une meilleure idée de ce avec quoi nous travaillons, voici un exemple de document de l'ensemble de données EDIS, montrant l'image (un match de football allemand) et la légende (One More Field Where the Content Trails Germany).

Globalement, jina-clip-v2 montre des similarités beaucoup plus élevées lors de la comparaison requête-texte que requête-image dans l'ensemble de données EDIS, en partie à cause de la façon dont le modèle a été entraîné et en partie à cause de l'ensemble de données lui-même :

Par conséquent, il semble logique de récupérer un document en fonction de son texte plutôt que de son image. Et, comme nous pouvons le voir dans le graphique ci-dessous, nous obtenons de bien meilleurs résultats en comparant la requête textuelle ... for undocumented immigrants helping to establish legal status in the United States au contenu textuel du corpus. En fait, la recherche par image ne parvient pas du tout à récupérer le document de vérité de terrain (mis en évidence en jaune) :

top_k de 3.Mais ne vous y trompez pas. Malgré le fait que la requête-texte affiche des scores de similarité plus élevés, les scores de similarité requête-texte et requête-image ne sont pas comparables. Nous pouvons le constater en examinant recall@10 lorsque nous utilisons jina-clip-v2 pour récupérer 32 documents de l'ensemble de données EDIS. Il est clair que le rappel est plus élevé avec requête-image :
| Recall@10 | |
|---|---|
| Requête-texte | 14.55 |
| Requête-image | 22.38 |
Nous pouvons le voir ci-dessous : Si nous utilisons une requête de l'ensemble de données, Ear ear An elephant is decorated with Bhartiya Janta Party symbols near the BJP headquarters in New Delhi., nous ne pouvons récupérer le document de vérité de terrain que par son contenu image. La recherche par son contenu textuel ne renvoie aucune correspondance :

top_k de 3.Donc, si les scores de similarité impliquent que nous devrions récupérer les documents à partir de leur texte, et que le rappel implique que nous devrions les récupérer à partir de leurs images, lequel devrions-nous choisir ? Les figures 3 et 4 ne suggèrent certainement pas de vainqueur absolu. Quelle modalité présente réellement la correspondance la plus étroite entre notre requête et le document que nous recherchons ? Et si nous voulons fusionner les candidats de la récupération requête-texte et requête-image, comment pouvons-nous sélectionner de manière significative les meilleures correspondances si nous ne pouvons même pas comparer les scores ? Il est clair que l'utilisation de jina-clip-v2 ne suffit pas. Nous devons ajouter un autre modèle au mélange.
tagUn pipeline simple en deux étapes
En avril 2025, nous avons publié jina-reranker-m0, un re-classeur (Reranker) multilingue et multimodal pour la récupération de documents visuels. Nous pouvons voir son écart de modalité plus étroit ci-dessous, où jina-reranker-m0 affiche des scores de similarité requête-texte et requête-image comparables, contrairement à l'écart beaucoup plus important affiché par jina-clip-v2 :

Dans cette optique, nous pouvons utiliser jina-reranker-m0 pour une deuxième passe dans la chaîne de récupération, après que les résultats initiaux ont été récupérés à partir de jina-clip-v2 :
Étape 1 : Récupérer les candidats des deux modalités
- Utiliser jina-clip-v2 pour obtenir 16 documents via la recherche de texte + 16 via la recherche d'images
- Accepter que nous ne pouvons pas encore comparer les scores
Étape 2 : Re-classement (Reranker) unifié
- Injecter chaque paire (requête + document complet) dans jina-reranker-m0
- Le re-classeur (Reranker) traite à la fois le texte ET l'image ensemble
- Sortie : Score de pertinence unique sur une échelle unifiée

Nous avons étendu les expériences du tableau 1, en utilisant maintenant jina-clip-v2 pour récupérer les documents du corpus, puis jina-reranker-m0 pour les re-classer (Reranker) :
- Récupérer 32 documents via requête-texte, puis re-classer (Reranker) en fonction du score requête-texte.
- Récupérer 32 documents via requête-image, puis re-classer (Reranker) en fonction du score requête-image.
- Récupérer 16 documents via requête-texte et 16 via requête-image. Re-classer (Reranker) en fonction du score requête-texte ou requête-image, selon la modalité de la requête.
- Récupérer 16 documents via requête-texte et 16 via requête-image. Re-classer (Reranker) en fonction des scores moyens requête-texte et requête-image de chaque document, ce qui donne un score final de (requête-texte + requête-image)/2.
| Experiment | Description | Recall@10 - with jina-clip-v2 | Recall@10 - with jina-reranker-m0 |
|---|---|---|---|
| 1 | 32 docs: query-to-text | 14.55 | 17.42 |
| 2 | 32 docs: query-to-image | 22.38 | 28.94 |
| 3 | 16 docs: query-to-text 16 docs: query-to-image |
14.55 | 33.81 |
| 4 | 16 docs: query-to-text 16 docs: query-to-image Combined average reranker scores |
14.55 | 36.24 |
Comme nous pouvons le constater, en effectuant une deuxième passe avec jina-reranker-m0, le rappel augmente globalement, quelle que soit la modalité. Cependant, nous constatons l'augmentation la plus importante lorsque nous combinons le contenu textuel et image des documents récupérés, atteignant un recall@10 de 36,24. Un exemple visuel montre que jina-reranker-m0 classe systématiquement le document de vérité terrain en premier, que la recherche porte sur du texte ou du contenu image :

top_k de 1 résultat pour chaque méthodologie de re-classement (Reranker) (quatre colonnes à droite), montrant que la combinaison des scores de similarité image et texte classe systématiquement le document de vérité terrain en premier.top_k de 3 pour les différentes méthodes de récupération, pour des raisons d'espace, la figure 7 ne montre qu'un top_k de 1 pour chaque requête.tagConclusions
Cette approche simple en deux étapes offre une amélioration de 62 % du rappel, car le système exploite enfin ce que les humains font naturellement : considérer à la fois ce que nous lisons et ce que nous voyons pour déterminer la pertinence. La leçon s'étend au-delà de la recherche : lorsque vous travaillez avec des systèmes d'IA multimodaux, les approches à une seule passe qui traitent les modalités séparément se heurteront toujours à ce mur d'incompatibilité de score. Les architectures en deux étapes qui récupèrent largement puis classent intelligemment deviennent essentielles. Essayez jina-reranker-m0 via notre API ou sur AWS, GCP et Azure.








