Configurer les paramètres des champs

Cette page explique comment configurer les champs de schéma pour configurer une application pour des données structurées, pour des données non structurées avec des métadonnées ou pour des données de site Web avec des attributs structurés personnalisés.

Les paramètres de champ permettent de déterminer comment Agent Search utilise les champs dans ses résultats. Vous pouvez utiliser l'onglet Schéma de la Google Cloud console pour configurer les paramètres de champ.

La configuration des paramètres de champ n'est disponible que pour les applications avec des datastores contenant des données structurées ou des données non structurées avec des métadonnées.

Paramètres de champ

Les paramètres de champ suivants sont disponibles pour de nombreux types de champs dans vos données de recherche ou de recommandations, mais pas pour tous les types de données. Un schéma contient plusieurs paramètres de champ pour des champs individuels. Le tableau suivant contient les paramètres qui peuvent être appliqués à un champ dans un schéma. L'utilisation de données structurées est fortement recommandée pour ces paramètres de champ :

Paramètre Définition Objectif Exemple de cas d'utilisation
Indexable

La définition de champs indexables permet d'effectuer des opérations telles que le filtrage, l'amplification et la segmentation sur des champs structurés dans un document.

Les champs de type Object ne peuvent pas être définis sur Indexable.

Le fait de marquer un champ comme Indexable permet d'effectuer des recherches plus rapides.

Notez que le fait de marquer un champ comme Indexable augmente la taille de l'index de recherche et peut ralentir l'indexation.

Dans un data store d'hôtels, vous pouvez définir un champ, tel que hotel_chain, comme indexable. Cela vous permet d'appliquer des opérations de classement, de filtrage et d'amplification sur hotel_chain. Par exemple, vous pouvez appliquer un filtre pour que la recherche ne renvoie que les résultats de recherche contenant la chaîne hôtelière filtrée.
Inclus dans l'index de recherche

Les champs les plus susceptibles d'être liés aux recherches sont désignés comme Searchable. Un champ peut être inclus dans l'index de recherche sans être indexable ni récupérable.

Seuls les champs contenant des valeurs textuelles peuvent être marqués comme inclus dans l'index de recherche. Ainsi, un champ de prix numérique peut être indexable (pour le filtrage ou la segmentation), mais ne peut pas être inclus dans l'index de recherche en tant que texte intégral.

Définir un champ sur Inclus dans l'index de recherche améliore le rappel pour ce champ dans les requêtes de recherche, ce qui permet aux utilisateurs de trouver du contenu, tel que des pages Web, en interrogeant le texte de ces champs. Le fait de marquer un champ comme inclus dans l'index de recherche permet d'appliquer un classement. Par conséquent, le fait de marquer un nombre excessif de champs comme inclus dans l'index de recherche peut avoir un impact négatif sur la précision de la recherche en sursaturant l'algorithme de classement et en renvoyant trop de résultats. Cela peut entraîner des résultats de recherche non pertinents.

Vous pouvez appliquer une pondération relative aux champs inclus dans l'index de recherche. Toutefois, en raison de valeurs par défaut robustes, cela est rarement nécessaire. Consultez la section Pondérer les champs inclus dans l'index de recherche ci-dessous.

Le système de tickets d'assistance d'un fournisseur d'accès à Internet stocke chaque ticket sous forme de document structuré document. Si ces documents contiennent des champs de texte inclus dans l'index de recherche, tels que issue_description ou resolution_notes, un agent d'assistance peut effectuer une requête liée au contenu de ces champs, par exemple comment résoudre les problèmes de lenteur de la connexion Internet après la réinitialisation du modem. Le système affiche ensuite les documents contenant l'un de ces termes de recherche, y compris modem, internet et vitesse, dans l'un des champs issue_description ou resolution_notes, ou dans les deux.

