Tous les produits
Search
Centre de documentation

OpenSearch:Reconnaissance d'entités

Dernière mise à jour :Aug 10, 2026

Vue d'ensemble

La reconnaissance d'entités, ou reconnaissance d'entités nommées (NER), identifie les entités sémantiques dans une requête de recherche. L'analyse des requêtes exploite ensuite ces résultats pour réécrire la requête selon la priorité de chaque type d'entité. Cette approche garantit que les documents récupérés correspondent à l'intention de recherche de l'utilisateur. Actuellement, la fonctionnalité de reconnaissance d'entités dans OpenSearch prend uniquement en charge le secteur du e-commerce. Les principaux types d'entités sont les suivants :

Catégorie

Mot courant

Matière

Style

Élément de style

Couleur

Marque

Fonctionnalité

Taille/Spécification

Qualité/État

Scénario

Personnes

Ensemble

Période/Saison

Modèle

Nouvelle parution

Série

Service marketing

Lieu/Région

Nom de personne

Produits culturels

Organisation

Titre de film/série TV

Titre de jeu

Nombre

Unité

Catégorie

Nouveau mot

Modificateur

Nom propre

Modificateur de catégorie

Symbole

Préfixe

Suffixe

Cadeau

Négation

Agent

Fonctionnement de la reconnaissance d'entités

Dans l'analyse des requêtes, la reconnaissance d'entités sert principalement à la réécriture des requêtes et à la prédiction de catégories.

Réécriture des requêtes

L'analyse des requêtes OpenSearch génère jusqu'à deux requêtes réécrites. La première est plus précise. La seconde utilise moins de termes pour élargir la recherche, ce qui s'avère utile lorsque la première renvoie trop peu de résultats.

La réécriture des requêtes repose sur la priorité des entités. Lors de la récupération, les termes des entités à haute priorité sont conservés pour garantir leur utilisation lors du rappel. Les termes des entités à faible priorité n'affectent pas le rappel, mais influencent uniquement le tri algorithmique. Les priorités des entités se déclinent en trois niveaux : élevé, moyen et faible.

Les règles de réécriture des requêtes sont les suivantes :

  1. Les entités à haute priorité sont systématiquement incluses dans les conditions de récupération.

  2. Les entités à faible priorité ne sont jamais incluses dans les conditions de récupération.

  3. Pour les entités à priorité moyenne, leur prépondérance diminue selon l'ordre configuré dans l'analyse des requêtes. Les règles de réécriture s'appliquent comme suit :

    1. Si une requête contient des entités à haute priorité, le système inclut les entités à priorité moyenne dans la première requête réécrite, mais les exclut de la seconde.

    2. Si une requête ne contient aucune entité à haute priorité, le système inclut les entités à priorité moyenne dans la première requête réécrite. Dans la seconde, il ne retient que les termes du type d'entité à priorité moyenne le mieux classé ; tous les autres sont exclus.

  4. Si la requête ne contient ni entités à haute ni à moyenne priorité, les résultats de la reconnaissance d'entités ne servent pas à la réécriture de la requête.

  5. Si une requête ne contient que des entités à haute priorité, ou uniquement des entités à haute et faible priorité, le système ne génère qu'une seule requête réécrite.

Exemple :

Supposons que les priorités des entités soient définies comme suit :

High: Category
Medium: Brand, Material, style element, Style, Color

1. Requête contenant des entités à haute et moyenne priorité :

query=default:'Yang Mi same style Nike slim-fit dress free shipping'
Entity Recognition result: Yang Mi (Person name) same style (Suffix) Nike (Brand) slim-fit (style element) dress (Category) free shipping (Marketing service)
Rewritten queries:
Query1: (default:'Nike' AND default:'slim-fit' AND default:'dress' RANK default:'Yang Mi' RANK default:'free shipping' RANK default:'same style')
Query2: (default:'dress' RANK default:'Yang Mi' RANK default:'Nike' RANK default:'free shipping' RANK default:'same style' RANK default:'slim-fit')

2. Requête contenant des entités à haute et faible priorité :

query=default:'dress free shipping'
Entity Recognition result: dress (Category) free shipping (Marketing service)
Rewritten query:
Query1: (default:'dress' RANK default:'free shipping')

3. Requête ne contenant que des entités à haute priorité :

query=default:'dress'
Entity Recognition result: dress (Category)
Rewritten query:
Query1: (default:'dress')

4. Requête contenant des entités à moyenne et faible priorité :

query=default:'Nike slim-fit free shipping'
Entity Recognition result: Nike (Brand) slim-fit (style element) free shipping (Marketing service)
Rewritten queries:
Query1: (default:'Nike' AND default:'slim-fit' RANK default:'free shipping')
Query2: (default:'Nike' RANK default:'slim-fit' RANK default:'free shipping')

5. Requête ne contenant que des entités à faible priorité :

