The Functioning of NLP and NLU for Semantic Search

Estás leyendo la publicación: Cómo funcionan NLP y NLU para la búsqueda semántica

El procesamiento del lenguaje natural (NLP) y la comprensión del lenguaje natural (NLU) son dos tecnologías que a menudo se confunden y que hacen que la búsqueda sea más inteligente y garantizan que las personas puedan buscar y encontrar lo que buscan.

Esta inteligencia es un componente central de la búsqueda semántica.

NLP y NLU son la razón por la que puede escribir “vestidos” y encontrar ese tan buscado “Vestido de fiesta NYE” y por qué puede escribir “Matthew McConnahey” y recuperar al Sr. McConnaughey.

Con estas dos tecnologías, los buscadores pueden encontrar lo que buscan sin tener que escribir su consulta exactamente como se encuentra en una página o en un producto.

La PNL es una de esas cosas que ha acumulado un significado tan grande que es fácil pasar por alto el hecho de que te dice exactamente lo que es: la PNL procesa el lenguaje natural, específicamente en un formato que las computadoras pueden entender.

Estos tipos de procesamiento pueden incluir tareas como normalización, corrección ortográfica o lematización, cada una de las cuales veremos con más detalle.

NLU, por otro lado, tiene como objetivo “comprender” lo que está comunicando un bloque de lenguaje natural.

Realiza tareas que pueden, por ejemplo, identificar verbos y sustantivos en oraciones o elementos importantes dentro de un texto. Luego, las personas o los programas pueden usar esta información para completar otras tareas.

Las computadoras parecen avanzadas porque pueden realizar muchas acciones en un corto período de tiempo. Sin embargo, en muchos sentidos, las computadoras son bastante tontas.

Necesitan que la información esté estructurada de maneras específicas para construir sobre ella. Para los datos de lenguaje natural, ahí es donde entra la PNL.

Toma datos desordenados (y el lenguaje natural puede ser muy desordenado) y los procesa en algo con lo que las computadoras pueden trabajar.

Normalización de texto

Cuando los buscadores escriben texto en una barra de búsqueda, están tratando de encontrar una buena coincidencia, no de jugar a “adivinar el formato”.

Por ejemplo, exigir a un usuario que escriba una consulta exactamente en el mismo formato que las palabras coincidentes en un registro es injusto e improductivo.

Utilizamos la normalización de texto para eliminar este requisito y que el texto tenga un formato estándar sin importar de dónde provenga.

A medida que avancemos a través de diferentes pasos de normalización, veremos que no hay un enfoque que todos sigan. Cada paso de normalización generalmente aumenta la recuperación y disminuye la precisión.

Un comentario aparte: “recordar” significa que un motor de búsqueda encuentra resultados que se sabe que son buenos.

Precisión significa que un motor de búsqueda solo encuentra buenos resultados.

Los resultados de la búsqueda podrían tener un 100 % de recuperación al devolver cada documento en un índice, pero la precisión sería deficiente.

Por el contrario, un motor de búsqueda podría tener un 100% de recuperación al devolver solo documentos que sabe que encajan perfectamente, pero es probable que pierda algunos buenos resultados.

Una vez más, la normalización generalmente aumenta la recuperación y disminuye la precisión.

Si ese movimiento hacia un extremo del espectro de precisión de recuperación es valioso depende del caso de uso y la tecnología de búsqueda. No se trata de aplicar todas las técnicas de normalización, sino de decidir cuáles proporcionan el mejor equilibrio entre precisión y recuperación.

Normalización de letras

La normalización más simple que puedas imaginar sería el manejo de mayúsculas y minúsculas.

En inglés, al menos, las palabras generalmente se escriben con mayúscula al comienzo de las oraciones, ocasionalmente en los títulos y cuando son nombres propios. (También hay otras reglas, dependiendo de a quién le preguntes).

Pero en alemán, todos los sustantivos se escriben con mayúscula. Otros idiomas tienen sus propias reglas.

Estas reglas son útiles. De lo contrario, no los seguiríamos.

