HCL Commerce Version 9.1.11.0 or later

Ajout de balises de catégorie grammaticale

Les jetons de recherche sont étiquetés en fonction de leur catégorie grammaticale (POS). Par exemple, "sofa" est généralement étiqueté comme nom. Les termes qui ne sont pas étiquetés comme type reconnu seront ignorés, mais vous pouvez étendre la logique de catégorie grammaticale pour prendre en charge de nouveaux types.

Traitement des catégories grammaticales

Lors du prétraitement de la recherche, les jetons de recherche entrants sont généralement affectés à des balises correspondant à des noms, des verbes, des adjectifs ou des objets numériques. Le codage par défaut pour ces catégorisations est le suivant :
    "name": "NLPPOSCodes",
    "property": [
     {
       "name" : "NOUN_CODE",
       "value" : "NN,NNS,NNS,NNPS,NOUN,NE"
     },
     {
       "name" : "VERB_CODE",
       "value" : "VB,VBD,VBG,VBN,VBP,VBZ,VERB,VMFIN,VVINF,VVFIN,VV"
     },
     {
       "name" : "ADJECTIVE_CODE",
       "value" : "DT,PDT,JJ,JJR,JJS,ADJ,ADJA,ADJD"
     },
     {
     	"name" : "NUMERIC_CODE",
       "value" : "CD,CARD,NUM,NFP"
Lorsque votre chaîne de recherche inclut le jeton "canapé", par exemple, CoreNLP annote ce jeton avec la balise POS de NN (Nom).
La chaîne de jeton annotée est transmise au processeur approprié :
  • Les recherches de noms sont effectuées sur natural.nouns.normalized et natural.nouns.raw dans l'index.
  • Les recherches d'adjectifs seront effectuées sur natural.adjectives.normalized et natural.adjectives.raw dans l'index.
  • Les codes numériques sont utilisés en fonction du terme de recherche d'entrée identifié par le matchmaker, puis par natural.*.measurements, sinon la recherche se basera sur natural.adjectives.normalized et natural.adjectives.raw dans l'index.
  • Tous les jetons de recherche annotés avec une balise de verbe seront ignorés lors de la recherche.

La chaîne de jeton peut contenir plusieurs types de balise. Les quatre types de balises les plus courants seront tous reconnus par les processeurs ci-dessus. Les balises qui ne sont pas de ces types seront ignorées. Dans le cas de la chaîne de recherche "bonjour à tous", "bonjour" sera étiqueté comme UH, tandis que "tous" sera étiqueté comme NN. UH n'est pas l'un des types répertoriés pour le nom, l'adjectif, les valeurs numériques ou les verbes. Par conséquent, seul "tous" participera à la recherche.

Pour éviter cette situation, vous pouvez ajouter la balise POS à la liste à l'aide d'un appel PATCH au nœud final REST /configuration.
PATCH http://dataQueryHost:dataQueryPort/search/resources/api/v2/configuration?nodeName=component&envType=auth
Note: La première fois que vous ajoutez cette configuration ou une configuration au nœud de composant, utilisez la méthode de requête POST. Dans les appels suivants, utilisez PATCH.
Utilisez le code JSON suivant comme corps de la requête.
{
    "extendedconfiguration": {
        "configgrouping": [
            {
                "name": "NLPPOSCodes",
                "property": [
                    {
                        "name": "NOUN_CODE",
                        "value": "NN,NNS,NNS,NNPS,NOUN,NE,UH"
                    }
                ]
            }
        ]
    }
}
Note: Redémarrez le service Query après avoir effectué cette modification.