PROMO JULIO en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 X 

✒️ABAP HANA La búsqueda de textos y el análisis de datos no estructurados

ABAP HANA La búsqueda de textos y el análisis de datos no estructurados

ABAP HANA La búsqueda de textos y el análisis de datos no estructurados1 | Introducción a la búsqueda de textos y análisis de datos no estructurados

SAP HANA ofrece una función para analizar datos no estructurados.

Al aprovechar esta capacidad, podemos mejorar considerablemente la facilidad de uso de los escenarios de búsqueda dentro de las aplicaciones ABAP.

Además, podemos obtener más información al reconocer los patrones en los conjuntos de datos existentes.

En los últimos años, casi ninguna otra funcionalidad ha experimentado un impulso tan grande desde Internet como la búsqueda en grandes conjuntos de datos, independientemente de si se busca a través de un catálogo de productos, la guía telefónica o toda Internet.

En esta lección veremos las opciones proporcionadas por SAP HANA para buscar y analizar textos.

Estas opciones abren muchas formas de emplear la plataforma SAP HANA, particularmente en aplicaciones empresariales, que hasta ahora no han sido ampliamente equipadas con este tipo de funciones.


1.1 | Las ayudas de búsqueda y la búsqueda de textos

Las ayudas de búsqueda representan un excelente escenario de uso para las búsquedas de texto en SAP HANA.

Las aplicaciones SAP contienen ayudas de búsqueda en muchos lugares diferentes.

Cuando se utilizan las ayudas de búsqueda, los usuarios a veces buscan una entrada en un conjunto de datos grande sin conocer los detalles de la entrada, o al menos sin tener estos detalles a mano.

Por ejemplo, podemos estar buscando un cliente específico en Argentina que tenga su sede en Buenos Aires y trabaje en la industria de las telecomunicaciones.

Debido a que el número de cliente no está disponible para nosotros, entonces ingresamos información como puede ser el nombre de la empresa, el país, la ubicación y la industria en una plantilla de entrada compleja, a menudo tenemos que introducir esta información varias veces usando comodines como el asterisco (*).

Además, si escribimos incorrectamente una entrada o los datos se almacenan de una manera diferente en la base de datos (por ejemplo, si el nombre de la ubicación se ingresó usando la ortografía específica del país), generalmente no obtendremos ningún resultado.


1.2 | Las ayudas de búsqueda y la búsqueda de textos en SAP HANA

La función de búsqueda de texto de SAP HANA nos permite desarrollar ayudas de búsqueda que funcionan de manera similar a las búsquedas modernas en Internet.

Proporcionan una cierta tolerancia a los errores y pueden procesar términos y sinónimos multilingües.

En el ejemplo anterior, dicha ayuda de búsqueda podría consistir en un campo de entrada que interpreta correctamente una solicitud de usuario como "buenes eires tele", a pesar de la ortografía incorrecta y la búsqueda a través de varias columnas.

Sin embargo, los usuarios no siempre pueden determinar fácilmente si el resultado devuelto es el esperado en este tipo de búsqueda tolerante a errores, también conocida como una Búsqueda difusa o Fuzzy search.

¿Alguna vez te has preguntado por qué a veces obtenemos resultados inesperados al realizar una búsqueda en Internet?


1.3 | El reconocimiento de patrones

El reconocimiento de patrones en textos y documentos representa un tipo completamente diferente de función de análisis de texto.

Podemos usar esta función en muchos escenarios diferentes: por ejemplo, para evitar tener socios comerciales duplicados en los datos maestros, es posible que deseemos verificar en el sistema si ya existe un cliente similar en el conjunto de datos antes de crear un nuevo cliente y, de ser así, notificarlo al usuario de la aplicación.

En este contexto, ser "similar" podría significar que el apellido y la dirección de un cliente nuevo y existente son casi idénticos.