Por ejemplo, poner en mayúsculas las primeras palabras de las oraciones nos ayuda a ver rápidamente dónde comienzan las oraciones.

Esa utilidad, sin embargo, se ve disminuida en un contexto de recuperación de información.

Los significados de las palabras no cambian simplemente porque están en un título y tienen su primera letra en mayúscula.

Aún más complicado es que hay reglas, y luego está la forma en que la gente realmente escribe.

Si le envío un mensaje de texto a mi esposa, “¡ALGUIEN GOLPEA NUESTRO AUTO!” todos sabemos que estoy hablando de un auto y no de algo diferente porque la palabra está en mayúscula.

Podemos ver esto claramente al reflexionar sobre cuántas personas no usan mayúsculas cuando se comunican de manera informal, que es, por cierto, cómo funciona la mayoría de las normalizaciones de casos.

Por supuesto, sabemos que a veces las mayúsculas cambian el significado de una palabra o frase. Podemos ver que los “gatos” son animales y “Cats” es un musical.

Sin embargo, en la mayoría de los casos, la mayor precisión que se obtiene al no normalizar el caso se compensa con una disminución excesiva de la recuperación.

La diferencia entre los dos también es fácil de notar a través del contexto, que podremos aprovechar a través de la comprensión del lenguaje natural.

🔥 Recomendado:  Precios de Oneplus 8 y Oneplus 8 Pro revelados en India

Si bien es menos común en inglés, el manejo de signos diacríticos también es una forma de normalización de letras.

Los signos diacríticos son las marcas, o “glifos”, adjuntos a las letras, como en á, ë o ç.

De lo contrario, las palabras se pueden escribir igual, pero los signos diacríticos agregados pueden cambiar el significado. En francés, “élève” significa “estudiante”, mientras que “élevé” significa “elevado”.

No obstante, muchas personas no incluirán los signos diacríticos al buscar, por lo que otra forma de normalización es eliminar todos los signos diacríticos, dejando atrás el simple (y ahora ambiguo) “eleve”.

Tokenización

El próximo desafío de normalización es desglosar el texto que el buscador ha escrito en la barra de búsqueda y el texto en el documento.

Este paso es necesario porque el orden de las palabras no necesita ser exactamente el mismo entre la consulta y el texto del documento, excepto cuando un buscador envuelve la consulta entre comillas.

Dividir consultas, frases y oraciones en palabras puede parecer una tarea sencilla: simplemente divida el texto en cada espacio.

Los problemas aparecen rápidamente con este enfoque. Nuevamente, comencemos con el inglés.

Separar solo en espacios significa que la frase “¡Vamos a dividir esta frase!” nos rinde vamos, rompamos, arriba, esto, y frase! como palabras

Para la búsqueda, es casi seguro que no queremos el signo de exclamación al final de la palabra “frase”.

No está tan claro si queremos mantener la palabra contraída “let’s” junta.

algo de software dividirá la palabra aún más (“let” y “‘s”) y algunos no lo harán.

Algunos no desglosarán el “vamos” mientras que el “no” lo dividirán en dos partes.

Este proceso se llama “tokenización”.

Lo llamamos tokenización por razones que ahora deberían estar claras: lo que terminamos no son palabras sino grupos discretos de caracteres. Esto es aún más cierto para otros idiomas además del inglés.

Los hablantes de alemán, por ejemplo, pueden fusionar palabras (más precisamente, “morfemas”, pero lo suficientemente cerca) para formar una palabra más grande. La palabra alemana para “casa de perro” es “Hundehütte”, que contiene las palabras tanto para “perro” (“Hund”) como para “casa” (“Hütte”).

Casi todos los motores de búsqueda tokenizan el texto, pero hay otros pasos que un motor puede tomar para normalizar los tokens. Dos enfoques relacionados son la derivación y la lematización.

Derivación y Lematización

La derivación y la lematización toman diferentes formas de tokens y las desglosan para comparar.

Por ejemplo, tome las palabras “calculadora” y “cálculo”, o “desaceleración” y “lentamente”.

Podemos ver que hay algunas similitudes claras.

