Configurer le classeur sémantique et retourner des légendes dans les résultats de la recherche
Le classement sémantique itère sur un jeu de résultats initial, en appliquant une méthodologie de classement L2 qui privilégie les résultats les plus sémantiquement pertinents en haut de la pile. Vous pouvez également obtenir des légendes sémantiques, avec des mises en surbrillance sur les termes et expressions les plus pertinents, ainsi que des réponses sémantiques.
Cet article explique comment configurer un index de recherche pour la reclassement sémantique.
Prérequis
Un service de recherche sur un niveau Essentiel ou supérieur, soumis à la disponibilité de la région.
Classeur sémantique activé sur votre service de recherche.
Un index de recherche existant avec du contenu texte varié. Le classement sémantique s’applique à des champs de chaînes (non vectoriels), et fonctionne le mieux sur du contenu qui est d’ordre informationnel ou descriptif.
Choisissez un client
Vous pouvez utiliser l’un des outils et Kits de développement logiciel (SDK) suivants pour ajouter une configuration sémantique :
- Portail Azure, avec le concepteur d’index pour ajouter une configuration sémantique
- Visual Studio Code avec le client REST
- Kit de développement logiciel (SDK) Azure pour .NET
- Kit de développement logiciel (SDK) Azure pour Python
- Kit de développement logiciel (SDK) Azure pour Java
- Kit de développement logiciel (SDK) pour JavaScript
Ajouter une configuration sémantique
Une configuration sémantique est une section de votre index qui spécifie les entrées des champs pour le classement sémantique. Vous pouvez ajouter ou mettre à jour une configuration sémantique à tout moment, sans devoir reconstruire votre index. Si vous créez plusieurs configurations, vous pouvez spécifier une configuration par défaut. À l’exécution de la requête, spécifiez une configuration sémantique sur une demande de requête ou laissez-la vide pour utiliser la configuration par défaut.
Une configuration sémantique a un nom et les propriétés suivantes :
Propriété | Caractéristiques |
---|---|
Champ Titre | Une chaîne courte, idéalement de moins de 25 mots. Ce champ peut être le titre d’un document, le nom d’un produit ou un identificateur unique. Si vous n’avez pas de champ approprié, laissez-le vide. |
Champs de contenu | Des blocs de texte plus longs en langage naturel, soumis à des limites maximales d’entrées de jeton sur les modèles Machine Learning. Le corps d’un document, la description d’un produit ou tout autre texte libre en sont des exemples courants. |
Champs de mot clé | Une liste de mots clés, tels que les étiquettes d’un document, ou un terme descriptif, comme la catégorie d’un élément. |
Vous pouvez spécifier seulement un champ de titre, mais vous pouvez avoir autant de champs de contenu et de mot clé que vous le souhaitez. Pour les champs de contenu et de mot clé, listez les champs par ordre de priorité, car les champs de moindre priorité peuvent être tronqués.
Pour toutes les propriétés de configuration sémantique, les champs que vous affectez doivent être :
- Avec les attributs
searchable
etretrievable
- Chaînes de type
Edm.String
,Collection(Edm.String)
, sous-champs de chaîne deEdm.ComplexType
Connectez-vous au portail Azure, puis accédez à un service de recherche pour lequel le classement sémantique est activé.
Dans le volet de navigation de gauche, à partir des Index, sélectionnez un index.
Sélectionnez Configurations sémantiques, puis Ajouter une configuration sémantique.
Sur la page Nouvelle configuration sémantique, entrez un nom de configuration sémantique, puis sélectionnez les champs à utiliser dans la configuration sémantique. Seuls les champs de type chaîne pouvant faire l’objet d’une recherche et récupérables sont autorisés. Veillez à répertorier les champs de contenu et les champs de mot clé par ordre de priorité.
Sélectionnez Enregistrer pour enregistrer les paramètres de configuration.
Sélectionnez à nouveau Enregistrer sur la page d’index pour enregistrer la configuration sémantique dans l’index.
Migrer depuis des versions antérieures
Si votre code de classement sémantique utilise les API en préversion, cette section explique comment migrer vers des versions stables. Vous pouvez consulter les journaux des modifications pour vérifier la disponibilité générale :
- 2024-07-01 (REST)
- Journal des modifications pour le kit de développement logiciel Azure SDK pour .NET (11.5)
- Journal des modifications pour le kit de développement logiciel Azure SDK pour Python (11.4)
- Journal des modifications pour le kit de développement logiciel Azure SDK pour Java (11.6)
- Journal des modifications pour le kit de développement logiciel Azure SDK pour JavaScript (12.0)
queryLanguage pour un classeur sémantique
Depuis le 14 juillet 2023, le classeur sémantique est indépendant de la langue. Il peut reclasser des résultats composés de contenu multilingue, sans biais en faveur d’une langue spécifique. Dans les préversions, le classement sémantique diminuait la priorité des résultats qui différaient de la langue spécifiée par l’analyseur de champs.
Arrêtez d’utiliser queryLanguage
dans votre code si vous l’utilisiez pour le classement sémantique. La propriété queryLanguage
est toujours applicable aux fonctionnalités telles que correction orthographique, mais pas au classement sémantique.
searchFields pour un classeur sémantique
Pour tous les packages de Kit de développement logiciel (SDK) et l’API REST ciblant la version 2021-04-30-Preview
et ultérieure, la propriété searchFields
n’est plus utilisé pour le classement sémantique.
Utilisez à la place la propriété semanticConfiguration
(dans un index de recherche) pour déterminer les champs de recherche utilisés dans un classement sémantique. Pour spécifier une hiérarchisation de champs, ajoutez une semanticConfiguration
à un schéma d’index en suivant les instructions fournies dans cet article.
Vous pouvez conserver searchFields
dans les demandes de requête si vous l’utilisez pour limiter la recherche en texte intégral à la liste de champs nommés.
Étapes suivantes
Testez votre configuration sémantique en exécutant une requête sémantique.