Préparation des données pour le traitement du langage naturel

Les données entrantes doivent être préalablement traitées pour être utilisables par la fonction de traitement du langage naturel de HCL Commerce Search.

HCL Commerce Search utilise l'analyseur de langage Stanford CoreNLP pour fournir au service Query une prise en charge, une analyse grammaticale complète et une extensibilité multilingues. Les améliorations apportées par HCL Commerce Search ciblent spécifiquement les besoins des clients en ligne, donnant une plus grande réactivité et intelligence au système de recherche.

Matchmaker est également une fonction importante de l'intelligence artificielle du processeur de langage naturel. Les données doivent également être préparées en vue de leur utilisation.

Lors du traitement de Query, les données textuelles sont analysées comme suit. Ce processus identifie les fonctions dans le texte que le processeur NLP peut utiliser au moment de la requête.
Utilisation de jetons (tokenization)
Processus de rupture du texte en unités plus petites appelées jetons qui peuvent être traitées de différentes manières. Pour une discussion complète sur le processus d'utilisation de jetons, voir Utilisation de jetons dans la documentation Stanford CoreNLP.
Suppression de mot neutres
Les mots neutres sont supprimés pour que les termes uniques se distinguent pour le processeur. Pour plus d'informations, voir Suppression des termes communs : mots neutres.
Lemmatisation et recherche du radical
Les mots sont réduits à leur forme de base, éliminant ainsi toutes les variations sur les noms de base. Voir Recherche du radical et lemmatisation.
Balisage de catégorie grammaticale
Les mots et phrases individuels sont catégorisés par type : nom, verbe, préposition, etc. Voir Catégories grammaticales.
Reconnaissance d'entité de nom (NER)
Identifie les personnes, les entreprises et les produits dans le texte. Le service Query construit un fichier NER personnalisé, qui est une liste séparée par des tabulations de word et value, où value est la classification donnée au mot. Par exemple, un terme de recherche "chemise blanche pour fille" sera divisé en trois jetons : white/color, shirt/category et girls/category. "chemise blanche pour filles à moins de 37 $" ajouterait moins de 37/filter comme quatrième jeton.
Vous pouvez ajouter vos propres termes au fichier NER personnalisé. Pour plus d'informations, voir Ajout de classifications et de noms personnalisés à NLP Name-Entity-Recognition (NER).
Préparation des données pour Matchmaker
Le service Ingest analyse les données entrantes pour trois fonctions pertinentes pour Matchmaker.
  • Matchmaker de couleur. Les noms de couleur rencontrés dans les données d'indexation sont définis en tant que valeurs d'attribut. Ils sont indexés avec des noms de famille de couleurs prédéfinis. Au moment de la requête, une analyse similaire est effectuée par rapport à l'expression de recherche pour identifier les familles de couleurs appropriées à utiliser pour le filtrage. De cette façon, seuls les produits de la même famille de couleurs seront renvoyés. Pour plus d'informations sur les familles de couleurs et leur gestion, voir Matchmaker de couleur.
  • Matchmaker de mesure Chaque fois qu'une unité de mesure est détectée dans une valeur d'attribut lors de l'indexation, son numéro cardinal correspondant sera automatiquement converti dans toutes les unités de mesure prises en charge dans la même famille de mesures. Au moment de la requête, une analyse similaire est effectuée par rapport à l'expression de recherche pour identifier l'unité de mesure demandée. Cette valeur filtre par rapport à la même unité de mesure indexée, même lorsque le client fournit une unité différente de celle spécifiée avec le produit. Pour plus d'informations, voir Ajout d'une configuration personnalisée au matchmaker de mesure.
  • Matchmaker de dimension De la même manière que le Matchmaker de mesure, l'analyseur d'indexation va également essayer de deviner une dimension appropriée fournie dans une valeur d'attribut. Il indexe cette dimension dans la catégorie de longueur et de dimension appropriée. Ces dimensions peuvent être utilisées pour un filtrage plus précis au moment de la requête. Pour plus d'informations, voir Ajout d'une configuration personnalisée au matchmaker de dimension.
Les systèmes de mesure pris en charge sont les suivants :
  • Longueur : centimètre, millimètre, nanomètre, kilomètre, mètre, pouce, pied, mile, yard
  • Poids : tonne, kilogramme, gramme, milligramme, stone, livre, once
  • Heure : nanoseconde, microseconde, milliseconde, seconde, minute, heure, jour, semaine, mois, année
  • Volume: gallon, litre, millilitre

Le service de requête initialise le NLP Stanford Core en transmettant le fichier NER personnalisé à l'objet NLP Stanford Core. Lorsqu'une requête est effectuée, le terme de recherche est transmis à la méthode SearchNLPSupportProvider, qui à son tour le transmet à l'objet NLP Stanford Core). SearchNLPSupportProvider renvoie ensuite le résultat.