Ajout de classifications et de noms personnalisés à NLP Name-Entity-Recognition (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. En plus des entités par défaut pour NER dans le processeur de langage naturel CoreNLP, vous pouvez également ajouter des noms et des classifications spécifiques à la langue personnalisée pour NER. Le nom et la classification personnalisés pour NER peuvent être configurés dans le nœud de filtre de ZooKeeper. De nouveaux noms et classifications sont ajoutés à l'aide de la méthode de requête POST. Les noms et classifications existants sont mis à jour à l'aide de la méthode de requête PATCH.
nœuds finaux
http://data_environment_hostname:30920/search/resources/api/v2/configuration?nodeName=filter&envType=auth&locale=en_UShttps://data_environment_hostname:30921/search/resources/api/v2/configuration?nodeName=filter&envType=auth&locale=en_US{
“Dresses” : “CATEGORY”,
“Versatil” : “BRAND_NAME”,
“Size” : “ATTRIBUTE_NAME”,
“XL” : “ATTRIBUTE_VALUE”,
“an” : “IGNORE_TERM”,
“One and half” : “TO_NUMBER~1.5”,
“below” : “FILTER_LTE~1”,
“above” : “FILTER_GTE~1”,
“red” : “COLOR”,
“inch” : “UOM”
}
Balises NER par défaut
- CATEGORY
- Mappe aux zones d'index liées à la catégorie dans l'index Produit.
- BRAND_NAME
- mappe à la zone indexée du nom du fabricant dans l'index Produit.
- ATTRIBUTE_VALUE
- mappe aux zones indexées NLP Adjective dans l'index Produit.
- ATTRIBUTE_NAME
- mappe au nom d'attribut indexé dans l'index Produit.
- IGNORE_TERM
- supprime les termes correspondants de l'expression de recherche de termes.
- TO_NUMBER
- mappe aux zones indexées numériques NLP dans l'index Produit.
- FILTER_GTE~1
- définit une condition de filtre de plage supérieure ou égale à l'argument donné. Cet argument est le terme qui suit immédiatement le modèle correspondant.
- FILTER_LTE~1
- définit une condition de filtre de plage supérieure ou égale à l'argument donné. Cet argument est le terme qui suit immédiatement le modèle correspondant.
- UOM
- mappe aux zones indexées de l'unité de mesure MatchMaker dans l'index Produit.
- COLOR
- Correspond aux zones indexées de la famille de couleurs MatchMaker dans l'index Produit.
en_US. La méthode de requête POST est utilisée pour les paramètres régionaux non en_US.
Balises NER personnalisées
Si les balises NER par défaut ne couvrent pas tous vos besoins, vous pouvez définir vos propres balises. Pour ce faire, ajoutez un nouveau mappage de balise NER via le nœud final /configuration, à l'aide de la méthode Patch et d'un corps de requête contenant une définition de balise au format JSON. Chaque requête étend un objet NLPSearchFieldMapping et vous ne pouvez mapper qu'à des zones d'index de produit.
Procédure
- Définissez votre nouvelle balise de mappage. Dans l'exemple ci-dessous, la balise de mappage est
SELLER.{ "extendedconfiguration": { "configgrouping": [ { "name": "NLPSearchFieldMapping", "property": { "name": "NLPFieldsDetail", "value": "[{\"NERTag\":\"SELLER\",\"IndexRawFieldName\":\"seller.raw\",\"IndexNormalizedFieldName\":\"seller.normalized\",\"FieldLevelLemmatization\":\"false\", \"BoostFactor\":\"100.0\"}]" } } ] } }La balise de mappageSELLERutilise cinq balises. Sur ces cinq balises, trois sont obligatoires et les deux autres sont facultatives et ont des valeurs par défaut.- NERTag
- Nom de la balise NER utilisée pour classer le jeton (VENDEUR).
- IndexRawFieldName
- Zone à utiliser comme zone d'agrégation lors de l'apprentissage des données personnalisées et de la zone brute lors de la recherche du terme. (
seller.raw). - IndexNormalizedFieldName
- Zone à utiliser comme zone normalisée lors de la recherche du terme (
seller.normalized). - FieldLevelLemmatization
- Lors de l'apprentissage et de la recherche, appliquez la lemmatisation sur la zone si elle est définie sur
true. La valeur par défaut estfalse. - BoostFactor
- La valeur de recherche du facteur de stimulation est utilisée pour appliquer pour la stimulation. La valeur par défaut est 100.0.
Note: Les trois premières balises sont obligatoires et aucune ne consignera une erreur et continuera avec d'autres étiquettes. Cela peut avoir un impact sur le résultat de la recherche. - Mettez à jour le nouveau mappage de balise NER à l'aide de la méthode de requête PATCH pour le nœud final /configuration. Ajoutez votre nouveau mappage en tant que corps de la requête.
PATCH -http://dataQueryHost:dataQueryPort/search/resources/api/v2/configuration?nodeName=component&envType=auth - Après avoir mis à jour le mappage, redémarrez le service Query.
Résultat
Votre balise NER personnalisée peut désormais être utilisée dans le traitement NLP.