Análisis de textos en InfoSphere Warehouse - Parte 1: Generalidades de la arquitectura y ejemplo de extracción de información con expresiones comunes

Obtenga información de negocios a partir de datos no estructurados

La información no estructurada representa la fuente de información más grande, actualizada y de más rápido crecimiento que está disponible hoy en día. Esta información existe en muchas fuentes diferentes (como, por ejemplo, los registros de los call center, los informes de reparación, las revisiones de productos, los correos electrónicos, etc.). Las características de análisis de texto de IBM® InfoSphere™ Warehouse lo pueden ayudar a descubrir el valor que ocultan estos datos no estructurados. Esta serie de artículos abarcan la arquitectura general y las oportunidades de negocios que se presentan al analizar los datos no estructurados con las características de análisis de texto de InfoSphere Warehouse. La integración de esta capacidad con la capacidad de información de IBM Cognos® hace que todo el personal de la compañía pueda explotar los resultados del análisis de textos. Este primer artículo nos introduce a la arquitectura básica de la característica de análisis de textos en InfoSphere Warehouse e incluye un ejemplo técnico que nos muestra cómo extraer conceptos de los textos usando expresiones comunes.

Stefan Abraham, Software Engineer, IBM

Stefan Abraham photographStefan Abraham es Software Engineer en el IBM Research & Development Lab en Boeblingen, Alemania. Trabaja en componentes de análisis de textos y en componentes de interfaz de usuario relacionados con minería de datos en InfoSphere Warehouse.



Simone Daum, Software Engineer, IBM

Simone Daum photoSimone Daum es Software Engineer en el IBM Research & Development Lab en Boeblingen, Alemania. Trabaja en herramientas de preparación de datos para minería de datos y en análisis de textos en InfoSphere Warehouse.



Benjamin G. Leonhardi, Software Engineer, IBM

Author Photo: Benjamin LeonhardiBenjamin Leonhardi es Software Engineer para minería de datos en InfoSphere Warehouse en el IBM Research & Development Lab en Boeblingen, Alemania. Trabaja en visualización de minería, minería de textos y soluciones de información de minería.



04-06-2009

Introducción

En una encuesta reciente de TDWI, se consultó a los profesionales de gestión de datos sobre "¿Qué tipos de sistemas de fuentes y datos alimentarán a sus almacenes de datos dentro de tres años?" Los participantes de la encuesta dijeron que esperaban un gran aumento en la cantidad de datos no estructurados. Esto incluía los correos electrónicos, las transcripciones de los call center, los documentos de los sistemas de gestión de contenidos y los contenidos públicos provenientes de foros y blogs. (Ver la sección Recursos, donde encontrará un vínculo que lo llevará a la encuesta.)

Esta serie de artículos describe cómo la tecnología de análisis de textos puede transformar a estos datos no estructurados y textuales en información significativa que se puede usar dentro de las aplicaciones de Business Intelligence. Los datos no estructurados pueden mejorar la calidad de los análisis de BI existentes o, en algunos casos, pueden ser clave para la existencia de nuevos tipos de información.

Escenarios de negocios de muestra