Stemming divide una palabra en su “raíz” u otras variantes de la palabra en la que se basa. Stemming es bastante sencillo; podrías hacerlo por tu cuenta.

¿Cuál es la raíz de “stemming”?

Probablemente puedas adivinar que es “tallo”. A menudo, derivar significa eliminar prefijos o sufijos, como en este caso.

Existen múltiples algoritmos de derivación, y el más popular es el algoritmo de derivación de Porter, que existe desde la década de 1980. Es un serie de pasos aplicado a una ficha para llegar al tallo.

Stemming a veces puede conducir a resultados que no se prevén.

Mirando las palabras “carry” y “carries”, podría esperar que la raíz de cada una de ellas sea “carry”.

La raíz real, al menos según el algoritmo de derivación de Porter, es “carri”.

Esto se debe a que la lematización intenta comparar palabras relacionadas y dividir las palabras en sus partes más pequeñas posibles, incluso si esa parte no es una palabra en sí.

Por otro lado, si desea un resultado que siempre sea una palabra reconocible, desea la lematización. Nuevamente, hay diferentes lematizadores, como NLTK usando Wordnet.

La lematización descompone un token en su “lema”, o la palabra que se considera la base de sus derivaciones. El lema de Wordnet para “carry” y “carries”, entonces, es lo que esperábamos antes: “carry”.

La lematización generalmente no dividirá las palabras tanto como la derivación, ni se considerarán iguales tantas formas de palabras diferentes después de la operación.

Las raíces de “decir”, “dice” y “decir” son todas “decir”, mientras que los lemas de Wordnet son “decir”, “decir” y “decir”. Para obtener estos lemas, los lematizadores generalmente se basan en corpus.

Si desea la recuperación más amplia posible, querrá usar lematización. Si desea la mejor precisión posible, no utilice lematización ni lematización.

Lo que elija depende en última instancia de sus objetivos, pero la mayoría de las búsquedas generalmente pueden funcionar muy bien sin derivación ni lematización, recuperando los resultados correctos y sin introducir ruido.

Plurales

Si decide no incluir la lematización o la derivación en su motor de búsqueda, todavía hay una técnica de normalización que debe considerar.

Esa es la normalización de los plurales a su forma singular.

Generalmente, ignorar los plurales se hace mediante el uso de diccionarios.

Incluso si la “despluralización” parece tan simple como cortar una “-s”, no siempre es así. El primer problema es con los plurales irregulares, como “venado”, “buey” y “ratón”.

Un segundo problema es la pluralización con un sufijo “-es”, como “papa”. Finalmente, simplemente están las palabras que terminan en “s” pero no son plurales, como “siempre”.

🔥 Recomendado:  Los 7 mejores proveedores de alojamiento de archivos con enlace de descarga directa/Hotlink

Un enfoque basado en el diccionario garantizará que introduzca el recuerdo, pero no de forma incorrecta.

Al igual que con la lematización y la derivación, si normaliza los plurales depende de sus objetivos.

Lance una red más amplia normalizando los plurales, y una más precisa evitando la normalización.

Por lo general, la normalización de plurales es la elección correcta, y puede eliminar los pares de normalización de su diccionario cuando encuentre que causan problemas.

Sin embargo, un área en la que casi siempre querrá introducir una mayor recuperación es cuando se manejan errores tipográficos.

Tolerancia tipográfica y corrector ortográfico

Todos nos hemos encontrado con la tolerancia a errores tipográficos y el corrector ortográfico en la búsqueda, pero es útil pensar por qué está presente.

A veces, hay errores tipográficos porque los dedos se deslizan y presionan la tecla equivocada.

Otras veces, el buscador piensa que una palabra se escribe de forma diferente a como es.

Cada vez más, los “errores tipográficos” también pueden ser el resultado de una mala comprensión de voz a texto.

Finalmente, las palabras pueden parecer que tienen errores tipográficos, pero en realidad no los tienen, como cuando se comparan “grito” y “crema”.

La forma más sencilla de manejar estos errores tipográficos, faltas de ortografía y variaciones es evitar tratar de corregirlos en absoluto. Algunos algoritmos pueden comparar diferentes tokens.