Como sucede a menudo, los nombres y direcciones en particular se ingresan con diferentes tipos de ortografía, una simple comprobación de entradas idénticas rara vez arroja resultados satisfactorios.


1.4 | El reconocimiento de patrones en SAP HANA

La función de análisis de texto en SAP HANA no solo nos permite realizar búsquedas dentro de los textos, sino también extraer información adicional de los textos.

Por ejemplo, podemos reconocer las relaciones e incluso las intenciones o emociones dentro de los textos.

Supongamos que ejecutamos una tienda web que permite a los clientes ordenar productos en línea y publicar comentarios sobre los productos y el proveedor.

El análisis de sentimientos es parte de la funcionalidad del motor de texto en SAP HANA y nos permite reconocer patrones en estos tipos de datos no estructurados.

En el contexto de la tienda en línea, por ejemplo, nos permitiría analizar si un producto específico provoca comentarios más positivos o negativos.

2 | Los principios básicos de la búsqueda de textos en SAP HANA

El objetivo principal de la función de búsqueda de texto en SAP HANA es proporcionar a los usuarios una usabilidad optimizada de las interfaces de búsqueda.

Además de varias características comunes en los motores de búsqueda de Internet, esto incluye funciones con un significado especial para las aplicaciones empresariales, como listas de sinónimos específicas de la industria.

Veamos a continuación las características de la búsqueda de texto de SAP HANA:

Búsqueda de estilo libre

El usuario no necesita saber las columnas exactas de la base de datos en las que se supone que se realizará la búsqueda.

Por ejemplo, puede implementar una búsqueda de direcciones en un solo campo de entrada e incluir todas las características técnicas, como el nombre de la calle, el código postal, la ciudad, el país, etc.

Búsqueda tolerante a errores (búsqueda difusa o fuzzy search)

El usuario puede variar la ortografía ligeramente en sus solicitudes de búsqueda.

Búsqueda lingüística y búsqueda de sinónimos

Se incluyen variantes lingüísticas y términos sinónimos.

Sugerencias de valor

El sistema identifica de manera eficiente los resultados de búsqueda probables mientras el usuario escribe y los presenta al usuario en tiempo real.

Ranking de resultados

La secuencia de los resultados de la búsqueda se optimiza para que los resultados con la tasa de probabilidad más alta se presenten en la parte superior de la lista.

Facetas de búsqueda

Los resultados de la búsqueda se cuentan y agrupan según criterios específicos. Por ejemplo, al buscar aerolíneas, podemos ver la distribución de las aerolíneas por país.

Análisis de texto (particularmente análisis de sentimiento)

Se extrae información adicional de los textos, lo que nos permite obtener información sobre aspectos semánticos.


2.1 | La búsqueda tolerante a errores

La búsqueda difusa o tolerante a errores (fuzzy search) implica la búsqueda de cadenas de caracteres (es decir, la solicitud de búsqueda) en datos basados en texto, donde los datos no tienen que corresponder exactamente con la solicitud de búsqueda; De esta manera, también se incluyen entradas similares en el conjunto de resultados.

Los algoritmos matemáticos que forman la base de los algoritmos de búsqueda borrosa determinan el grado en que un registro de datos debe corresponder a la solicitud de búsqueda.

El resultado del cálculo es a menudo un valor numérico utilizado para decidir si un registro de datos es lo suficientemente similar a la solicitud de búsqueda.

En la práctica, es muy complicado determinar el grado de similitud entre los textos, e implica el uso de variantes y heurísticas que tienen sus ventajas y desventajas según el escenario en el que se usen.

La función de búsqueda de texto en SAP HANA determina un valor entre 0 y 1 que marca el grado de similitud.

Como programador, debemos definir un valor de umbral (por ejemplo, 0,8) a partir del cual un valor del conjunto de datos que se ha buscado se clasifica de acuerdo con la solicitud

Además, la funcionalidad de la búsqueda difusa (fuzzy search) se puede adaptar para tipos de datos específicos (semánticos).

