Procesamiento del lenguaje natural (PLN) en la versión 9.1

El servicio de búsqueda de HCL Commerce utiliza una versión ampliada del procesador de lenguaje natural CoreNLP de Stanford. Además del etiquetado de parte de voz y otras características de NLP de Stanford, la búsqueda de HCL Commerce proporciona un filtro de rango, unidades de medida y colores. También admite la lematización (traducción de plural a singular).

HCL Commerce Version 9.1.7.0 or laterNote: Siga a Matchmaker de color para conocer las actualizaciones más recientes con soporte multilingüe.

HCL Commerce Search utiliza el potente analizador de lenguaje CoreNLP de Stanford. De forma predeterminada, CoreNLP Toolkit proporciona soporte multilingüe, análisis gramatical completo y extensibilidad. Las mejoras proporcionadas por HCL Commerce Search específicamente las necesidades de los compradores en línea, proporcionando una mayor capacidad de respuesta e inteligencia al sistema de búsqueda.

Rangos y unidades de medida

A menudo, los compradores desean encontrar productos dentro de rangos de precios determinados. Si busca zapatos por encima de 200en la tienda de ejemplo Aurora, los resultados variarán en función de si está utilizando el sistema de búsqueda Solr o el nuevo servicio de consulta HCL Commerce Search. Mediante Solr, la búsqueda devolverá algo parecido al resultado siguiente (47 coincidencias):

Si realiza la misma búsqueda utilizando el servicio de consulta HCL Commerce Search, se devolverá algo parecido al resultado siguiente (2 coincidencias):

Sin embargo, el procesador NLP es aún más flexible que esto. Si elige un rango, por ejemplo, utilizando la cadena de búsqueda, Mostrar zapatos de 50 a 60, el sistema devolverá algo como:

El procesador interpreta fácilmente las construcciones como "más que" o "menos que", "por debajo", "sobre" o "desde". Los términos reales se definen en la API REST de consulta. Puede configurar términos especiales; un ejemplo que viene preconfigurado es el término "caro". De forma predeterminada, se establece como 100 USD y la palabra "barata" se establece en < 50 USD. Esto significa que el cliente puede realizar búsquedas mediante "Mostrar zapatos baratos" y solo verá los resultados que tengan un precio inferior a 50 USD.

El procesador de NLP también entiende las unidades de medida. Los productos del catálogo se pueden medir en kg, metros, gramos, etc., y las búsquedas de cantidades (por ejemplo, alimentos o longitudes de tela) restringirán los productos que se devuelven a dichas medidas.

Matchmakers

El sistema CoreNLP también se ha ampliado con Matchmakers. Existen dos tipos de Matchmakers en este momento: un Matchmaker de color y uno de medidas/dimensiones.

El color Matchmaker le permite buscar en las familias de colores y no solo en los colores. Por ejemplo, si busca el color marfil utilizando el motor de búsqueda Solr en el escaparate de Aurora, puede devolver algo parecido a lo siguiente:

Esta búsqueda ha devuelto exactamente dos elementos. Se devuelven ambos porque se han definido explícitamente en un campo de faceta del catálogo como "marfil" en color. En otras palabras, la búsqueda de colores funciona, pero solo cuando los colores se definen explícitamente y solo para las coincidencias exactas.

Al realizar la misma búsqueda utilizando el servicio de consulta HCL Commerce Search, se devuelve un resultado diferente:

La búsqueda ha devuelto 51 elementos, que comparten la característica de estar dentro de la familia de color blanco, aunque varíen en sombreado. Lo que hace que esto sea posible es un conjunto de más de cien colores predefinidos, cada uno de los cuales se proporciona una posición en un espacio de color numérico. Los colores de este espacio que estén dentro del 20 % del color de búsqueda pueden coincidir en las búsquedas. Por ejemplo, "Blanco" se define como 255. "Beige" es 245.

Para obtener información sobre cómo configurar la coincidencia de color, consulte Configurar servicios de consulta y de introducción en ZooKeeper.

