Traitement du langage naturel (NLP) dans la version 9.1
Le service HCL Commerce Search utilise une version étendue du processeur de langage naturel Stanford CoreNLP. En plus du marquage des catégories grammaticales et d'autres fonctions de Stanford NLP, HCL Commerce Search fournit un filtre de plage, des unités de mesure et des couleurs. Il prend également en charge la recherche du radical (traduction du pluriel vers le singulier).
Note: Suivez pour Matchmaker de couleur connaître les dernières mises à jour avec le support multilingue.HCL Commerce Search utilise le puissant analyseur de langage Stanford CoreNLP. Par défaut, la boîte à outils CoreNLP fournit une prise en charge multilingue, une analyse grammaticale complète et une extensibilité. 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.
Gammes et unités de mesure
Les clients veulent souvent trouver des produits dans des gammes de prix particulières. Si vous effectuez une recherche dans le modèle de magasin Aurora des chaussures à plus de 200, les résultats diffèrent selon que vous utilisez le système de recherche Solr ou le nouveau service HCL Commerce Search Query. Avec Solr, le résultat de la recherche ressemblera à ce qui suit (47 correspondances) :
Si vous effectuez la même recherche à l'aide du service HCL Commerce Search Query, le résultat de la recherche ressemblera à ce qui suit (2 correspondances) :
Toutefois, le processeur NLP est encore plus flexible que cela. Si vous choisissez une plage, par exemple en utilisant la chaîne de recherche montre-moi des chaussures entre 50 et 60, le système renvoie un résultat similaire à ce qui suit :
Les constructions telles que "plus que" ou "moins que", "sous", ou "au-dessus" sont facilement interprétées par le processeur. Les termes réels sont définis dans l'API REST de Query. Vous pouvez configurer des termes spéciaux. Le terme "cher" est un exemple préconfiguré. Par défaut, ce montant est fixé à 100 dollars, et le terme "bon marché" est fixé à moins de 50 dollars.
Le processeur NLP comprend également les unités de mesure. Les produits du catalogue peuvent être mesurés en livres, mètres, grammes, etc., et les recherches de quantités (telles que les denrées alimentaires ou les longueurs de tissu) limiteront les produits renvoyés à ces mesures.
Matchmakers
Le système CoreNLP a également été étendu avec des matchmakers. Il existe actuellement deux types de matchmakers : un matchmaker de couleur, et un matchmaker de dimension/mesure.
Le matchmaker de couleur vous permet d'effectuer des recherches dans les familles de couleurs et pas seulement les couleurs. Par exemple, si vous recherchez la couleur ivoire à l'aide du moteur de recherche Solr dans la vitrine Aurora, vous pourriez obtenir le résultat suivant :
Cette recherche a renvoyé exactement deux éléments. Les deux sont renvoyés parce qu'ils ont été explicitement définis dans une zone de facettes du catalogue comme étant de couleur "ivoire". En d'autres termes, la recherche sur les couleurs fonctionne, mais uniquement lorsque les couleurs sont explicitement définies et uniquement pour des correspondances exactes.
Lorsque vous effectuez la même recherche à l'aide du service HCL Commerce Search Query, un résultat différent est renvoyé :
La recherche a renvoyé 51 éléments, qui partagent tous la même caractéristique : faire partie de la famille des couleurs blanches, même si leur nuance varie. Ce qui rend cela possible, c'est un ensemble de plus de cent couleurs prédéfinies, chacune d'entre elles ayant une position spécifique dans un espace de couleur numérique. Les couleurs de cet espace qui se trouvent à moins de 20 % de la couleur de votre recherche peuvent figurer dans les résultats. Par exemple, "blanc" est défini sur 255. "Beige" est défini sur 245.
Pour savoir comment configurer la correspondance des couleurs, voir Configuration des services Query et Ingest dans ZooKeeper.
La deuxième classe actuelle de matchmakers est le matchmaker de mesure. Les mesures sont utiles pour les clients qui recherchent des produits présentant des caractéristiques particulières. Par exemple, supposons qu'un client est à la recherche d'un ordinateur portable avec une batterie de longue durée. Si vous utilisez le moteur de recherche Solr dans la vitrine Aurora et recherchez Ordinateur portable avec une autonomie de 3 heures, le moteur de recherche renverra tous les ordinateurs portables dans le catalogue.
Pour la même recherche effectuée à l'aide du service HCL Commerce Search Query, un seul ordinateur portable est renvoyé : celui du catalogue défini comme ayant une autonomie de trois heures.
L'unité de conversion de mesure est intégrée dans le système. Si le client utilise des minutes à la place d'heures, et recherche Ordinateur portable avec une autonomie de 3 heures, il trouve le même article de catalogue, même si l'autonomie de batterie de l'ordinateur portable n'est pas définie en minutes dans le catalogue. Le service Query convertit automatiquement les unités de mesure de la chaîne de requête en leurs équivalents et recherche dans le catalogue toutes les instances qui correspondent à une conversion. Il reconnaît également les formes courtes de mesures, telles que "hr," "lb" ou "cm".
En fait, le service renverra le même résultat pour les correspondances inexactes, par exemple si le client a cherché une batterie d'une autonomie de 150 minutes. L'unité de mesure n'a pas besoin d'une correspondance exacte, mais trouvera les produits dans une plage spécifiée du numéro de recherche.
Dans le Centre de gestion, les marchandiseurs peuvent fournir une mesure de longueur de maximum trois dimensions. Si vous utilisez la fonction matchmaker de dimension, elle permet aux clients de rechercher des produits dans la vitrine à l'aide d'une ou de plusieurs de ces dimensions, telles que la hauteur, la largeur ou la longueur. Par exemple, lorsque le matchmaker de dimension est utilisé, une recherche de "comptoir de 50 pouces de haut" sera traitée différemment d'une recherche de "comptoir de 50 pouces de long".
Si le service Query n'est pas en mesure d'établir une correspondance basée sur une unité de mesure, il abandonnera cette approche et correspondra selon toutes les autres règles qui s'appliquent à la chaîne de recherche, jusqu'à et y compris les correspondances de mots exactes.
Pour plus d'informations sur la configuration de la correspondance des mesures, voir Configuration des services Query et Ingest dans ZooKeeper.
Considérations relatives à la mémoire
Pour chaque langue supplémentaire que vous utilisez avec le matchmaker ou le service NLP, augmentez les valeurs de paramètre mem_reservation et mem_limit de NiFi de deux gigaoctets chacune.
Comment fonctionne le NLP dans HCL Commerce Search
- Traitement du langage naturel de l'heure d'Ingest
- Au moment de l'indexation, chaque document produit est analysé pour extraire les informations suivantes et indexer chaque document séparément. C'est ainsi que les informations peuvent être utilisées ultérieurement au moment de la requête.
- Le nom, la description courte, le nom de catégorie, les mots clés, le fabricant et les valeurs d'attribut associées d'un document produit sont lemmatisés par l'environnement d'exécution CoreNLP de Stanford. La sortie de cette analyse est catégorisée et stockée dans une section "naturelle" distincte de ce même document d'index.
- Cette section "naturelle" contient des catégories de partie de la parole telles que "nom", "adjectif", "nom", "catégorie", "couleur", "mesure" et "dimension".
- Une conversion supplémentaire de mesure pour prendre en charge d'autres unités de mesure peut être effectuée au cours de cette période.
- Traitement du langage naturel de l'heure de Query
- Lorsqu'un client effectue une recherche de texte, à l'aide d'un mot clé simple ou d'une phrase naturelle plus compliquée, les opérations suivantes seront effectuées via le service Authoring ou Live Query :
- Le baliseur de catégorie grammaticale CoreNLP analyse d'abord la phrase de recherche d'entrée pour identifier la partie de la parole, (telle que le nom, l'adjectif, etc.) à laquelle chaque terme appartient.
- Le matchmaker du service Query analyse les types de PoS pour identifier si un traitement spécial est nécessaire pour la dimension et la couleur. Si nécessaire, une requête spécialisée est générée pour eux et les termes identifiés seront supprimés de la phrase de recherche pour éviter d'être à nouveau traitées ultérieurement
- Le service Query groupe tous les types de PoS similaires des termes restants et crée une requête qui les contraint à rechercher uniquement dans les zones pertinentes. Par exemple, les noms sont utilisés uniquement pour les noms et les marques, les adjectifs par rapport aux valeurs d'attribut, le nombre cardinal et l'unité de mesure par rapport aux zones naturelles de mesure.
Numéro de référence du produit
Le système CoreNLP a également été étendu avec des numéros de référence du produit. Cette fonction vous permet de rechercher à l'aide du numéro de référence du produit et du numéro de référence de la SKU. L'image du produit Hero doit être définie pour activer la recherche à l'aide du numéro de référence de la SKU. Lorsque le numéro de référence est entré dans la zone de recherche, le processeur NLP détecte le numéro de référence en fonction du modèle de numéro de référence fourni dans la configuration. Si la recherche par mot clé entrée dans la zone de recherche correspond à la configuration de modèle de numéro de référence fourni, l'analyseur NLP évite le traitement NLP et recherche le numéro de référence. Le service Query renvoie les détails du produit/de la SKU dont le numéro de référence est entré dans la zone de recherche.
- ^[a-zA-Z]+[-]{1}[a-zA-Z]+[-]{1}\d+$
- ^[a-zA-Z]+[-]{1}[a-zA-Z]+[-]{1}\d+[-]{1}\d+$
- ^[a-zA-Z]+[-]{1}[a-zA-Z]+[-]{1}[a-zA-Z]+[-]{1}\d+$
- ^[a-zA-Z]+[-]{1}[a-zA-Z]+[-]{1}[a-zA-Z]+[-]{1}\d+[-]{1}[a-zA-Z]+$
Si vous le souhaitez, vous pouvez également ajouter un nouveau modèle. Pour plus d'informations sur l'ajout d'un modèle personnalisé, voir Ajout d'une configuration personnalisée au modèle de numéro de référence.
Lorsqu'un terme de recherche est identifié comme correspondant à une référence, la recherche est effectuée sur le champ default.sku.normalized. Ce champ normalisé contient la référence du produit lui-même en plus des éventuelles références enfants. Une référence produit parente est également incluse dans le document enfant.

Correspondances partielles
{ "profileName": "HCL_NLPProfile", "provider": { ... "POS_NER": "com.hcl.commerce.search.internal.expression.provider.SearchNLPPOSAndNERProviderHelper", "Partial_Search": "com.hcl.commerce.search.internal.expression.provider.SearchNLPPartialKeywordSearchProviderHelper", ...Pour plus d'informations sur l'édition du profil NLP, voir Profil du processeur de langage naturel.Reconnaissance d'entité de nom (NER)
La reconnaissance d'entité de nom (NER) est l'une des techniques de prétraitement de texte les plus courantes utilisées dans le traitement du langage naturel (NLP). La NER est utilisée dans de nombreuses zones de l'intelligence artificielle (IA), y compris le traitement du langage naturel (NLP) et l'apprentissage machine. Le HCL Commerce Search vous permet d'ajouter des noms et des classifications personnalisés pour la NER. Pour plus d'informations sur l'ajout de noms et de classifications personnalisés pour la NER, voir Ajout de classifications et de noms personnalisés à NLP Name-Entity-Recognition (NER)