La prédiction de catégorie utilise un modèle entraîné pour associer une requête de recherche à une catégorie de produits, puis classe les résultats de cette catégorie plus haut. Par exemple, une requête telle que « chaussures de course » correspond à « Sports > Chaussures », ce qui fait apparaître les chaussures de sport avant les résultats non pertinents. Une requête comme « denim » correspond à « Vêtements > Pantalons », classant les jeans avant les articles de décoration sur le thème du denim.
Pour activer la prédiction de catégorie, effectuez trois configurations : créez et entraînez un modèle, configurez une règle d'analyse de requête qui référence le modèle, et ajoutez une expression de tri qui appelle category_score.

Prérequis
Avant de commencer, assurez-vous d'avoir :
Configuré les champs ID de catégorie, titre du produit et nom de catégorie en tant que champs d'attribut dans le schéma de votre application
(Si vous utilisez des données de produits) Des données documentaires contenant les champs ID de catégorie, titre du produit et nom de catégorie
(Si vous utilisez des données comportementales) Des données de comportement de clic collectées via la collecte de données
Créer et entraîner un modèle de prédiction de catégorie
-
Dans le volet de navigation de gauche, sélectionnez Search Algorithm Center > Sort Configuration. Dans l'arborescence de navigation, cliquez sur Category Prediction Model, puis cliquez sur Create.

-
Sur la page Create Category Prediction, renseignez les détails du modèle.
Champ
Description
Obligatoire
Nom du modèle
Un nom pour le modèle
Oui
Data Type
Commodity Data : données documentaires de votre application. Nécessite les champs ID de catégorie, titre du produit et nom de catégorie. Behavior Data : données de comportement de clic collectées.
Oui
Category ID
Le champ représentant l'ID de catégorie dans les documents de votre application. Prend en charge le type de données INT. Doit être un entier positif ; une valeur non positive provoque une erreur serveur.
Oui
Commodity Title
Le champ représentant le titre du produit. Prend en charge les types de données TEXT et LITERAL.
Oui
Category Name
Le champ représentant le nom de la catégorie. Prend en charge les types de données TEXT et LITERAL.
Oui
Filter Condition
Une condition pour filtrer les données d'entraînement. Les noms de champs doivent correspondre à ceux du schéma de l'application. Prend en charge :
<,>,<=,>=,=,!=. Séparez plusieurs conditions par des virgules (,) — toutes les conditions utilisent la logique ET. La logique OU n'est pas prise en charge. Exemple :is_onsale > 0Non

-
Cliquez sur Completed pour accéder à la page des détails du modèle.

-
Sur la page Category Prediction Model, le statut du modèle est Pending Training. Cliquez sur Train dans la colonne Actions pour démarrer l'entraînement.

Le modèle passe par les états suivants :
État
Signification
Pending Training
Modèle créé, entraînement non démarré
Training
Entraînement du modèle en cours
Training Failed
Échec de l'entraînement dû à une erreur de données
Not Applied
Entraînement terminé, pas encore référencé pour la récupération ou le tri
Trained and Not Passed
Entraînement terminé, mais le modèle n'a pas validé l'entraînement
Si vous avez des questions, soumettez un ticket.
Configurer l'analyse de requête et les expressions de tri
Créer une règle d'analyse de requête
-
Dans le volet de navigation de gauche, sélectionnez Search Algorithm Center > Retrieval Configuration. Dans l'arborescence de navigation, cliquez sur Query Analysis Rule Configuration, puis cliquez sur Create.

-
Configurez la règle d'analyse de requête et enregistrez-la.

Appliquer le modèle au tri approximatif
Le tri approximatif constitue la première étape du classement.
-
Dans le volet de navigation de gauche, sélectionnez Search Algorithm Center > Sort Configuration. Sur la page Policy Management, cliquez sur Create.

-
Sur la page Create Policy, saisissez un nom de politique. Définissez Scope sur Rough Sort et Type sur Expression. Seules les expressions sont prises en charge dans la console. Les plug-ins personnalisés seront pris en charge ultérieurement.

-
À l'étape Sort Configuration, sélectionnez
category_score()dans la liste déroulante Scoring Characteristics.
-
Sélectionnez un champ, définissez le poids et enregistrez la configuration.

Appliquer le modèle au tri fin
Le tri fin constitue la deuxième étape du classement.
-
Sur la page Create Policy, saisissez un nom de politique. Définissez Scope sur Fine Sort et Type sur Expression. Seules les expressions sont prises en charge dans la console. Les plug-ins personnalisés seront pris en charge ultérieurement.