Ajout d'attributs dynamique Fournit des filtres contextuels pour mieux cibler les recherches des utilisateurs. Définir un champ comme Dynamic Facetable permet au système de générer automatiquement des filtres interactifs (attributs) en fonction des valeurs uniques présentes dans le champ. Définir un champ sur Dynamic facetable permet aux utilisateurs d'affiner dynamiquement les résultats de recherche en sélectionnant des catégories ou des attributs directement dérivés de vos données ingérées, sans avoir à prédéfinir manuellement toutes les options de filtre possibles. Cela permet à l'utilisateur d'affiner sa recherche pour trouver un contenu Web très spécifique.
Utilisez Ajout d'attributs dynamique avec Inclus dans l'index de recherche pour obtenir de meilleurs résultats, ce qui améliore à la fois le rappel de votre recherche et la qualité des attributs proposés à l'utilisateur.
Les pages d'une base de connaissances interne à l'entreprise, telles que les règles RH, sont ingérées avec des données telles que department, document_type, ou last_modified_date. Si ces champs sont tagués comme dynamic facetable, une recherche d'un employé pour un terme tel que remboursement des dépenses génère dynamiquement des filtres interactifs en fonction des résultats pertinents trouvés. Dans ce cas, l'interface Web peut afficher des attributs pour Département : Finance, Voyages, Type de document : Règlement, Questions fréquentes ou Date de dernière modification : Ce trimestre, L'année dernière.
Récupérable Lorsqu'une requête de recherche trouve du contenu correspondant, le moteur de recherche peut extraire les valeurs des champs récupérables pour les afficher ou les utiliser dans l'application, ce qui signifie que les informations du document d'origine sont affichées dans les résultats de recherche. Les champs clés (identifiants uniques des documents) sont configurés comme récupérables. Les champs récupérables fournissent un contexte de recherche en distinguant les champs dont les valeurs peuvent être affichées de ceux qui ne doivent être utilisés que dans la logique de recherche, mais dont les valeurs brutes ne sont pas destinées à être affichées à l'utilisateur final. Pour une recherche de produits sur le site d'un marchand, product_id, name, price et un image_url sont des champs types que vous souhaitez définir comme récupérables. En revanche, internal_tracking_code ne peut être indexé et filtrable qu'à des fins administratives, mais pas récupérable dans les résultats de recherche publics.
À compléter Permet d'utiliser le contenu d'un champ pour les suggestions de requêtes de recherche. Pour en savoir plus, consultez Configurer la saisie semi-automatique.

Ce paramètre permet d'utiliser les valeurs de ce champ pour fournir des suggestions de requêtes en temps réel lorsque les utilisateurs saisissent du texte. Cette fonctionnalité aide vos utilisateurs à trouver du contenu pertinent et accélère le processus de recherche. Certains facteurs, tels que l'utilisation du filtrage en langage naturel peuvent avoir un impact sur ces performances.

Si le champ completable est défini pour product_name, brand, et category, lorsque l'utilisateur saisit Tech, les suggestions de saisie semi-automatique peuvent afficher :
  • TechCo (à partir du champ brand)
  • TechCo UltraBook X1 (à partir du champ product_name )
  • Technologie GameMaster Pro (un autre produit du champ category)
Filtrable Permet aux recommandations d'utiliser un champ pour filtrer les résultats recommandés, en déterminant les résultats de recherche que vos utilisateurs voient. Pour en savoir plus sur le filtrage des recommandations, consultez Filtrer les recommandations. Définir un champ sur Filterable permet de personnaliser les recommandations pour les utilisateurs. Notez que des limites de filtrage s'appliquent. Un paramètre de filtre par langue et par genre pourrait se présenter comme suit : language_code: ANY("en", "fr") OR categories: ANY("drama").

Différences entre les paramètres couramment utilisés

Il existe des différences clés entre les paramètres de champ indexable, inclus dans l'index de recherche et récupérable. Le tableau récapitule ces différences.

Fonctionnalité Indexable Inclus dans l'index de recherche Récupérable
Rôle principal Rend le contenu du champ disponible pour le moteur de recherche Permet d'interroger le contenu du champ en texte intégral Permet de renvoyer la valeur du champ dans les résultats de recherche
Analyse Le contenu est traité et placé dans un index. Subit généralement une analyse lexicale approfondie. La valeur est stockée telle quelle pour l'affichage.
Peut-il être...
… inclus dans l'index de recherche ? Oui (souvent une condition préalable) N/A Pas nécessairement (peut être récupérable sans être inclus dans l'index de recherche)
… récupérable ? Pas nécessairement Pas nécessairement N/A
… filtrable/triable/segmentable ? Oui (généralement une condition préalable pour ceux-ci également) Pas directement. Il s'agit d'attributs distincts souvent basés sur un champ indexable. Pas directement. Ces attributs sont liés à la façon dont le champ est indexé et interrogé, et pas seulement affiché.

En pratique, de nombreux champs essentiels pour l'expérience utilisateur (tels que les titres, les descriptions et les informations d'identification) sont souvent définis comme indexable, searchable et retrievable.

Limites

Les paramètres de champ présentent les limites suivantes :

  • Vous pouvez configurer jusqu'à 50 champs comme indexables, inclus dans l'index de recherche, récupérables ou avec ajout d'attributs dynamique.
  • Pour configurer un champ comme avec ajout d'attributs dynamique, il doit d'abord être configuré comme indexable.
  • La modification du paramètre indexable nécessite une réindexation des données, ce qui peut prendre des heures, en particulier pour les grands datastores.

Si vous configurez des champs pour une application de recherche multimédia et que vous souhaitez obtenir des informations détaillées sur les champs du schéma, consultez À propos des documents multimédias et des datastores.

Modifier les paramètres de champ