La segunda clase actual de Matchmakers es el Matchmaker de medida. Las medidas son útiles para los clientes que buscan productos con características específicas. Por ejemplo, supongamos que un cliente está buscando un portátil con una larga duración de la batería. Si utiliza el motor de búsqueda Solr en el escaparate de Aurora y busca un portátil de 3 horas de duración de batería, el motor de búsqueda devolverá todos los portátiles del catálogo.

La misma búsqueda realizada utilizando el servicio de consulta HCL Commerce Search, se devuelve exactamente un portátil: el del catálogo que está definido con una duración de batería de tres horas.

La conversión de unidad de medida está incorporada en el sistema. Si el cliente va a utilizar minutos en lugar de horas y busca un ordenador portátil de una batería de 180 minutos, se encontraría el mismo artículo de catálogo, aunque la duración de la batería del portátil no esté definida en minutos en el catálogo. El servicio de consulta convierte automáticamente las unidades de medida en la cadena de consulta en sus equivalentes y busca en el catálogo las instancias que coincidan con cualquier conversión. También reconoce formas cortas de medidas como, por ejemplo, "h", "lb" o "cm".

De hecho, el servicio devolverá el mismo resultado para coincidencias inexactas, por ejemplo, si el cliente ha buscado una batería de "150 minutos". La unidad de medida no necesita una coincidencia exacta, pero buscará productos dentro de un rango especificado del número de búsqueda.

En el Centro de gestión, los comerciantes pueden proporcionar medidas de longitud de hasta tres dimensiones. Si utiliza la característica de coincidencia de dimensiones, permite a los clientes buscar productos en el escaparate utilizando una o varias de estas dimensiones, como la altura, anchura o longitud. Por ejemplo, cuando se utiliza la herramienta de coincidencia de dimensiones, si se busca "encimera de 50 pulgadas de alto" se procesará de forma diferente que la búsqueda "encimera de 127 cm (50 pulgadas) de largo".

Si el servicio de consulta no puede realizar una coincidencia basándose en una unidad de medida, abandonará ese enfoque y coincidir de acuerdo con cualquier otra regla que se aplique a la serie de búsqueda, hasta las coincidencias exactas de palabras inclusive.

Para obtener información sobre cómo configurar la coincidencia de medidas, consulte Configurar servicios de consulta y de introducción en ZooKeeper.

Consideraciones sobre la memoria

Por cada idioma adicional que se utilice con el buscador de coincidencias o servicio NLP, aumente los valores de parámetro mem_reservation y mem_limit de NiFi a dos gigabytes cada uno.

Cómo funciona NLP en HCL Commerce Search

HCL Commerce Search aplica el procesamiento del lenguaje natural en dos etapas del sistema de búsqueda: durante la indexación y cuando un cliente realiza una búsqueda.
Tiempo de NLP en Ingest
En el momento de la indexación, se analiza cada documento de producto para extraer la siguiente información e indexar cada documento por separado. Esto es para que la información pueda utilizarse posteriormente en el momento de la consulta.
  • Nombre, descripción breve, nombre de categoría, palabras clave, fabricante y los valores de los atributos asociados de un documento de producto son lematizados por el tiempo de ejecución CoreNLP de Stanford. El resultado de ese análisis se clasifica y almacena en una sección "natural" separada de este mismo documento de índice.
  • Esta sección "natural" contiene categorías de la parte del discurso como "sustantivo", "adjetivo", "nombre", "categoría", "color", "medida" y "dimensión".
  • Durante este tiempo se puede realizar una conversión adicional de las medidas para admitir otras unidades de medida.
Tiempo de NLP en Query
Cuando un cliente realiza una búsqueda de texto, ya sea con una simple palabra clave o con una frase natural más complicada, se realizarán las siguientes operaciones a través del servicio Authoring o Live Query:
  • El etiquetador de partes del lenguaje de CoreNLP analiza primero la frase de búsqueda de entrada para identificar a qué parte del lenguaje (como sustantivo, adjetivo, etc.) pertenece cada término.
  • El buscador de coincidencias del servicio de consulta escanea los tipos de PoS para identificar si se necesita realizar algún procesamiento especial para Dimensión y Color. Si es necesario, se genera una consulta especializada y esos términos identificados se eliminarán de la frase de búsqueda para evitar que se vuelvan a procesar posteriormente
  • El servicio Query agrupa todos los tipos de partes del lenguaje similares de los términos restantes y crea una consulta que los restringe para buscar solo en los campos relevantes. Por ejemplo, los sustantivos solo se utilizan con los nombres y las marcas, los adjetivos con los valores de los atributos y el número cardinal y la unidad de medida con los campos naturales de medición.