query=default:'Yang Mi same style free shipping'
Entity Recognition result: Yang Mi (Person name) same style (Suffix) free shipping (Marketing service)
No query is rewritten based on Entity Recognition.

Utilisation conjointe avec la prédiction de catégorie

Si une requête ne permet pas d'obtenir une prédiction de catégorie, le système supprime les termes peu pertinents par rapport à la catégorie et tente à nouveau la prédiction. Ce processus améliore considérablement la prédiction de catégorie pour les requêtes de longue traîne. Les types d'entités conservés durant cette opération incluent :

Category
People
time/season
style element
Style

Exemple :

Pour la requête Yang Mi (Person name) same style (Suffix) spring (time/season) slim-fit (style element) dress (Category), les requêtes après suppression de termes sont prioritaires dans l'ordre suivant :

spring slim-fit dress
spring dress
slim-fit dress
dress

Le système tente la prédiction de catégorie en utilisant ces requêtes selon l'ordre spécifié.

Procédure

1. Dans la console OpenSearch, accédez à retrieval configuration dans le volet de navigation de gauche, puis cliquez sur query analysis configuration. Sélectionnez le nom de l'application et le type d'application (en ligne/hors ligne), puis cliquez sur Create.

2. Saisissez un nom de règle, sélectionnez une plage d'index, définissez Industry Type sur Enhanced Query Analysis for E-commerce, choisissez Entity Recognition comme fonctionnalité, puis cliquez sur OK.

Par défaut, les entity priorities sont les suivantes : Élevée (Brand, Category), Moyenne (Material, style element, Style, Color, functionality, Scenario, People, time/season, Model, location/region, Person name, Modifier, category modifier) et Faible (Size/Specification, Quality/Condition, Set, New release, Series, Marketing service, Cultural products, Organization). Vous pouvez personnaliser les types d'entités pour chaque niveau. Remarque : Lorsque vous personnalisez les entity priorities, le système utilise son dictionnaire intégré. Si le système identifie incorrectement des entités, utilisez un dictionnaire d'intervention pour corriger les résultats.

3. Une fois la règle créée, testez ses performances de recherche.

Dans la liste des configurations d'analyse des requêtes, repérez la règle cible et cliquez sur Search Test dans la colonne Actions. Sur la page de test de recherche, saisissez une requête (par exemple, query=title:'Chinese style summer hanfu silk mulberry silk modified version cheongsam dress'), sélectionnez le nom de votre règle d'analyse des requêtes (par exemple, test_entity) pour le paramètre qp, puis cliquez sur Search. En bas de la page, la section Actual Query Executed by System indique comment la requête a été réécrite en plusieurs conditions AND pour le champ title, telles que (title:'Chinese' AND title:'style' AND title:'summer' AND title:'hanfu' AND title:'silk' AND title:'mulberry' AND title:'silk' AND title:'modified' AND title:'version' AND title:'cheongsam' AND title:'dress'). Cliquez sur View query analysis details pour consulter l'analyse détaillée. Lors du test de recherche, la fenêtre contextuelle Query analysis details affiche la requête réécrite (une expression de recherche booléenne), la requête d'origine et le nom de l'index. Elle présente également les résultats de traitement des fonctionnalités sous forme de tableau, incluant la sortie spécifique de normalization, tokenization et Entity Recognition, et fournit des liens de configuration pour spelling correction, stop word, synonym et category prediction. En bas, un lien intitulé Incorrect query analysis? Go to intervene vous permet d'accéder au dictionnaire d'intervention pour effectuer des corrections.

4. Une fois le débogage terminé et la règle fonctionnant comme prévu, accédez à la page d'analyse des requêtes et basculez vers l'onglet "Index View". Repérez votre règle et cliquez sur Set as Default dans la colonne Actions pour en faire la règle par défaut.

5. Après avoir défini une règle d'analyse des requêtes personnalisée comme règle par défaut, l'interface utilisateur se met à jour comme suit :

Un tag [Default] est ajouté au nom de la règle, par exemple, [Default] test_entity.

Dictionnaire d'intervention pour la reconnaissance d'entités

Étant donné que le sens d'un terme peut varier selon le scénario métier, OpenSearch propose un dictionnaire d'intervention pour la reconnaissance d'entités, vous permettant de personnaliser la signification des entités. Vous pouvez intervenir de deux manières principales : en corrigeant directement les résultats de la reconnaissance d'entités ou en ajustant les priorités des entités. Si la reconnaissance d'entités est imprécise, utilisez le dictionnaire d'intervention pour apporter des corrections. La création et l'association d'un dictionnaire d'intervention à votre règle d'analyse des requêtes vous permettent de remplacer le comportement par défaut de la fonctionnalité de reconnaissance d'entités. Pour plus de détails sur la configuration et l'utilisation des dictionnaires d'intervention, consultez Dictionnaires d'intervention.