A continuación, se presentan dos ejemplos de escenarios de negocios que ilustran el valor de la tecnología de análisis de textos:

  • Reducción de la fuga de clientes mediante la identificación de los clientes insatisfechos lo antes posible: Las compañías que operan en el sector de las telecomunicaciones ya han elaborado modelos analíticos predictivos para evitar la fuga de clientes. Sin embargo, estos modelos se basan predominantemente en el uso de datos no estructurados. El hecho de agregar información desde datos no estructurados podría mejorar estos modelos predictivos de manera significativa. Por ejemplo, una compañía podría detectar a los clientes insatisfechos que explícitamente mencionan a la competencia durante una llamada de servicio. Al incluir esto en un modelo de fuga, la compañía podría configurar procesos para que se tomen medidas inmediatas cuando se registren los primeros síntomas que revelen la disconformidad de un cliente.
  • Mejoramiento de la calidad de los sistemas de advertencia temprana: Los informes de problemas internos, los correos electrónicos de los clientes o las transcripciones de los call center pueden ofrecer información importante sobre problemas emergentes que involucren a los productos. Hoy en día, las compañías tratan de capturar esta información usando un conjunto fijo de categorías dentro de taxonomías de problemas. Generalmente, estas taxonomías sufren de problemas de granularidad. Si las taxonomías sólo incluyen categorías de alto nivel, la compañía no puede capturar la razón real de un problema. Sin embargo, si las taxonomías tratan de capturar todos los problemas posibles, pasan a ser muy difíciles de manejar como para que se las use para el personal que trata directamente con los clientes (como, por ejemplo, los empleados de los call center). La razón real de un defecto se suele ocultar tras comentarios o registros del call center. Entonces, por ejemplo, es posible que una compañía pueda detectar que existe un problema con un producto determinado, pero no se da cuenta de que una parte en particular está causando el problema. Por lo tanto, la compañía pierde la oportunidad de tomar las medidas adecuadas (como, por ejemplo, retirar un producto del mercado o controlar los demás productos que usen la parte problemática. Al usar el análisis de los términos frecuentes que están disponibles en InfoSphere Warehouse, la compañía podría crear un informe que muestre términos correlacionados extraídos de las quejas de los clientes correspondientes a un modelo determinado del producto. Esto podría brindar información directa sobre lo que podría ocasionar los problemas.

En cualquiera de estos dos escenarios, los textos son el principal tipo de datos no estructurados. Las compañías también pueden llegar a necesitar analizar textos semiestructurados (como, por ejemplo, los contenidos en formato XML) u otros tipos de datos (como, por ejemplo, en formato de audio y video). Sin embargo, los autores de esta serie de artículos consideran que el grueso de los contenidos que resultan relevantes para las aplicaciones de hoy en día aparecen como textos libres que forman parte de las notas de los técnicos, comentarios de clientes a través de aplicaciones CRM o correos electrónicos o fragmentos de códigos de servicios nuevos. Por lo tanto, hemos decidido concentrarnos en los artículos que aparecen como textos libres.

Tareas de extracción de información

La tarea básica que involucra el análisis de textos es la Extracción de Información (IE). La Extracción de Información es un área de procesamiento del lenguaje natural que se ocupa de examinar los textos no estructurados con el objetivo de extraer conceptos (a los que se denominad entidades) y relaciones entre estos conceptos.

A continuación, se mencionan las tareas de extracción de información más relevantes:

  • Named Entity Recognition (NER): Reconocimiento y extracción de entidades nombradas (por ejemplo: el nombre de una persona o de un lugar, expresiones momentáneas e indicadores de problemas).
  • Relationship Detection: Detección de relaciones basándose en las entidades nombradas (por ejemplo: la parte X causa el problema Y).
  • Coreference resolution: Identificación de expresiones en todo el documento que se refieren al nombre de la entidad (por ejemplo: el hotel denominado "Best Hotel" en el siguiente texto: Me gustó mucho hospedarme en Best Hotel. Tiene habitaciones muy luminosas. El hotel también tiene…

Reconocimiento de entidades nombradas basadas en una lista y en reglas

Uno de los enfoques que involucran al Reconocimiento de Entidades Nombradas consiste en la extracción de entidades basadas en una lista. Esto incluiría la extracción de cosas como los nombres de los empleados (por ejemplo, del servidor LDAP de la compañía) o los nombres de los productos y sus atributos. Algunos dominios ya tienen su propio vocabulario oficial (como, por ejemplo, la Nomenclatura sistematizada de los términos médicos / clínicos (SnoMed CT) que se usan en la industria de la atención médica.

Una de las ventajas de una extracción basada en una lista es que las listas de palabras suelen provenir de fuentes confiables, lo que quiere decir que su creación y actualización se puede automatizar hasta cierto punto. Por ejemplo, cada vez que se agrega un nuevo nombre de producto, usted puede hacer que esto active una actualización del lote. Además, los resultados de la extracción son inmediatamente plausibles para el consumidor final. Generalmente, los términos que figuran en la lista tienen diferentes variantes y siglas que el experto del dominio debe agregar a la lista.

Algunos tipos de entidades, como los números de teléfono o las expresiones monetarias, no se pueden listar de manera exhaustiva. Para el caso de estas entidades, la extracción basada en reglas es el enfoque adecuado. La generalización es una de las ventajas de las reglas. — Una regla puede abarcar una amplia gama de entidades. Otra ventaja es que las reglas pueden tener en cuenta el contexto del documento. Esto tiene una importancia crítica para las tareas como la detección de emociones, donde un palabra negativa (como, por ejemplo, "no") modifica el sentido de toda la oración.

El principal desafío de las reglas consiste es la complejidad que los — usuarios necesitan para crear y actualizar las reglas. Las personas que tienen los conocimientos adecuados sobre el dominio suelen no ser técnicos. Por lo tanto, es necesario contar con herramientas de configuración que oculten estas complejidades lingüísticas y determinen los lenguajes a partir de estos usuarios.

Generalidades del artículo y de esta serie de documentos

El resto de este artículo presenta un resumen de la arquitectura básica de InfoSphere Warehouse y sus características de análisis de texto. Luego de esto, se incluye un ejemplo simple y paso a paso de cómo usar InfoSphere Warehouse para extraer conceptos usando expresiones comunes.

Los siguientes artículos que pertenecen a esta serie describen otras características de análisis de textos disponibles en InfoSphere Warehouse. Además, se muestra cómo se pueden usar estos resultados para informar sobre los productos de software (como, por ejemplo, IBM Cognos 8 BI).


Arquitectura de IBM InfoSphere Warehouse

InfoSphere Warehouse es la solución de almacén de IBM creada en IBM DB2® para el almacenamiento de datos. Este artículo se concentra las capacidades de análisis de textos de InfoSphere Warehouse, pero el producto también incluye una amplia gama de otras herramientas para la gestión de almacenes y las tareas de análisis (como, por ejemplo, el procesamiento analítico online (OLAP), la gestión del desempeño y la gestión de la carga de trabajo).

Figura 1. Arquitectura de InfoSphere Warehouse
Graphic depicting the architecture of InfoSphere Warehouse according to the design, deploy, and manage tasks; components are described below

Como se puede observar en el diagrama de arquitectura anterior, los principales componentes de InfoSphere Warehouse son:

  • El servidor de la base de datos DB2, que incluye los datos estructurados y no estructurados (mayormente en formato de texto) del almacén de datos.
  • Design Studio: una plataforma a modo de herramienta que usan los analistas de negocios y los administradores de almacenes para diseñar las reglas de las cargas de trabajo, los flujos de transformación de datos y los flujos analíticos para la minería de datos y el análisis de textos. Por ejemplo, un analista de negocios puede crear un flujo analítico para extraer información estructurada del correo electrónico de un cliente o de los informes de los centros de llamadas. Luego, estos flujos se pueden implementar en la consola de administración de InfoSphere Warehouse. Además, Design Studio ofrece herramientas que le permiten lograr una mejor comprensión de los datos, crear recursos como diccionarios o reglas de expresiones comunes que se usan en los flujos analíticos y mucho más.
  • La consola de administración se usa para gestionar y monitorear el almacén. Luego de implementar los flujos diseñados en Design Studio, usted los puede ejecutar, programar y monitorear. Por ejemplo, usted podría programar un análisis semanal de los informes nuevos del call center con el objetivo de identificar a los clientes que probablemente se fuguen. También podría ejecutar una búsqueda de las notas más recientes de los técnicos con el objetivo de encontrar posibles problemas que afecten a los productos.

Analítica no estructurada en InfoSphere Warehouse

InfoSphere Warehouse usa Unstructured Information Management Architecture (UIMA) para el análisis de los datos no estructurados. UIMA es una plataforma abierta, escalable y extensible que sirve para crear, integrar e implementar soluciones de análisis de texto. UIMA es un software completamente gratuito y ofrece un fundamento común para la industria y el entorno académico. Los componentes basados en UIMA que se usan para extraer entidades (como, por ejemplo, nombres, emociones o relaciones) se denominan UIMA Annotators (Anotadores UIMA) o Analysis Engines (Motores de análisis).

InfoSphere Warehouse ofrece operadores y herramientas para el reconocimiento de entidades nombradas basadas en diccionarios y basadas en expresiones. Para otras tareas de análisis de textos, se dispone de un operador de análisis de textos genérico que se puede usar para ejecutar los anotadores compatibles con Apache UIMA en flujos analíticos:

  • La comprensión de datos es importante para la extracción exitosa de información de datos de un texto. Por lo tanto, InfoSphere Warehouse ofrece la característica Data Exploration (Exploración de datos) para encontrar columnas con información relevante en un texto (vista de las Estadísticas del texto) y para navegar a través del texto (vista de contenidos de muestra). Para realizar un análisis más detallado, usted puede usar la característica Frequent Terms Extraction (extracción de términos frecuentes) para extraer los términos que aparecen con mayor frecuencia en una columna del texto. Además, esta característica ofrece una visualización avanzada (como una vista en nube). Frequent Terms Extraction es una característica importante para lograr la creación eficiente de diccionarios que se pueden usar en análisis basados en diccionarios.
  • El análisis basado en diccionarios consiste en extraer palabras clave del texto. Entre los ejemplos de las entidades que usted puede extraer, podemos mencionar los siguientes: nombres, compañías y productos. Además, usted también puede extraer todas las entidades que aparezcan en una lista. InfoSphere Warehouse soporta el análisis basado en diccionarios de columnas de texto por medio del operador Dictionary Lookup (Búsqueda en diccionarios). El operador Dictionary Lookup (Búsqueda en diccionarios) se basa en tecnología de IBM LanguageWare. Además, soporta el procesamiento de lenguaje natural (como, por ejemplo, la reducción de palabras a su raíz y la toquenización en varios idiomas). Se pueden crear y actualizar diccionarios con Dictionary Editor (Editor de diccionarios) en InfoSphere Warehouse. InfoSphere Warehouse también incluye un Taxonomy Editor (Editor de taxonomías) que categoriza las acepciones del diccionario en un árbol taxonómico para que se las pueda usar en la minería de datos y en OLAP. El análisis basado en diccionarios se explica en detalle en otro artículo de esta serie.
  • El análisis basado en reglas consiste en extraer información del texto por medio de reglas de expresiones comunes. Las expresiones comunes son ideales para extraer conceptos como números de teléfono y de tarjeta de crédito, domicilios, fechas, etc. InfoSphere Warehouse soporta el análisis basado en reglas por medio del operador Regular Expression Lookup (Búsqueda de expresiones comunes). El operador usa archivos a modo de regla que incluyen reglas de expresiones comunes para extraer conceptos de las columnas de texto. Usted puede crear y modificar estos archivos de reglas con el Regular Expressions Editor (Editor de expresiones comunes). Este artículo le ofrece un ejemplo detallado de esto.
  • Además de los métodos comunes de análisis de texto que se mencionan con anterioridad, InfoSphere Warehouse permite el uso de anotadores compatibles con Apache UIMA. Usted puede importarlos a un proyecto InfoSphere Warehouse Data Warehousing y usarlos en el operador Text Analyzer (Analizador de textos). Por ejemplo, para extraer conceptos de más alto nivel (como relaciones o emociones). Los anotadores avanzados UIMA están disponibles gracias a las soluciones personalizadas de IBM, IBM Research y otras compañías y universidades. También puede crearlos desde cero usando UIMA SDK. (Ver la sección Recursos, donde encontrará un vínculo para obtener mayor información sobre UIMA)

Uso de InfoSphere Warehouse Design Studio para el análisis de textos

La Figura 2 presenta InfoSphere Warehouse Design Studio.

Figura 2. InfoSphere Warehouse Design Studio
InfoSphere Warehouse Design Studio screen shot showing a mining flow named Jobs Dictionary Analysis


Design Studio es una plataforma de herramientas integradas de InfoSphere Warehouse construida en base a tecnología Eclipse. Design Studio le permite guardar su trabajo en proyectos. Usted también puede ver todos sus proyectos en Project Explorer (Explorador de proyectos), que figura en el lado izquierdo de la interfaz de Design Studio. El proyecto predeterminado para todos los trabajos con almacenes de datos se denomina Data Warehousing Project (Proyecto Data Warehousing). Este proyecto incluye una carpeta denominada Text Analysis (Análisis de textos) que contiene los recursos necesarios para el análisis de textos (como, por ejemplo, diccionarios, archivos de reglas, taxonomías, etc.).

La extracción de información se lleva a cabo por medio de operadores de texto en los flujos de transformación de datos (flujos de datos y flujos de extracción). Gracias al poderoso concepto de estos flujos, usted puede muestrear, unir y modificar tablas. Luego de esto, los operadores de texto pueden extraer información estructurada de las columnas de texto y agregarlas al resultado como columnas nuevas que incluyen los conceptos encontrados (como por ejemplo, nombres, capacidades, fechas, etc.).

La Figura 3 presenta un escenario en el que los conceptos en texto libre primero se anotan y luego se escriben en la tabla de la base de datos junto con la información estructurada ya existente.

Figura 3. De información no estructurada a información estructurada
Left side of figure contains a dense block of text with highlighted product names and terms; the right side shows the terms integrated into a database table

Extracción de información de un texto usando patrones: Ejemplo

Para los datos fuente, este ejemplo usa la colección de documentos World Factbook que produce la Central Intelligence Agency en los Estados Unidos de Norteamérica. Estos documentos incluyen información sobre todos los países del mundo, incluyendo la superficie de dichos países (en quilómetros cuadrados) y su ubicación geográfica en longitud y latitud.

En primer lugar, crearemos un archivo de reglas de expresiones comunes con el objetivo de extraer los conceptos de superficie y ubicación de los documentos de texto. Luego de esto, usaremos este archivo de reglas en un flujo de minería para extraer los conceptos de las columnas de texto en tablas de bases de datos relacionales.

Expresiones comunes para la comparación de patrones

Una expresión regular es un patrón de caracteres que describe un conjunto de cadenas. InfoSphere Warehouse usa la sintaxis de expresión regular de Java™. Las reglas de expresiones comunes pueden consistir de:

  • Descripciones de las cadenas a, b, c...
  • Clases de caracteres, como [abc], lo que significa que a, b o c puede estar en esta posición.
  • Clases predefinidas de caracteres, como dígitos \d, lo que es equivalente a [0-9].
  • Cuantificadores que le permiten especificar la cantidad de ocurrencias de los subpatrones. Por ejemplo, a* es la letra "a" ninguna o múltiples veces, a+ es la letra "a" por lo menos una vez, a{3} es "aaa", a{1,3} es la letra "a" por lo menos una vez pero no más de tres veces.
  • Los grupos son subpatrones en la expresión regular que están entre paréntesis. Por ejemplo, la expresión regular A(B(C)) tiene los subgrupos (B(C)) y (C).

Para ver una descripción completa de la sintaxis de las expresiones comunes, vea la documentación de InfoSphere Warehouse o la documentación de Java. Ver la sección Recursos.
Si no está familiarizado con las expresiones comunes o no recuerda como se construyen las expresiones comunes, puede usar el Regular Expression Builder (Creador de expresiones comunes) que está disponible junto con el editor RegEx en InfoSphere Warehouse.

Si desea crear una expresión regular para que se corresponda con un número de teléfono internacional de los EE.UU. (por ejemplo, 001-555-7323), debería buscar una cadena que comience con "001" y siga con un guión, por lo menos un número, otro guión y otro número por lo menos. La expresión regular correspondiente a esto sería la siguiente:

(001)-(\d+)-(\d+)

El siguiente ejemplo le muestra cómo usar expresiones comunes para extraer conceptos (como, por ejemplo, coordenadas y superficies) del texto.

Exploración de textos en las tablas de la base de datos

Para realizar un análisis de texto en las tablas de la base de datos, usted primero debe explorar la información disponible con el objetivo de seleccionar las columnas de texto relevantes para el análisis. Gracias a la vista InfoSphere Warehouse Data Exploration, usted puede navegar a través de las muestras de tablas de la base de datos, navegar a través de los contenidos de grandes columnas de texto y determinar el largo promedio de las cadenas de texto.

A continuación, se presentan instrucciones sobre cómo usar la vista Data Exploration (Exploración de datos) para explorar los contenidos de una tabla denominada FACTBOOK. Se puede encontrar esta tabla en la base de datos de muestra denominada DWESAMP que se incluye en InfoSphere Warehouse.

  1. Desde InfoSphere Warehouse Data Source Explorer, navegue hacia la tabla FACTBOOK que se encuentra en la base de datos denominada DWESAMP y en el esquema CIA. Presione el botón derecho del mouse sobre la tabla y seleccione Distribution and Statistics (Distribución y estadísticas) -> Data Exploration (Exploración de datos) desde el menú de contexto.

    La vista Data Exploration en la Figura 4 presenta un ejemplo de cincuenta filas al azar de las 275 filas que componen la tabla. Cada fila incluye el nombre del país y una columna denominada TEXT (TEXTO) que contiene información sobre el país en cuestión. Debajo de la tabla, usted puede seleccionar una de las columnas de texto de la tabla para visualizar los contenidos completos. Esto le permite inspeccionar más texto que podría encontrarse en la columna. Desde la lista desplegable, seleccione la columna denominada TEXT.

    Figura 4. Vista Data Exploration que muestra los contenidos de muestra de la tabla FACTBOOK
    The Data Exploration view showing sample contents of the FACTBOOK table
  2. Para visualizar más información sobre el país específico, seleccione la fila adecuada en la tabla de contenidos de muestra.
  3. Desplácese hacia abajo en la descripción de texto de un país para encontrar la información relativa a su ubicación geográfica y a su superficie en quilómetros cuadrados. Por ejemplo, seleccionando Alemania como se puede observar en la Figura 4, usted vería la siguiente información:

    Coordinadas geográficas: 51 00 N, 9 00 E Carta de referencia: Superficie de Europa: Total: 357.021 kilómetros cuadrados Superficie acuática: 7.798 kilómetros cuadrados Superficie terrestre: 349.223 kilómetros cuadrados

    Si observa la tabla de contenidos de muestra, puede ver que las coordenadas geográficas del país y su superficie siempre tienen el mismo formato. La tarea de extraer conceptos en este formato se puede llevar a cabo fácilmente usando reglas de expresiones comunes.

Creación de un archivo de reglas con expresiones comunes para la ubicación y la superficie

Con los archivos de reglas, usted puede definir conceptos, como números de teléfono o localizadores de recursos uniformes. A estos conceptos se los denomina tipos. Para encontrar estos conceptos en el texto, usted puede especificar reglas que definan un patrón con el objetivo de comparar estos conceptos.

Un tipo de concepto puede tener características. Por ejemplo, a partir de un número de teléfono que consiste del código de país, el código de área y el número de extensión, usted puede crear el tipo phone number y especificar las características country code, area code y extension number.

Con el editor de reglas RegEx, usted puede definir los tipos de concepto y sus características y, luego de esto, asignar reglas con patrones de expresiones comunes a estos tipos. Cuando un patrón se corresponde con una parte del texto, se crea una anotación correspondiente al tipo asociado. Usted puede configurar los valores de una anotación asignando un subpatrón de la regla de expresiones comunes, — un grupo de correspondencia, — a la característica.

Cuando se usa el archivo de reglas dentro del operador Regular Expression Lookup (Búsqueda de expresiones comunes) en un flujo de minería o en un flujo de datos, las características se pueden mapear hacia las columnas de una tabla relacional, que indica los conceptos extraídos.

Creación de un Proyecto Data Warehouse:

  1. Presione el botón derecho del mouse sobre Project Explorer (Explorador de proyectos) y seleccione New (Nuevo) -> Data Warehouse Project (Proyecto Data Warehouse) del menú de contexto.
  2. En el siguiente asistente, ingrese el nombre del proyecto (como, por ejemplo, Text Analytics).
  3. Presione Finish (Finalizar).

Creación de un nuevo archivo de reglas:

  1. En la carpeta denominada Text Analysis (Análisis de textos), presione el botón derecho del mouse sobre la carpeta denominada Rules (Reglas) y seleccione New (Nueva) -> Rules (Reglas) del menú de contexto. Esto permite visualizar el recuadro de diálogo denominado New Rules (Reglas nuevas).
  2. Seleccione el proyecto Data Warehousing que creó con anterioridad.
  3. Especifique Factbook_Concepts como el nombre del archivo de reglas y presione Finish. Esto permite visualizar el editor RegEx.

Cree un tipo denominado Coordinates (Coordenadas):

  1. En la sección denominada Types (Tipos), Factbook_Concepts se visualiza como el tipo inicial. Borre este tipo y cree un tipo nuevo. Llame Coordinates a este nuevo tipo. Esto crea una regla con el mismo nombre de manera automática.
  2. Expanda el tipo Coordinates. La carpeta denominada Features (Características) se encuentra vacía y la carpeta denominada Rules (Reglas) incluye la regla denominada Coordinates. Sin embargo, todavía no se definió ningún patrón de expresiones comunes.
  3. La primera regla que usted crea debería extraer el tipo de concepto Coordinates, con la longitud y la latitud, de CIA.FACTBOOK. Por ejemplo:

    Coordenadas geográficas: 51 00 N, 9 00 E

    En el editor RegEx, para el tipo Coordinates, seleccione la carpeta denominada Features y, haga clic sobre New Feature (Nueva característica).

  4. En el recuadro de diálogo denominado New Feature, ingrese longitude en el campo de entrada, acepte el tipo de datos predeterminado de String (Cadena) y presione OK (Aceptar).
  5. Repita el paso anterior para agregar otra característica denominada latitude con el tipo de datos String.

    Como se puede observar en la Figura 5, la sección Types ahora debería incluir una definición para el tipo denominado Coordinates con dos características llamadas longitud y latitud.

    Figura 5. El tipo Coordinates con las características de longitud y latitud
    The Types section tree hierarchy with type Coordinates and its features longitude and latitude
  6. Especifique el patrón de expresiones comunes para la regla:
    1. Expanda la capeta denominada Rules (Reglas) en el árbol y haga clic sobre la regla Coordinates para seleccionarla.
    2. La sección denominada Test Rule (Regla de prueba) del editor RegEx, que aparece en la Figura 6, se usa para probar su regla en un conjunto de fragmentos de texto de muestra. Usted debe ingresar un ejemplo del texto que desea encontrar en el campo de texto denominado Input (Entrada). Luego de esto, el campo denominado Matched (Coincidente) muestra las partes de la regla que se podrían corresponder con el texto que figura en el campo denominado Input.

      Ingrese el siguiente fragmento de texto en el campo de texto denominado Input:

      Coordenadas geográficas: 51 00 N, 9 00 E

      Figura 6. La sección denominada Test Rule (Regla de prueba) del editor RegEx
      Screen shot of the Test Rule section of the RegEx editor with the Input text field filled in as described above and the Matched field showing the parts of the rule that could be matched
    3. La sección denominada Rule (Regla) del editor RegEx, que aparece en la Figura 7, es donde usted ingresa la expresión regular.

      Ingrese el siguiente patrón de expresión regular en el campo de entrada de datos de la sección denominada Rule (Regla):

      Coordenadas geográficas: ([0-9]{1,2} [0-9]{1,2} [SN]), ([0-9]{1,3} [0-9]{1,2} [EW])

      Figura 7. Sección Regla del editor RegEx
      Screen shot of the Rule section of the RegEx editor with the input field filled in with the sample regular expression listed above

      La regla anterior especifica 1-2 dígitos, seguidos por un espacio en blanco, 1-2 dígitos, S o N (que significa sur o norte), una coma, 1-3 dígitos, un espacio en blanco, 1-2 dígitos y E o W (que significa este u oeste).

      De manera alternativa, usted puede tratar de crear el patrón de expresión regular usando Regular Expression Builder (Creador de expresiones comunes). Regular Expression Builder ofrece ayuda sintáctica para la anotación de la expresión regular.

    4. En este paso, usted asigna subpatrones a las características denominadas longitud y latitud con el objetivo de poder extraer estos conceptos de manera separada.

      La regla incluye dos subpatrones, o grupos de correspondencia, entre paréntesis. El primer subpatrón (Subpattern1) denota la latitud (51 00 N) y el segundo subpatrón (Subpattern2) denota la longitud (9 00 E). Para poder ver toda esta información, haga clic sobre el panel denominado Matched (Coincidente) de la sección Test Rule (Regla de prueba) y desplácese hacia abajo usando la tecla que tiene una flecha que apunta en dicha dirección.

      En la sección Features, seleccione la entrada correspondiente a la latitud y haga clic sobre Add subpattern reference (Agregar referencia al subpatrón). Ahora puede observar el recuadro de diálogo denominado Add Subpattern Reference que aparecen en la Figura 8. Para cada una de las elecciones que aparecen en el recuadro de diálogo, se visualiza en negrita la parte de la expresión regular que define el subpatrón.

      Figura 8. Recuadro de diálogo para agregar una referencia al subpatrón
      Screen shot of the Add Subpattern Reference dialog box with radio button entries for Entire regular expression, Subpattern 1, and Subpattern 2

      Seleccione Subpattern1.

      Vuela a la sección denominada Features (Características), seleccione la entrada de la longitud y haga clic sobre Add subpattern reference. Desde el recuadro de diálogo denominado Add Subpattern Reference, seleccione Subpattern2.

      Como se puede observar en la Figura 9, la sección Features ahora debería mostrar el subpatrón asignado para cada característica.

      Figura 9. La sección denominada Features del editor RegEx
      Screen shot of the Features section of the RegEx editor with longitude feature assigned the value of $1 and latitude feature assigned the value of $2

Cree un tipo denominado Area (Superficie):

  1. La segunda regla que usted crea debería extraer el tipo de concepto Area. Por ejemplo:

    Superficie: Total: 357.021 kilómetros cuadrados Superficie acuática: 7.798 kilómetros cuadrados Superficie terrestre: 349.223 kilómetros cuadrados

    Comience haciendo clic sobre New Type (Tipo nuevo) e ingresando Area como el nombre del tipo. Además, esto crea una regla denominada Area de manera automática.

  2. Haga clic sobre New Feature e ingrese value como el nombre de la característica.
  3. Cambie el tipo de datos de la nueva característica denominada value (valor) a Integer (Entero).
  4. Ingrese la siguiente expresión regular:

    Superficie: Total: ([0-9]{1,3}(,[0-9]{1,3})*) kilómetros cuadrados

  5. Use el siguiente fragmento de texto para probar su regla:

    Superficie: Total: 357.021 kilómetros cuadrados Superficie acuática: 7.798 kilómetros cuadrados Superficie terrestre: 349.223 kilómetros cuadrados

  6. Asigne Subpattern1 a la característica denominada value (valor).
  7. Guarde el archivo de la regla haciendo clic sobre el área del editor y presionando Ctrl+S.

Creación de un flujo con el operador Regular Expression Lookup (Búsqueda de expresiones comunes)

El operador Regular Expression Lookup se basa en archivos de reglas. Los archivos de reglas incluyen patrones de expresiones comunes que le permiten extraer conceptos (como por ejemplo, números de teléfono o direcciones de correo electrónico de tablas de bases de datos). Usando el operador Regular Expression Lookup, usted puede encontrar las secciones del texto que se corresponden con las expresiones incluidas en los archivos de reglas seleccionados.

Cree un flujo de minería vacío:

  1. Presione el botón derecho del mouse sobre la carpeta denominada Mining Flows (Flujos de minería) en su proyecto Data Warehousing y seleccione New (Nuevo) -> Mining Flow (Flujo de minería) desde el menú de contexto.
  2. En el asistente denominado New File Data Mining Flow (Nuevo archivo de flujo de minería de datos), ingrese un nombre para el flujo de minería (por ejemplo, RegExLookup).
  3. Realice esta selección para comparar su trabajo con una base de datos y haga clic sobre Next (Siguiente).
  4. Desde la página denominada Select Connection (Seleccionar conexión), elija la base de datos denominada DWESAMP y haga clic sobre Finish (Finalizar).

    Esto abre el editor de Mining Flow.

Defina el flujo de minería:

  1. El lado derecho del editor de Mining Flow incluye una paleta con operadores. Usted puede usar estos operadores para crear un flujo de minería (arrastrándolos y soltándolos en el editor).

    Encuentre la sección denominada Sources and Targets (Fuentes y Objetivos) de la paleta. Seleccione un operador Table Source (Fuente de tabla) y arrástrelo hasta el editor.

  2. En el recuadro de diálogo de selección de tablas, expanda el esquema de la CIA, seleccione la tabla FACTBOOKS y haga clic sobre Finish (Finalizar).
  3. Desde la sección denominada Text Operators (Operadores de texto), arrastre un operador Regular Expression Lookup (Búsqueda de expresiones comunes) hasta el editor.

    Ahora, usted puede observar la vista denominada Properties (Propiedades) del operador debajo del editor. (Sin embargo, si maximiza el área de su editor, no podrá ver esto hasta que haya reducido el tamaño del editor).

  4. En el editor, use una simple operación de arrastre para conectar el puerto de salida del operador Source Table (Fuente de tabla) con el puerto de entrada del operador Regular Expression Lookup (Búsqueda de expresiones comunes).
  5. En la página denominada Settings (Configuración) de la vista Properties (Propiedades), seleccione la columna de texto de entrada denominada TEXT (TEXTO) de la lista de columnas de texto de entrada.
  6. En la página Analysis Result (Resultado del análisis), use el ícono denominado Add new Port (Agregar puerto nuevo), que se puede observar en la Figura 10, para agregar dos puertos de salida nuevos.
    Figura 10. ¿Cómo agregar un puerto nuevo desde la página de Resultados del Análisis?
    Screen shot of the Analysis Result page with a cursor pointing to the Add new Port icon

    Para el primer puerto de salida:

    1. Seleccione la pestaña denominada Output (Salida) en la página Analysis Result.
    2. Seleccione Factbook_Concepts como el archivo de reglas a usar para el análisis de textos.
    3. Seleccione Coordinates (Coordenadas) desde la lista desplegable de tipos de anotación.
    4. Borre las columnas denominadas begin (comenzar) y end (terminar) de la tabla denominada Result Columns (Columnas de resultados). Estas columnas incluyen las posiciones de inicio y finalización del concepto encontrado en el texto. Usted no necesita esta información para este análisis.

    Para el segundo puerto de salida (Output1):

    1. Seleccione la pestaña denominada Output1 en la página Analysis Result.
    2. Seleccione Factbook_Concepts como el archivo de reglas a usar para el análisis de textos.
    3. Seleccione Area (Superficie) desde la lista desplegable de tipos de anotación.
    4. Borre las columnas denominadas begin (comenzar) y end (terminar) de la tabla denominada Result Columns.

    La Figura 11 muestra la página Analysis Results completa.

    Figura 11. Página denominada Analysis Results
    Screen shot of the Analysis Results page with output port Output and output port Output1
  7. En la página Output columns (Columnas de salida) de la vista Properties (Propiedades), seleccione la columna denominada COUNTRY (PAÍS) de la lista de columnas disponibles y muévala hasta la lista de columnas de salida a la derecha. Ahora, usted puede relacionar los conceptos extraídos con el PAÍS, ya que esta columna también está presente en el operador de salida.
  8. Cree las tablas que reciben los resultados del análisis:
    1. Presione el botón derecho del mouse sobre el primer puerto de salida (Output) del operador Regular Expression Lookup (Búsqueda de expresiones comunes) y seleccione Create suitable table (Crear tabla adecuada) desde el menú de contexto. Ingrese COUNTRY_COORDINATES para el nombre de la tabla, CIA para el esquema y haga clic sobre Finish (Finalizar).
    2. Presione el botón derecho del mouse sobre el segundo puerto de salida (Output1) y seleccione Create suitable table (Crear tabla adecuada) desde el menú de contexto. Ingrese COUNTRY_AREA para el nombre de la tabla, CIA para el esquema y haga clic sobre Finish (Finalizar).
  9. Por último, guarde el flujo de minería haciendo clic sobre el área del editor y presionando Ctrl+S.

La Figura 12 muestra el flujo de minería completo. Ya lo puede ejecutar.

Figura 12. Flujo de minería completo
Screen shot of the completed mining flow built according to the instructions above

Ejecute el flujo de minería:

  1. El proceso de ejecución analiza las columnas fuente en la tabla CIA.FACTBOOK usado su archivo de reglas y escribe los resultados en las tablas COUNTRY_COORDINATES y COUNTRY_AREA que acaba de crear.

    Para ejecutar el flujo de minería, seleccione Mining Flow -> Execute (Ejecutar) desde el menú y haga clic sobre Execute (Ejecutar) en el asistente.

  2. Luego de ejecutar el flujo de minería, usted podrá explorar los contenidos de las tablas objetivo.

    Presione el botón derecho del mouse sobre la tabla COUNTRY_COORDINATES y seleccione Sample contents of database table (Contenidos de muestra de la tabla de la base de datos) desde el menú de contexto. Esto hace que se visualicen los contenidos de muestra en la vista Data Output (Salida de datos), como se puede observar en la Figura 13.

    Figura 13. Contenidos de muestra de la tabla COUNTRY_COORDINATES que visualizan la longitud y la latitud extraída
    Screen shot of the COUNTRY_COORDINATES table being displayed in the Data Output view; table shows columns for country, longitude, latitude, and covered text

Conclusión y resumen

Este artículo describió la arquitectura básica de InfoSphere Warehouse y, en particular, del análisis de textos. Además, también describió algunas posibilidades relativas a cómo los resultados de los análisis de textos se pueden usar para crear información nueva. Un ejemplo paso a paso demostró cómo crear una tarea simple de extracción de entidad nombrada usando expresiones comunes. Los próximos artículos de esta serie le mostrarán cómo realizar otras tareas (como, por ejemplo, la extracción de entidades nombradas usando diccionarios) y cómo usar IBM Cognos 8 BI para visualizar y analizar los resultados del análisis de textos junto con los datos estructurados ya existentes.

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Information mgmt
ArticleID=967342
ArticleTitle=Análisis de textos en InfoSphere Warehouse - Parte 1: Generalidades de la arquitectura y ejemplo de extracción de información con expresiones comunes
publish-date=06042009