Adición de nombres personalizados y clasificaciones a nombre-entidad-reconocimiento de entidad NLP (NER)

El reconocimiento de entidad de nombre (NER) es una de las técnicas de preprocesamiento de texto más comunes utilizadas en el proceso de lenguaje natural (NLP). NER se utiliza en muchos campos en Inteligencia Artificial (IA), incluido el procesamiento de lenguaje natural (NLP) y el aprendizaje automático. Además de las entidades predeterminadas para NER en el Procesador de lenguaje natural CoreNLP de CoreNLP, también puede añadir nombres y clasificaciones específicos del idioma personalizado para NER. El nombre personalizado y la clasificación de NER se pueden configurar en el nodo de filtro de zookeeper. Se añaden nombres y clasificaciones nuevos utilizando el método de solicitud POST. Los nombres y clasificaciones existentes se actualizan utilizando el método de solicitud PATCH.

Puntos finales

Los puntos finales para este servicio son:
http://data_environment_hostname:30920/search/resources/api/v2/configuration?nodeName=filter&envType=auth&locale=en_US
https://data_environment_hostname:30921/search/resources/api/v2/configuration?nodeName=filter&envType=auth&locale=en_US
Incluya su configuración en la sintaxis JSON en el cuerpo de la consulta. Por ejemplo, el código siguiente establece las etiquetas NER para la categoría "Vestidos".
{
	“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”
}
Note: El método de solicitud PATCH para la configuración regional en_US y el método de solicitud POST para la configuración regional no en_US se utilizan para introducir nuevos nombres y clasificaciones.

Códigos NER predeterminados

HCL Commerce Search viene con un conjunto predeterminado de etiquetas NER. Estas deberían permitirle clasificar palabras para la mayoría de las situaciones.
CATEGORY
Se correlaciona con los campos de índice relacionados con la categoría en el índice de productos.
BRAND_NAME
Se correlaciona con el campo de nombre de fabricante indexado del índice de productos.
ATTRIBUTE_VALUE
Se correlaciona con los campos indexados de adjetivo NLP en el índice de productos.
ATTRIBUTE_NAME
Se correlaciona con el nombre de atributo indexado en el índice de productos.
IGNORE_TERM
Elimina los términos que coinciden del término de expresión de búsqueda.
TO_NUMBER
Se correlaciona con los campos indexados numéricos NLP en el índice de productos.
FILTER_GTE~1
Define una condición de filtro de rango que es mayor o igual que el argumento dado. Este argumento es el término que sigue inmediatamente al patrón de coincidencia.
FILTER_LTE~1
Define una condición de filtro de rango que es mayor o igual que el argumento dado. Este argumento es el término que sigue inmediatamente al patrón de coincidencia.
UOM
Se correlaciona con los campos indexados de unidad de medida de MatchMaker en el índice de productos.
COLOR
Se correlaciona con los campos indexados de la familia de colores de MatchMaker en el índice de productos.
Note: Se añaden nuevos sustantivos y clasificaciones mediante el método de solicitud PATCH para la configuración regional en_US. El método de solicitud POST se utiliza para las configuraciones regionales que no son en_US.
HCL Commerce Version 9.1.11.0 or later

Etiquetas NER personalizadas

Si las etiquetas NER predeterminadas no cubren todas sus necesidades, puede definir las suyas propias. Para ello, añada una nueva correlación de etiquetas NER a través del punto final /configuration, utilizando el método Patch y un cuerpo de solicitud que contenga una definición de etiqueta con formato JSON. Cada solicitud amplía un objeto NLPSearchFieldMapping y solo se puede correlacionar con campos de índice de productos.

Procedimiento

  1. Defina el nuevo código de correlación. En el ejemplo siguiente, el código de correlación es SELLER.
    {
    	"extendedconfiguration": {
    		"configgrouping": [
    			{
    				"name": "NLPSearchFieldMapping",
    				"property": {
    					"name": "NLPFieldsDetail",
    					"value": "[{\"NERTag\":\"SELLER\",\"IndexRawFieldName\":\"seller.raw\",\"IndexNormalizedFieldName\":\"seller.normalized\",\"FieldLevelLemmatization\":\"false\", \"BoostFactor\":\"100.0\"}]"
    				}
    			}
    		]
    	}
    }
    La etiqueta de correlación SELLER utiliza cinco etiquetas. De estos cinco códigos, tres son obligatorios y los otros dos son opcionales y tienen valores predeterminados.
    NERTag
    El nombre de la etiqueta de NER utilizado para clasificar el token (VENDEDOR).
    IndexRawFieldName
    El campo a utilizar como campo de agregación mientras entrena datos personalizados y campo sin procesar mientras busca el término. (seller.raw).
    IndexNormalizedFieldName
    El campo a utilizar como campo normalizado mientras se busca el término (seller.normalized).
    FieldLevelLemmatization
    Mientras entrena y busca, aplique la lematización en el campo si se establece en true. El valor predeterminado es false.
    BoostFactor
    El valor de búsqueda del factor de impulso se utiliza para aplicar impulso. El valor predeterminado es 100.0.
    Note: Las tres primeras etiquetas son obligatorias y falta cualquiera registrará un error y continuará con otras etiquetas. Esto podría afectar al resultado de la búsqueda.
  2. Actualice la nueva correlación de códigos NER que utilizan el método de solicitud PATCH para el punto final /configuration. Añada la nueva correlación como el cuerpo de la solicitud.
    PATCH -http://dataQueryHost:dataQueryPort/search/resources/api/v2/configuration?nodeName=component&envType=auth
  3. Una vez que haya actualizado la correlación, reinicie el servicio de consulta.

Resultado

El código NER personalizado está ahora disponible para su uso en el proceso de NLP.