Classement sémantique dans la Recherche Azure AI

Dans la Recherche Azure AI, le classement sémantique améliore sensiblement la pertinence de la recherche à l’aide de la compréhension du langage pour reclasser les résultats de la recherche. Cet article est une présentation générale. La section finale porte sur la disponibilité et les tarifs.

Le classeur sémantique est une fonctionnalité Premium facturée à l’utilisation. Nous vous recommandons cet article pour vous familiariser avec le sujet, mais si vous préférez commencer sans plus attendre, procédez comme suit :

Remarque

Le classement sémantique n’utilise pas l’IA générative ni les vecteurs. Vous êtes en quête d’une prise en charge des vecteurs et d’une recherche de similarité ? Pour plus d’informations, consultez Recherche vectorielle dans la Recherche Azure AI.

Qu’est-ce que le classement sémantique ?

Le classeur sémantique est une collection de fonctionnalités liées aux requêtes qui améliorent la qualité des résultats de recherche classés par BM25 ou classés par RRF pour les requêtes textuelles. Lorsque vous l’activez sur votre service de recherche, le classement sémantique étend le pipeline d’exécution de requête de deux façons :

  • Tout d’abord, il ajoute un classement secondaire sur un jeu de résultats initial qui a été marqué à l’aide de BM25 ou RRF. Ce classement secondaire utilise des modèles de deep learning multilingues adaptés à Microsoft Bing pour promouvoir les résultats les plus sémantiquement pertinents.

  • Deuxièmement, elle extrait et retourne des légendes et des réponses dans la réponse, que vous pouvez afficher sur une page de recherche pour améliorer l’expérience de recherche de l’utilisateur.

Voici les fonctionnalités du reclasseur sémantique.

Fonctionnalité Description
Classement sémantique Utilise le contexte ou la signification sémantique d’une requête pour calculer un nouveau score de pertinence sur les résultats préclassés.
Légendes et mises en surbrillance sémantiques Extrait des phrases détaillées et des expressions d’un document qui résume le mieux le contenu, avec des mises en surbrillance sur les passages clés pour faciliter l’analyse. Les légendes qui résument un résultat sont utiles lorsque les champs de contenu individuels sont trop denses pour la page des résultats de recherche. Le texte mis en surbrillance élève les termes et expressions les plus pertinents afin que les utilisateurs puissent déterminer rapidement la raison pour laquelle une correspondance a été considérée comme pertinente.
Réponses sémantiques Sous-structure facultative et supplémentaire retournée à partir d’une requête sémantique. Elle fournit une réponse directe à une requête qui ressemble à une question. Elle exige qu’un document comporte du texte avec les caractéristiques d’une réponse.

Fonctionnement du classeur sémantique

Le classement sémantique alimente les modèles de compréhension de langage hébergés par Microsoft avec une requête et les résultats et recherche ensuite les meilleures correspondances.

L’illustration suivante explique le concept. Regardez le terme « capital ». Il a des significations différentes selon que le contexte est financier, droit, géographie ou grammaire. Grâce à la compréhension du langage, l’éditeur de classement sémantique peut détecter le contexte et promouvoir les résultats qui correspondent à l’intention de requête.

Illustration of vector representation for context.

Le classement sémantique est gourmand en ressources et en temps. Pour terminer le traitement dans la latence attendue d’une opération de requête, les entrées du ranker sémantique sont consolidées et réduites afin que l’étape de reclassement puisse être effectuée le plus rapidement possible.

Il existe deux étapes de classement sémantique : résumé et scoring. Les sorties se composent de résultats, de légendes et de réponses rescoreés.

Comment les entrées sont collectées et résumées

Dans le classement sémantique, le sous-système de requête transmet les résultats de recherche en tant qu’entrée aux modèles de synthèse et de classement. Étant donné que les modèles de classement ont des contraintes de taille d’entrée et qu’ils traitent de manière intensive, les résultats de recherche doivent être dimensionnés et structurés (résumés) pour une gestion efficace.

  1. Le classement sémantique commence par un résultat classé BM25 à partir d’une requête de texte ou d’un résultat classé RRF à partir d’une requête hybride. Seuls les champs de texte sont utilisés dans l’exercice de reclassement, et seuls les 50 premiers résultats progressent vers le classement sémantique, même si les résultats incluent plus de 50. En règle générale, les champs utilisés dans le classement sémantique sont informatifs et descriptifs.

  2. Pour chaque document du résultat de recherche, le modèle de synthèse accepte jusqu’à 2 000 jetons, où un jeton est d’environ 10 caractères. Les entrées sont assemblées à partir des champs « title » (titre), « keyword » (mot clé) et « content » (contenu) répertoriés dans la configuration sémantique.

  3. Les chaînes excessivement longues sont coupées pour garantir que la longueur globale répond aux exigences d’entrée de l’étape de synthèse. Cet exercice de découpage est pourquoi il est important d’ajouter des champs à votre configuration sémantique dans l’ordre de priorité. Si vous avez des documents très volumineux avec des champs contenant beaucoup de texte, tout ce qui se trouve après la limite maximale est ignoré.

    Champ sémantique Limite de jetons
    « title » 128 Jetons
    « Mots clés 128 Jetons
    « content » (contenu) jetons restants
  4. La sortie de synthèse est une chaîne récapitulative pour chaque document, composée des informations les plus pertinentes de chaque champ. Les chaînes récapitulatives sont envoyées au ranker pour le scoring et à la lecture automatique des modèles de compréhension pour les légendes et les réponses.

    La longueur maximale de chaque chaîne récapitulative générée passée au ranker sémantique est de 256 jetons.