-
À l'étape Sort Configuration, sélectionnez
category_score(cate_id_field)dans la liste déroulante Built-in Functions.
-
Remplacez
cate_id_fieldpar l'ID de catégorie de votre modèle et enregistrez la configuration.
Vérifiez le statut du modèle après qu'il a été référencé par la politique de tri.
-
Exécutez un test de recherche sur l'application. Définissez le paramètre
raw_querysur une requête de recherche pour tester les résultats de la prédiction de catégorie.
Activer la prédiction de catégorie dans les appels API et SDK
La prédiction de catégorie trie les résultats de recherche uniquement lorsque le paramètre raw_query est présent et que sa valeur correspond à la requête de recherche dans l'index.
Définissez raw_query sur la requête de recherche saisie par l'utilisateur :
raw_query=<search_query>
Lors d'un appel via API : encodez la valeur en URL à l'aide de
URL_ENCODE.Lors d'un appel via SDK : aucun encodage n'est nécessaire.
Quand la prédiction de catégorie prend effet
Le tableau ci-dessous indique quand la prédiction de catégorie s'applique, en fonction de la configuration de l'index et de la valeur de raw_query.
|
Configuration de l'index |
raw_query dans la requête |
raw_query égale à la requête de recherche |
La prédiction de catégorie s'applique-t-elle ? |
|
Désactivée |
Oui |
— |
Non |
|
Désactivée |
Non |
— |
Non |
|
Activée |
Non |
— |
Non |
|
Activée |
Oui |
Non |
Non |
|
Activée |
Oui |
Oui |
Oui |
Comportement multi-index : Si une requête couvre plusieurs index, la prédiction de catégorie s'applique par index selon les règles ci-dessus.
# index3 prediction takes effect (query matches raw_query for index3 only)
query=index2:'index_query' AND index3:'search_query'&raw_query=search_query
# index2 prediction takes effect preferentially;
# if index2 config doesn't apply, index3 takes effect
query=index2:'search_query' AND index3:'search_query'&raw_query=search_query
Limites
Jusqu'à cinq modèles de prédiction de catégorie peuvent être créés par application.
Les champs de données utilisés pour entraîner le modèle doivent être inclus dans les index auxquels la règle d'analyse de requête est appliquée.
Avant de créer un modèle, configurez l'ID de catégorie et les champs connexes en tant que champs d'attribut.
Si une règle d'analyse de requête référence un modèle de prédiction de catégorie et que la requête contient le paramètre
category_prediction, une erreur se produit.Pour que la prédiction de catégorie prenne effet, les trois éléments suivants doivent être configurés : une règle d'analyse de requête référençant le modèle, une expression de tri contenant la fonction
category_scoreet le paramètreraw_querydans la requête.Opérations API connexes : Algorithms
Dépannage des échecs d'entraînement du modèle
Si l'entraînement de votre modèle de prédiction de catégorie échoue, suivez ces étapes pour résoudre le problème :
Consultez le rapport d'anomalie : Sur la page des détails du modèle, consultez le statut Latest Version Status. Si le statut indique une erreur de données, ouvrez le Anomaly Report pour identifier la cause de l'échec.
Vérifiez le niveau de complétude : Consultez le Completeness Level et les Upgrade Conditions correspondantes. Ajustez vos données selon les conditions de mise à niveau pour améliorer le niveau de complétude.
Logique des données J-1 : L'entraînement du modèle utilise les données statistiques de la veille (J-1). Lorsqu'un modèle nouvellement créé est entraîné pour la première fois, l'entraînement peut échouer avec une erreur « Le champ d'entraînement n'existe pas » car aucune donnée de la veille n'est disponible. Attendez le lendemain, lorsque les données seront prêtes, puis relancez l'entraînement du modèle.
Exigence de volume de données : L'entraînement nécessite que le nombre de requêtes uniques du jour le plus récent dépasse 100. Le nombre de requêtes uniques correspond au nombre de requêtes de recherche réussies incluant le paramètre
raw_query.Format des conditions de filtre : Si des conditions de filtre sont configurées, les noms de champs doivent correspondre aux champs du schéma de l'application. Plusieurs conditions utilisent la logique ET et doivent être séparées par des virgules (
,). Un format incorrect peut provoquer des échecs d'entraînement. Exemple :is_onsale > 0.
Utilisation avancée
Combinaison avec la reconnaissance d'entités nommées (NER)
Si vous configurez la NER conjointement avec la prédiction de catégorie dans une règle d'analyse de requête, davantage de documents sont récupérés. Les résultats de la NER sont également utilisés pour la récupération. Si aucun document ne correspond aux catégories prédites, les mots de la requête de recherche sont ignorés de manière sélective pour élargir les résultats — ces résultats élargis deviennent la sortie finale de la prédiction de catégorie. Pour plus d'informations, consultez la section sur la reconnaissance d'entités nommées.
Intervention sur les résultats de prédiction
L'intervention vous permet de remplacer les prédictions du modèle entraîné, de manière similaire à l'intervention d'analyse de requête. Pour plus d'informations, consultez Intervention dictionaries for category prediction.