En caso de error en la búsqueda, el servicio Query realizará automáticamente la siguiente lógica en el orden indicado:
  • Elimine todos los filtros de rango si existen. Si todavía no hay resultados de la búsqueda, continúe con la siguiente operación.
  • Elimine el primer término empezando por la izquierda. Si todavía no hay ningún resultado de la búsqueda, continúe eliminando el segundo término de la izquierda. Esta operación se repite hasta que se obtenga al menos un resultado de la búsqueda o hasta que el proceso haya alcanzado el cuarto término a la izquierda de la frase.

Número de pieza del producto

El sistema CoreNLP también se ha ampliado con el número de pieza del producto. Esta característica le permite buscar utilizando el número de pieza del producto y el número de pieza del código de artículo. La imagen del producto Hero debe configurarse para habilitar la búsqueda utilizando el número de pieza del código de artículo. Cuando se introduce el número de pieza en el recuadro de búsqueda, el procesador NLP detecta el número de pieza basándose en el patrón de número de pieza proporcionado en la configuración. Si la búsqueda de palabra clave especificada en el recuadro de búsqueda coincide con la configuración de patrón de número de pieza proporcionada, el analizador NLP evita el proceso de NLP y busca el número de pieza. El servicio de consulta devuelve los detalles del producto/código de artículo que tienen el número de pieza especificado en el recuadro de búsqueda.

De forma predeterminada, se admiten los siguientes patrones de número de pieza:
  • ^[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 lo desea, también puede añadir un nuevo patrón. Para obtener más información sobre cómo añadir un patrón personalizado, consulte Adición de configuración personalizada al patrón de número de pieza.

Cuando un término de búsqueda se identifica como un número de pieza, la búsqueda se realiza en el campo default.sku.normalized. Este campo normalizado contiene el número de pieza propio del producto además de cualquier número de pieza hijo. También se incluye un número de pieza del producto padre en el documento hijo.

Note: Cualquiera que sea el tipo de búsqueda, todos los documentos relevantes se devuelven cuando se realiza una búsqueda por número de pieza. Por ejemplo, si searchType se establece en 1002 y una búsqueda incluye un número de pieza de SKU específico, se devuelve ese SKU específico, a pesar de que los SKU a nivel de producto estén excluidos de este searchType. Esto se debe al hecho de que los números de pieza SKU están indexados en el documento de producto padre.
HCL Commerce Version 9.1.10.0

Emparejamientos parciales

La compatibilidad para coincidencias de palabras clave parciales y de partes de producto no está habilitado de forma predeterminada. Para habilitarlo para ambos tipos, edite el archivo JSON del perfil NLP y añada la clase Partial_Search (después de la entrada de clase POS_NER, tal como se muestra):
{ "profileName": "HCL_NLPProfile", "provider": { ... "POS_NER": "com.hcl.commerce.search.internal.expression.provider.SearchNLPPOSAndNERProviderHelper", "Partial_Search": "com.hcl.commerce.search.internal.expression.provider.SearchNLPPartialKeywordSearchProviderHelper", ...
Para obtener más información sobre cómo editar el perfil NLP, consulte Perfiles de procesador de lenguaje natural (NLP).

Reconocimiento de entidad con nombre (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. HCL Commerce Search proporciona la posibilidad de añadir nombres personalizados y clasificaciones para NER. Para obtener más información sobre cómo añadir nombres personalizados y clasificaciones para NER, consulte Adición de nombres personalizados y clasificaciones a nombre-entidad-reconocimiento de entidad NLP (NER)