Sorties du classeur sémantique

À partir de chaque chaîne récapitulative, les modèles de compréhension de lecture automatique trouvent des passages qui sont les plus représentatifs.

Les sorties sont les suivantes :

  • Un légende sémantique pour le document. Chaque légende est disponible dans une version en texte brut et une version en surbrillance et compte souvent moins de 200 mots par document.

  • Une réponse sémantique facultative, en supposant que vous avez spécifié le paramètre answers, que la requête a été posée comme une question et qu’un passage se trouve dans la longue chaîne qui fournit une réponse probable à la question.

Les légendes et les réponses sont toujours textuelles à partir de votre index. Il n’existe aucun modèle d’IA générative dans ce flux de travail qui crée ou compose du nouveau contenu.

Comment les résumés sont évalués

Le scoring est effectué sur la légende et tout autre contenu de la chaîne récapitulative qui remplit la longueur du jeton 256.

  1. Les légendes sont évaluées sur le plan de leur pertinence conceptuelle et sémantique, par rapport à la requête fournie.

  2. Un @search.rerankerScore est affecté à chaque document en fonction de la pertinence sémantique du document pour la requête donnée. Les scores varient de 4 à 0 (élevé à faible), où un score plus élevé indique une pertinence plus élevée.

  3. Les correspondances sont répertoriées dans l’ordre décroissant par score et incluses dans la charge utile de réponse de requête. La charge utile comprend des réponses, du texte brut et des légendes en surbrillance, ainsi que tous les champs que vous avez marqués comme pouvant être extraits ou spécifiés dans une clause select.

Remarque

À compter du 14 juillet 2023, la distribution @search.rerankerScore change. L’effet sur les scores ne peut pas être déterminé à l’exception des tests. Si vous avez une dépendance de seuil dur sur cette propriété de réponse, réexécutez vos tests pour comprendre ce que les nouvelles valeurs doivent être pour votre seuil.

Fonctionnalités et limitations sémantiques

Le classeur sémantique étant une technologie récente, il est important de définir des attentes quant à ce qu’il peut faire et ce qu’il ne peut pas faire. Ce qu’il peut faire :

  • Promouvoir les correspondances qui sont sémantiquement plus proches de l’intention de la requête d’origine.

  • Recherchez des chaînes à utiliser comme légendes et réponses. Les légendes et les réponses sont retournées dans la réponse et peuvent être affichées dans une page de résultats de recherche.

Ce que le classement sémantique ne peut pas effectuer est réexécuter la requête sur l’ensemble du corpus pour trouver des résultats sémantiquement pertinents. Le classement sémantique reclasse le jeu de résultats existant, composé des 50 premiers résultats, comme indiqué par l’algorithme de classement par défaut. En outre, le classement sémantique ne peut pas créer d’informations ni de chaînes. Les légendes et les réponses sont extraites détaillées de votre contenu. Par conséquent, si les résultats n’incluent pas de texte de type réponse, les modèles de langue ne en produisent pas.

Bien que le classement sémantique ne soit pas avantageux dans chaque scénario, certains contenus peuvent tirer parti de ses fonctionnalités de manière significative. Les modèles de langage dans le classement sémantique fonctionnent mieux sur le contenu pouvant faire l’objet d’une recherche riche et structurée en prose. Une base de connaissances, une documentation en ligne ou des documents contenant du contenu descriptif voient les gains les plus importants des fonctionnalités de classement sémantique.

La technologie sous-jacente provient de Bing et de Microsoft Research, et est intégrée à l’infrastructure Recherche Azure AI en tant que fonctionnalité de module complémentaire. Pour plus d’informations sur les investissements de recherche et d’IA qui appuient le classement sémantique, consultez Comment l’IA de Bing alimente la Recherche Azure AI (Issues du blog Microsoft Research).

La vidéo suivante fournit une vue des fonctionnalités.

Disponibilité et tarification

Le classeur sémantique est disponible dans les services de recherche aux niveaux De base et supérieurs, sous réserve d’une disponibilité régionale.

Lorsque vous activez le classeur sémantique, choisissez un plan tarifaire pour la fonctionnalité :

  • Au niveau des volumes de requêtes inférieurs (moins de 1 000 par mois), le classement sémantique est gratuit.
  • À des volumes de requêtes plus élevés, choisissez le plan tarifaire standard.

La page de tarification Recherche Azure AI affiche le taux de facturation pour différentes devises et intervalles.

Les frais de classement sémantique sont facturés lorsque les demandes de requête incluent queryType=semantic et que la chaîne de recherche n’est pas vide (par exemple, search=pet friendly hotels in New York). Si votre chaîne de recherche est vide (search=*), vous n’êtes pas facturé, même si le queryType est défini sur sémantique.

Voir aussi