Por ejemplo, la búsqueda difusa de una fecha puede incluir valores de fecha que se realicen varios días antes o después de la fecha específica que se busca.

En este caso, el criterio de similitud es el período en lugar de la similitud de la cadena de caracteres (por lo tanto, según este criterio, la fecha 01/01/1909 no es similar al 01/01/1990, aunque la posición de uno solo caracter ha sido cambiado).

Expresiones utilizadas en las búsquedas

Cuando ejecutamos una búsqueda difusa, podemos usar un conjunto de expresiones simples que permiten a un experto formular solicitudes de búsqueda más precisas.

Por ejemplo, esto incluye la opción de imponer una búsqueda exacta para una parte específica de la solicitud de búsqueda o usar expresiones lógicas.

La tabla 1.1 contiene algunas expresiones de muestra de la búsqueda de texto de SAP HANA basada en el ejemplo de una búsqueda de líneas aéreas.

Pedido de búsquedaExplicación
lufthansa o united Los resultados que son similares a "Lufthansa" o "United"
airline-united

Los resultados que son similares a "airline" pero no a "united"

"south air" Los resultados que son similares a la expresión entera "south air" y no solo a sus componentes "south" y "air"

Búsqueda lingüística

Para determinar el grado de similitud, también es útil incluir aspectos gramaticales y otros aspectos lingüísticos.

En este contexto, los términos vuelven a su origen en palabras para que se reconozcan las variantes de palabras como "casa", "casas", "vivienda", etc.

Además, la búsqueda lingüística ofrece oportunidades para el manejo de textos multilingües y solicitudes de búsqueda.

Listas de sinónimos

La búsqueda difusa también puede extenderse por listas de sinónimos.

En este contexto, podemos almacenar una lista de términos que son equivalentes a un término específico; la solicitud de búsqueda puede luego basarse en esta lista.

Por ejemplo, "notebook" puede considerarse como un sinónimo de "laptop" o "monitor" como un sinónimo de "pantalla".

Esta característica es particularmente útil para abreviaturas y conceptos específicos de la industria.

Stop words

Otra opción para implementar una búsqueda más inteligente es familiarizar el sistema con las características semánticas de términos específicos.

En este contexto, es importante saber que no todos los términos en una solicitud de búsqueda tienen la misma selectividad.

Por ejemplo, términos como "S.A." o "Inc." no son tan selectivos como el nombre real de la empresa cuando se busca una compañía específica.

Por lo tanto, por lo general, es más importante ingresar el nombre de una empresa similar al que está buscando que ingresar que el resultado de la búsqueda sea un "S.A.", por ejemplo.

Del mismo modo, en textos más largos, como descripciones de productos, las similitudes en ciertas partes del discurso, como los artículos o los pronombres, son menos importantes que las similitudes en los nombres dentro del texto (por ejemplo, en las marcas).

Cuando ejecutamos una solicitud de búsqueda en SAP HANA, podemos ingresar una lista de las llamadas stop words (también denominadas noise words) que se consideran menos importantes que otras palabras.


3 | Los tipos de datos de texto y los índices de texto completo en SAP HANA

La búsqueda difusa en SAP HANA se basa en los tipos de datos del almacén de columnas.

Aquí, TEXT y SHORTTEXT representan dos tipos de datos específicos que se dedican a búsquedas de texto (y análisis de texto).

El tipo de datos SHORTTEXT se usa para cadenas de caracteres de una longitud determinada, mientras que TEXT representa un objeto grande.

En este contexto, los textos se fragmentan internamente en tokens que forman la base para búsquedas y análisis.

Soporte en ABAP


 

 

 


Sobre el autor

Publicación académica de Pedro Antonio Duarte, en su ámbito de estudios para el Máster ABAP for HANA.

SAP Master


Pedro Antonio Duarte

Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O

✒️Autor de: 128 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Pedro Duarte