Uno de estos es el Algoritmo de distancia de Damerau-Levenshtein.

Esta medida analiza cuántas ediciones se necesitan para pasar de un token a otro.

Luego puede filtrar todas las fichas con una distancia demasiado alta.

(Por lo general, dos es un buen umbral, pero probablemente desee ajustarlo en función de la longitud del token).

Después de filtrar, puede usar la distancia para clasificar los resultados o alimentar un algoritmo de clasificación.

Muchas veces, el contexto puede ser importante a la hora de determinar si una palabra está mal escrita o no. La palabra “scream” probablemente sea correcta después de “I”, pero no después de “ice”.

El aprendizaje automático puede ser una solución para esto al traer contexto a esta tarea de PNL.

Este software de revisión ortográfica puede usar el contexto alrededor de una palabra para identificar si es probable que esté mal escrita y su corrección más probable.

Errores tipográficos en documentos

Una cosa que omitimos antes es que las palabras no solo pueden tener errores tipográficos cuando un usuario las escribe en una barra de búsqueda.

Las palabras también pueden tener errores tipográficos dentro de un documento.

Esto es especialmente cierto cuando los documentos están hechos de contenido generado por el usuario.

Este detalle es relevante porque si un motor de búsqueda solo busca errores tipográficos en la consulta, le falta la mitad de la información.

La mejor tolerancia a errores tipográficos debería funcionar tanto en la consulta como en el documento, por lo que la distancia de edición generalmente funciona mejor para recuperar y clasificar los resultados.

El corrector ortográfico se puede utilizar para elaborar una mejor consulta o proporcionar comentarios al buscador, pero a menudo es innecesario y nunca debe estar solo.

Comprensión del lenguaje natural

Mientras que NLP se trata de procesar texto y lenguaje natural, NLU se trata de comprender ese texto.

Reconocimiento de entidad nombrada

Una tarea que puede ayudar en la búsqueda es la del reconocimiento de entidades nombradas, o NER. NER identifica elementos clave, o “entidades”, dentro del texto.

Si bien algunas personas llamarán procesamiento de lenguaje natural NER y otras lo llamarán comprensión de lenguaje natural, lo que está claro es que puede encontrar lo que es importante dentro de un texto.

Para la consulta “Vestido de fiesta de fin de año”, tal vez obtenga una entidad de “vestido” que se asigna a un tipo de “categoría”.

NER siempre asignará una entidad a un tipo, desde tan genérico como “lugar” o “persona”, hasta tan específico como sus propias facetas.

NER también puede usar el contexto para identificar entidades.

Una consulta de “casa blanca” puede referirse a un lugar, mientras que “pintura de casa blanca” puede referirse a un color de “blanco” y una categoría de producto de “pintura”.

Categorización de consultas

El reconocimiento de entidades con nombre es valioso en la búsqueda porque se puede usar junto con valores de faceta para proporcionar mejores resultados de búsqueda.

Recordando el ejemplo de “pintura de casa blanca”, puede usar el color “blanco” y la categoría de producto “pintura” para filtrar sus resultados y mostrar solo aquellos que coincidan con esos dos valores.

Esto le daría una alta precisión.

Si no quiere ir tan lejos, simplemente puede promocionar todos los productos que coincidan con uno de los dos valores.

La categorización de consultas también puede ayudar con la recuperación.

Para búsquedas con pocos resultados, puede utilizar las entidades para incluir productos relacionados.

Imagina que no hay productos que coincidan con las palabras clave “pintura de casa blanca”.

En este caso, aprovechar la categoría de producto de “pintura” puede generar otras pinturas que podrían ser una alternativa decente, como ese bonito color de cáscara de huevo.

🔥 Recomendado:  Search Unleased: un complemento personalizado de WordPress

Etiquetado de documentos

Otra forma en que el reconocimiento de entidades nombradas puede ayudar con la calidad de la búsqueda es moviendo la tarea del tiempo de consulta al tiempo de ingesta (cuando el documento se agrega al índice de búsqueda).

Al ingerir documentos, NER puede usar el texto para etiquetar esos documentos automáticamente.