Pour modifier les paramètres de champ :

  1. Dans la Google Cloud console, accédez à la page Applications d'IA.

    AI Applications

  2. Cliquez sur le nom de l'application que vous souhaitez modifier.

  3. Cliquez sur Data (Données).

  4. Cliquez sur l'onglet Schéma. Cet onglet affiche les paramètres de champ actuels.

    L'onglet Schéma ne s'affiche pas si votre data store contient des données de site Web de base ou des données non structurées sans métadonnées.

  5. Cliquez sur Modifier.

  6. Sélectionnez ou désélectionnez les paramètres de champ que vous devez modifier. Certains paramètres de champ ne sont pas compatibles. Par exemple, les champs numériques ne peuvent pas être définis sur Inclus dans l'index de recherche.

  7. Cliquez sur Enregistrer pour appliquer les modifications.

Si vous marquez un champ comme inclus dans l'index de recherche, vous pouvez spécifier une pondération pour indiquer son importance relative dans les résultats de recherche. Dans la plupart des cas, il n'est pas nécessaire de spécifier des pondérations pour des champs individuels, car les pondérations par défaut fonctionnent correctement.

Toutefois, il peut être nécessaire d'ajuster les pondérations dans certaines situations, par exemple :

  • Vous migrez des données à partir d'une plate-forme de recherche existante qui utilise déjà des champs pondérés.

  • Lorsque les pondérations par défaut ne fournissent pas de résultats de recherche satisfaisants. Plus précisément, cela peut se produire lorsque vous avez de nombreux champs inclus dans l'index de recherche et que certains sont nettement plus importants que d'autres.

    Par exemple, le résumé est le champ le plus important pour les recherches et vous souhaitez donc donner la priorité à ce texte.

    Ou encore, le schéma comporte un champ contenant des mots clés très pertinents qui sont d'excellents prédicteurs pour les résultats de recherche, mais, comme ce champ est beaucoup plus court que d'autres, son influence est souvent éclipsée par des champs plus longs. L'augmentation de sa pondération garantit qu'il a l'impact souhaité.

Niveaux de pondération

Les pondérations sont regroupées dans les niveaux suivants :

Importance du champ Explication
Très faible Une faible valeur que le système prend toujours en compte lorsqu'il combine les scores de tous les champs. Si vous souhaitez une pondération encore plus faible afin que l'effet soit négligeable, ne marquez pas le champ comme inclus dans l'index de recherche.
Faible Une pondération inférieure à la valeur par défaut.
Par défaut Pondération standard pour les champs inclus dans l'index de recherche. Cette pondération offre des performances raisonnablement bonnes dans la plupart des cas.
Haute Une pondération nettement supérieure à la valeur par défaut.
Très élevée Une pondération dominante. En règle générale, vous réservez cette pondération à un seul champ au maximum.

Mise à jour du schéma et réindexation

L'ajout de pondérations aux champs inclus dans l'index de recherche nécessite une mise à jour du schéma et une réindexation ultérieure des données dans le data store. La mise à jour du schéma prend des heures, et il n'existe aucun indicateur fiable pour vous indiquer quand l'indexation est terminée. Vous devez donc surestimer le temps d'indexation.

Définir des niveaux de pondération sur les champs

La tâche de définition des niveaux de pondération pour les champs peut être fastidieuse, car vous ne devez apporter que de petites modifications et examiner attentivement les résultats de recherche par la suite pour vérifier qu'il n'y a pas de conséquences involontaires. Après chaque modification, vous devez attendre la fin de la réindexation avant de pouvoir évaluer l'impact de la modification.

Vous ne pouvez configurer la pondération des champs de recherche que via l'API. Cette fonctionnalité n'est pas disponible dans la Google Cloud console.

Pour définir des pondérations, vous devez mettre à jour le schéma du data store via la méthode d'API projects.locations.dataStores.schemas.patch.

  1. Si vous n'avez pas encore votre schéma déjà, suivez les instructions pour obtenir votre schéma dans Afficher une définition de schéma.

  2. Suivez les instructions pour mettre à jour le schéma de manière programmatique. Ajoutez des pondérations à un ou plusieurs champs inclus dans l'index de recherche, comme dans ces exemples :

    "summary": {
       "type": "string",
       "searchable": true,
       "weight": "high"
     },
     "uri": {
       "type": "string",
       "searchable": true,
       "weight": "low"
     },
    

    Dans cet exemple, le champ summary est défini sur une pondération supérieure à la normale et le champ uri sur une pondération inférieure. Si vous souhaitez rétablir la valeur par défaut d'une pondération, définissez-la sur default.

    Les valeurs autorisées pour le paramètre de pondération sont les suivantes :

    • very_low
    • low
    • default
    • high
    • very_high
  3. Attendez la fin de la réindexation et testez le comportement de la recherche.

Étape suivante