Estos documentos serán entonces más fáciles de encontrar para los buscadores.

Los buscadores usan un filtrado explícito o el motor de búsqueda aplica un filtrado automático de categorización de consultas para permitir que los buscadores vayan directamente a los productos correctos usando valores de faceta.

Detección de intención

Relacionado con el reconocimiento de entidades está la detección de intenciones o la determinación de la acción que un usuario desea realizar.

La detección de intenciones no es lo mismo de lo que hablamos cuando decimos “identificar la intención del buscador”.

Identificar la intención del buscador es llevar a las personas al contenido correcto en el momento correcto.

La detección de intenciones asigna una solicitud a una intención específica predefinida.

Luego toma medidas basadas en esa intención. Un usuario que busque “cómo hacer devoluciones” podría desencadenar la intención de “ayuda”, mientras que “zapatos rojos” podría desencadenar la intención de “producto”.

En el primer caso, puede enrutar la búsqueda a la búsqueda de su mesa de ayuda.

En el segundo, podría enrutarlo a la búsqueda de productos. Esto no es tan diferente de lo que ves cuando buscas el clima en Google.

Mire y observe que obtiene un cuadro meteorológico en la parte superior de la página. (Recién lanzado motor de búsqueda web andi lleva este concepto al extremo, agrupando la búsqueda en un chatbot).

Para la mayoría de los motores de búsqueda, la detección de intenciones, como se describe aquí, no es necesaria.

La mayoría de los motores de búsqueda solo tienen un único tipo de contenido en el que buscar a la vez.

Cuando hay varios tipos de contenido, la búsqueda federada puede funcionar admirablemente al mostrar varios resultados de búsqueda en una única interfaz de usuario al mismo tiempo.

Otras tareas de PNL y NLU

Hay muchas otras tareas de NLP y NLU, pero generalmente son menos relevantes para la búsqueda.

Tareas como el análisis de sentimientos pueden ser útiles en algunos contextos, pero la búsqueda no es una de ellas.

Podría imaginarse usar la traducción para buscar corpus en varios idiomas, pero rara vez sucede en la práctica, y rara vez se necesita.

La respuesta a preguntas es una tarea de NLU que se implementa cada vez más en la búsqueda, especialmente en los motores de búsqueda que esperan búsquedas en lenguaje natural.

Una vez más, puede ver esto en los principales motores de búsqueda web.

Google, Bing y Kagi responderán de inmediato a la pregunta “¿cuántos años tiene la Reina de Inglaterra?” sin necesidad de hacer clic para acceder a ningún resultado.

Algunas tecnologías de motores de búsqueda han explorado la implementación de respuestas a preguntas para índices de búsqueda más limitados, pero fuera de las mesas de ayuda o el contenido largo y orientado a la acción, el uso es limitado.

Pocos buscadores van a una tienda de ropa en línea y hacen preguntas en una barra de búsqueda.

El resumen es una tarea de NLU que es más útil para la búsqueda.

Al igual que con el uso de NER para el etiquetado de documentos, el resumen automático puede enriquecer los documentos. Los resúmenes se pueden utilizar para hacer coincidir los documentos con las consultas o para proporcionar una mejor visualización de los resultados de la búsqueda.

Esta mejor visualización puede ayudar a los buscadores a estar seguros de que han obtenido buenos resultados y obtener las respuestas correctas más rápidamente.

Incluso si se incluyen tecnologías de búsqueda más nuevas que utilizan imágenes y audio, la gran mayoría de las búsquedas se realizan con texto. Para obtener los resultados correctos, es importante asegurarse de que la búsqueda procese y comprenda tanto la consulta como los documentos.

La búsqueda semántica aporta inteligencia a los motores de búsqueda, y el procesamiento y la comprensión del lenguaje natural son componentes importantes.

Las tareas de NLP y NLU como tokenización, normalización, etiquetado, tolerancia a errores tipográficos y otras pueden ayudar a garantizar que los buscadores no necesiten ser expertos en búsquedas.

En cambio, pueden pasar de la necesidad a la solución “naturalmente” y rápidamente.

Más recursos: