Browsing articles tagged with " KDD"

Minería de datos sobre ontologías

Oct 24, 2011   //   by jc.cantera   //   Minería de Datos  //  1 Comment

Las aplicaciones del mundo real están cargadas de gran cantidad de datos e incluyen entidades que evolucionan con el tiempo. Sin embargo, este entorno rico en datos no significa necesariamente que sea rico en información. Debido a la naturaleza dinámica del entorno, los datos deben ser interpretados de manera diferente dependiendo de la situación (el contexto). Por ejemplo, el significado de fiebre alta de un paciente de catarro podría ser diferente de la fiebre de un paciente de neumonía.

El contexto es un concepto potente y de gran influencia. Puede ser útil en la interacción persona-máquina, principalmente a través de contextos explícitos de la comunicación (por ejemplo, entrada de la consulta del usuario). Otros factores implícitos de contexto (por ejemplo, físico, condiciones ambientales, lugar, hora, etc.) suelen ser ignorados por el equipo debido a la ausencia de una base de conocimiento o de un modelo adecuado.

La minería de datos sensible al contexto tiene que ver con la forma en que los atributos deben ser interpretados con criterios específicos de cada solicitud. Los actuales enfoques de la minería no proporcionan el apoyo adecuado para  minería de datos sensible al contexto. La razón principal de esto es la falta de contexto rico que especifica cuándo y cómo una minería de datos se debe aplicar a su contexto.

Para interpretar y mejorar la entrada explícita del usuario podrían utilizarse factores implícitos al contexto, lo que afecta los resultados de minería de datos para ofrecer una predicción de resultados exacta y precisa. Diferentes comportamientos y funcionalidades de minería de datos son muy útiles y necesarios en la generación de información dinámica, incierta, y en entornos distribuidos. Se debe a que tales conductas y capacidades pueden ayudar a aumentar los grados de eficacia y flexibilidad del proceso de minería de datos.

Las ontologías proporcionan un medio para representar la información o el conocimiento procesable por una máquina. Este conocimiento se puede comunicar entre diferentes agentes. El marco representa los factores de contexto en ontologías. Contexto es un término muy subjetivo y depende del dominio en cuestión. Por lo tanto, podemos diferenciar dos partes en la minería sensible al contexto: la representación real del factor de contexto para un dominio en la ontología correspondiente y un marco genérico en el que se puede consultar esta ontología e invocar a los procesos de  minería y coordinarlos de acuerdo con el diseño de la ontología. La representación del conocimiento en la ontología puede ser un bloque de construcción para la minería de datos basados en contexto.

El Descubrimiento de Conocimiento en Bases de Datos es un proceso exploratorio que involucra la aplicación de varios procedimientos algorítmicos para la manipulación de datos, construcción de modelos desde los datos y la manipulación de los mismos. El proceso de Descubrimiento de Conocimiento (KD) es una de las nociones centrales del campo de Descubrimiento de Conocimiento y Data Mining (KDD).

En particular el proyecto de investigación se centraliza en un subconjunto de estados de los procesos de KD (estos estados a su vez tienen múltiples componentes de algoritmos que pueden ser aplicados). A este proceso le denominamos Minería de Datos, distinguido del proceso más extenso de Descubrimiento de Conocimiento en Base de Datos. Hay que poner énfasis en tres procesos de KD: preproceso automático de datos, aplicación de algoritmos de inducción, y post-proceso automático de modelos.

Se selecciona este conjunto de pasos, porque individualmente, se encuentran relativamente bien comprendidos y pueden ser aplicados a una amplia variedad de conjunto de datos.

Proceso KDD

Proceso KDD

En la figura se pueden observar las áreas donde se pueden aplicar las ontologías en el proceso de descubrimiento de conocimiento.

Aplicación de  Minería de datos a Ontologías

Aplicación de Minería de datos a Ontologías

De esta manera, podemos ver a la relación entre Ontologías y Minería de Datos de dos modos:

  • Desde las Ontologías a la Minería de Datos, incorporamos el conocimiento al proceso por el uso de ontologías, es decir, cómo los expertos entienden y realizan las tareas de análisis. Las aplicaciones representativas son ayudantes inteligentes para el proceso de descubrimiento, la interpretación y la validación del conocimiento extraído.
  • Desde la Minería de Datos a Ontologías, incluimos el conocimiento del dominio en la información de entrada o usamos las ontologías para representar los resultados. Por lo tanto el análisis es realizado sobre estas ontologías. Las aplicaciones más representativas están en Medicina, Biología y Datos Espaciales, como: la representación de Genes, Taxonomías, aplicaciones en Geociencias, aplicaciones médicas.

Aplicando el ciclo CRISP-DM de minería sobre una ontología

CRISP-DM es la metodología más extendida para describir los pasos del proceso de KDD.

El ciclo de vida de CRISP-DM en el dominio de la ontología

Ciclo Crisp-DM

Ciclo Crisp-DM

En el modelo CRISP-DM se distinguen seis fases principales de un proceso de KDD: comprensión  del Negocio, la comprensión de datos, preparación de datos, modelado, evaluación e implementación.

  • El papel de las ontologías en la comprensión del negocio no es exclusivo de KDD. Las ontologías de dominio son un importante vehículo para la inspección de un dominio antes de comprometerse con una tarea en particular. Ontologías semi-formales  pueden ayudar a un recién llegado a familiarizarse con los conceptos más importantes y las relaciones, mientras que las ontologías oficiales permiten identificar a los supuestos conflictos que pueden no ser evidentes a primera vista.
  • Para la comprensión de datos mejorada, los elementos de una ontología tienen que ser asignados (es de suponer, manualmente) a los elementos del esquema de datos y viceversa. Normalmente, esto conducirá a la selección de solamente una parte relevante de una ontología (o múltiples ontologías). Los beneficios de este esfuerzo podrían ser, por ejemplo:
    • Identificación de los atributos que faltan que se debe agregar al conjunto de datos
    • La identificación de atributos redundantes (por ejemplo, la medición de la misma cantidad en diferentes unidades) que podrían ser eliminados del conjunto de datos.
  • La fase de preparación de datos ya está conectando con el modelado en la fase posterior. Por lo tanto, el uso concreto de la ontología de dominio depende en parte de la herramienta de minería elegida. Una ontología general, puede ayudar a identificar múltiples  grupos de atributos y/o valores de acuerdo con criterios semánticos.
  • En la fase de modelado, las ontologías pueden ayudar a diseñar las sesiones individuales de minería. En particular, para grandes conjuntos de datos, en los que valdría la pena introducir algún sesgo ontológico, por ejemplo, para pasar el examen cuantitativo de las hipótesis que no tendría sentido desde el punto de vista ontológico, o, por el contrario, de los que evidente en la ontología.
  • En la fase de evaluación, el/los modelos descubierto/s tienen el carácter de conocimiento estructurado en torno a los conceptos (mapeado en los atributos de datos), y por lo tanto puede ser interpretada en términos de la ontología y asociados a conocimientos previos.
  • En la fase de implementación, el conocimiento extraído realimenta el entorno del negocio. Siempre y cuando previamente el modelo del negocio se haya plasmado por mediante una  ontología, la integración de nuevos conocimientos una vez más puede estar mediada por la ontología del negocio. Por otra parte, si los resultados de la minería se distribuyen  través de múltiples organizaciones (por ejemplo, utilizando la infraestructura de la web semántica), la asignación a una ontología compartida es inevitable.

Se han estudiado varias aproximaciones de minería de datos sobre ontologías:

Minería de asociación

Mediante procedimientos  para análisis de datos representados como strings o bits. De esta manera, es posible generar y verificar patrones diferentes de manera eficiente. Algunos de los más usados se basa en el análisis de una tabla de contingencia de cuatro fases. Busca relaciones para 16 tipos de reglas de asociación (RA), incluyendo RA correspondientes a la prueba de hipótesis estadísticas y RA condicionales. Otros procecimientos se usan para los patrones basados en la evaluación de tablas de dos dimensiones de contingencia de dos atributos categóricos. Y alguno más que busca relaciones para las parejas de subconjuntos disjuntos de objetos observados que difieren en alguna propiedad de atributos.

Se obtienen RA de la forma φ ≈ ψ, donde se les llama φ y ψ antecedente y consecuente, respectivamente. El símbolo ≈ se refiere a un cuantificador, es decir, una condición en la tabla de contingencia de cuatro dimensiones de φ y ψ. La tabla de contingencia de cuatro dimensiones de φ y ψ en los datos de la matriz M es un cuádrupla ? a, b, c, d? de números naturales de tal manera que uno es el número de objetos de datos de M que satisfacen tanto φ y ψ, b es el número de objetos de datos de M φ ψ satisfactoria y no satisfactoria, c es la número de objetos de datos de φ M no satisfactoria y ψ satisfactoria, y d es la número de de M de M que no cumplan ni φ ψ.

Este modelo se ha utilizado para un experimento realizado con una ontología de dominio de riesgo cardio-vascular.

KDDONTO

KDDONTO es una ontología para apoyar tanto el descubrimiento de algoritmos adecuados y la composición de la KDD de los procesos de KDD. Con este fin, se utiliza una metodología de construcción de ontologías enfocada a definir ontologías orientadas a objetivos y que satisfagan los requisitos de calidad. Cada paso de esta metodología devuelve como salida una ontología válida representada en un lenguaje diferente. En primer lugar, las condiciones básicas que caracterizan algoritmos KDD se identifican y organizan en un glosario, y después las clases y las relaciones de la ontología se derivan formalmente de ella en forma axiomática. Por último, se obtiene una implementación de OWL-DL de la KDDONTO.

En este sentido  se ha desarrollado el proyecto Knowledge Discovery in Databases Virtual Mart (KDDVM), un proyecto más general para el desarrollo de un proceso abierto y entorno extensible donde los usuarios pueden buscar aplicaciones, sugerencias, evaluaciones, ejemplos de uso de las herramientas implementadas como servicios. En este marco, la KDDONTO es explotada para apoyar tanto el descubrimiento de servicios web como la aplicación de algoritmos de KDD, y su composición para la construcción de procesos de KDD. En particular, el uso de una ontología como garantías para obtener validez, resultados útiles y desconocidas.

Híbrido entre minería de datos y ontología

Para permitir el intercambio de conocimientos con el de aplicaciones exitosas de KDD los procesos y sus datos se almacenan en un meta-modelo llamado M4. Al hacer operativo M4, se apoya no sólo el almacenamiento, la documentación y el intercambio de tales procesos, sino también su desarrollo inicial y la ejecución. M4 se compone de un modelo de datos y un modelo de caso, como se explica a continuación:

  1. Los datos se modelan en dos niveles. En primer lugar, se almacena el esquema de base de datos, que describe las tablas, sus atributos y relaciones entre tablas. Este permite un acceso permanente a esta información en bases de datos. En segundo lugar, un nivel de la ontología se introduce que permite describir los datos en términos más abstractos. Básicamente, el nivel de la ontología utiliza los conceptos con las características y las relaciones, para modelar los datos. Obviamente, la asignación entre los dos niveles es crucial. La principal ventaja de este modelo de datos de dos niveles es que todo el procesamiento de datos se describe en términos de la ontología nivel, que permite volver a utilizar la descripción completa en una nueva base de datos simplemente cambiando la asignación inicial.
  2. Una secuencia completa de operaciones que describe un proceso de KDD se llama caso. El modelo del caso describe las operaciones ejecutadas con los datos, proporcionando un conjunto abierto de los operadores xed que realizan transformaciones básicas de los datos, así como pasos de aprendizaje más sofisticadas (a veces el aprendizaje se aplica durante el preprocesamiento). Aparte de algunos operadores con parámetros opcionales específicos (constantes) todas las entradas y salidas de los operadores se especifican en términos de la ontología de dominio. Las secuencias de salidas de un operador válido se encuentran disponibles como entrada para los pasos posteriores. Tan pronto como las entradas de un operador se han asignado a los objetos de base de datos se convierte en ejecutable. Cada operador tiene una tarea específica que es básicamente para establecer una visión nueva base de datos en los datos de entrada. Este proceso puede ser visto como una transformación en una representación diferente de los datos. El compilador es el sistema M4,  responsable de la ejecución de los operadores de los componentes. Lee la información sobre cómo aplicar los operadores en el presente caso de la M4 y crea puntos de vista basados en el código SQL generado de forma dinámica.

Existen entornos gráficos que permiten: a) creación y edición de objetos en el nivel de la ontología y asignarlos a los objetos de base de datos, y b) crear y editar las cadenas de los operadores. Además, toda la información relacionada con un caso M4 puede ser importada y exportada a ficheros XML, los cuales se pueden intercambiar entre los usuarios.

Las principales ventajas de este enfoque son:

  • Descripción de los datos en términos familiares para el usuario
  • Documentación automática de los datos y pasos de procesamiento
  • La reutilización de las aplicaciones en diferentes bases de datos KDD
  • Intercambiabilidad de conocimiento acerca de aplicaciones exitosas de KDD

Reformulation Query

El uso del conocimiento semántico en sus diversas formas, como meta-modelos, reglas semánticas y restricciones de integridad puede mejorar el procesamiento de consultas capacidades de vínculos mediante la transformación de las consultas del usuario en otros que sean semánticamente equivalentes, que pueden ser contestadas en menos tiempo y/o con menos recursos. A veces, el sistema no necesita escanear la base de datos completa para responder a una consulta y una breve respuesta podría satisfacer las necesidades de los usuarios. Este aspecto de la base de datos emergentes se conoce como optimización de las consultas semánticas. Por otra parte, hay también varios mecanismos de conocimiento de bases de datos que utilizan el conocimiento semántico basado en un conjunto de conocimiento intencional, incluyendo las reglas de deducción, las reglas generales, y jerarquías de conceptos con el fin de ofrecer una “respuesta inteligente” para las consultas. “Respuesta Inteligente ” a una consulta se refiere a proporcionar al usuario respuestas intencionales, además de los datos (hechos). Estas respuestas incluyen alguna generalizada, por vecindad, o información asociada que caracteriza a los resultados de los datos. En la actualidad, se trabaja en la investigación en la integración de la Web Semántica y los datos se centran en el uso de ontologías como soporte semántico para el procesamiento de datos. Las ontologías han demostrado ser útiles para capturar el contenido semántico de las fuentes de datos y para unificar las relaciones semánticas entre las estructuras heterogéneas. De este modo, los usuarios no deben preocuparse por dónde y cómo se organizan los datos en las fuentes. Por esta razón, los sistemas como OBSERVER  y TAMBIS permiten a los usuarios a formular sus consultas a través de una ontología sin acceso directo a las fuentes de datos.

Los datos de una ontología pueden ser explotados de forma efectiva para reformular una consulta de usuario de tal manera que la nueva consulta puede proporcionar resultados más “significativo” de la reunión la intención del usuario. Una consulta puede ser definida por un conjunto de selecciones y proyecciones sobre los objetos de base de datos que satisfagan una serie de condiciones. Estas condiciones son definidas por un conjunto de términos y determinan la respuesta a la consulta. Si un usuario desea recuperar información de una base de datos sobre determinados objetos, se pueden usar términos que no coinciden exactamente con los valores de base de datos (debido a la falta de correspondencia entre la visión del mundo del usuario y la del diseñador de la base de datos). Sin embargo, puede haber valores en la base de datos que son sintácticamente diferentes de los términos de usuario, pero tienen el mismo significado y expresan la misma intención del usuario. Este tema se aborda como un problema semántico en lugar de como un problema de coincidencia de patrones. Como consecuencia de ello, si se considera la semántica en el procesamiento de consultas, el número de resultados para la consulta transformado puede aumentar o disminuir. En ambos casos, el usuario recibe una respuesta que cumple con sus expectativas en comparación con el resultado sin necesidad de utilizar más conocimiento. Comparado con los métodos de optimización de consultas el objetivo no es acelerar el procesamiento de consultas, sino proporcionar respuestas más significativas a los usuarios. Con este fin, se desarrolla un conjunto de reglas de reformulación.

Articulos relacionados

Procesamiento del lenguaje natural y Descubrimiento de conocimiento (KDD)

Procesamiento del lenguaje natural y Descubrimiento de conocimiento (KDD)

Sep 28, 2011   //   by jc.cantera   //   Minería de Datos  //  3 Comments

 

La realización de consultas complejas sobre un conjunto de datos, y el acceso a los métodos de clasificación, predicción y decisión son tareas complejas que se han venido realizando de forma manual.

Actualmente existe una novedosa funcionalidad que consiste en preguntar, a partir de técnicas de lenguaje natural y procesos de Data Mining, directamente a través de reglas de negocio embebidas en el sistema. El Procesamiento de Lenguaje Natural (PLN), en inglés NLP (Natural Language Processing) es una disciplina de la inteligencia artificial y la rama de ingeniería de la lingüística computacional.
El lenguaje natural es el lenguaje hablado o escrito por humanos para propósitos generales de comunicación. Hay que distinguirlo de otros  lenguajes como los de programación o los usados en el estudio de la lógica formal, especialmente la lógica matemática.
El NLP se ocupa de la formulación y búsqueda de mecanismos para el procesamiento automático de la comunicación entre personas o entre personas y máquinas, que usan lenguajes naturales. Para la interpretación del lenguaje natural es fundamental la integración de diccionarios, ontologías y gramáticas de un dominio concreto, previamente creadas, que puedan comprender la mayor parte del vocabulario que se usará para realizar consultas.
El NLP no trata de la comunicación por medio de lenguajes naturales de una manera abstracta, sino que intenta diseñar mecanismos para comunicarse que sean eficaces computacionalmente. Los modelos aplicados se enfocan no sólo a la comprensión del lenguaje, sino a aspectos generales cognitivos humanos y a la organización de la memoria.

El lenguaje natural es inherentemente ambiguo a diferentes niveles. Por ejemplo, a nivel léxico, una misma palabra puede tener varios significados, y la selección del apropiado se ha de deducir a partir del contexto oracional. Muchas investigaciones en el campo del NLP han estudiado métodos de resolver dichas ambigüedades mediante diccionarios, gramáticas, bases de conocimiento y correlaciones estadísticas. La consulta de un usuario normalmente consiste en un conjunto de palabras clave relevantes y/o expresiones regulares que es analizada, y que se identifica con el conjunto de datos indexados como elemento de un fragmento de un texto.

Existe una metodología, “Question Answering” (QA), en la que una tarea automática, a partir de una pregunta expresada en lenguaje natural,  obtiene una respuesta correcta procedente de colecciones de documentos o de la Web indexados.

Existe mucha literatura al respecto de la utilización de algoritmos de Minería de Datos para su aplicación en la comprensión del Lenguaje Natural (redes bayesianas, modelos ocultos de Marcov, Laplace, series de Fourier aplicadas, redes neuronales, reglas… ) pero, sin embargo, pocos estudios han profundizado en la posibilidad de lanzar métodos de extracción de conocimiento a partir de premisas pedidas en base a sistemas “pregunta-respuesta” (QA), sin necesidad de programación, modelado de algoritmos estadísticos, o navegación por los datos, como es habitual en la gestión de las actuales plataformas de DataMining. Esta funcionalidad, denominada por algunos como Knowledge discovery query language (KDQL), permitirá dotar de una potencialidad aún mayor a un sistema que, ya de por sí, contiene un gran sustrato de conocimiento, que no de información.

KDQL en el proceso KDD (Knowledge Data Discovery)

El fondo de KDQL proviene de SQL (Structure Query Language) sobre el que se han propuesto varias extensiones al SQL para que sirva al lenguaje de consulta de minería de datos (DMQL – data mining query language).

El objetivo de descubrimiento de conocimiento (KDD) es obtener un conocimiento útil a partir de grandes colecciones de datos. Este proceso es inherentemente interactivo e iterativo: no se puede esperar para obtener conocimiento útil con la simple introducción de muchos datos a una caja negra. El usuario de un sistema KDD tiene que tener un conocimiento sólido del dominio con el fin de seleccionar correctamente el subconjuntos de datos, las clases adecuadas de patrones, y buenos criterios sobre el interés de los patrones. Así, los sistemas de KDD deben ser visto como herramientas interactivas, como no sistemas de análisis automático. El descubrimiento de conocimiento a partir de bases de datos KDQL por lo tanto, debe ser visto como un proceso que contiene varias pasos:

1. La comprensión del dominio,
2. Preparación del conjunto de datos,
3. Descubrir patrones (DM),
4. Post-procesamiento de los patrones descubiertos, y
5. Poner los resultados en su uso.

El proceso de KDD es necesariamente iterativo: los resultados de un paso DM pueden mostrar que se deben hacer algunos ajustes en la formación de etapas dentro del conjunto de datos, o el post-procesamiento de los patrones puede provocar que el usuario busque algunos tipos ligeramente modificados de los mismos, etc. En el proceso KDD es importante un apoyo eficaz en la iteración.  En este sentido, existen aplicaciones que incluyen prominentes ejemplos de KDD sobre datos de salud, aplicaciones financieras, y datos científicos. En la industria, el éxito de la KDD se debe en parte al aumento de los volúmenes de datos almacenados y análisis on-line (on-line analytical processing – OLAP). Estas estrategias del almacenamiento y tratamiento de la los datos acumulados en una organización se han hecho populares en los últimos años. KDD y DM pueden ser vistos como formas de la realización de algunas de las metas del almacenamiento de los datos y OLAP.

Minería de datos sobre ontologías

Las aplicaciones del mundo real están cargadas de gran cantidad de datos e incluyen entidades que evolucionan con el tiempo. Sin embargo, este entorno rico en datos no significa necesariamente que sea rico en información. Debido a la naturaleza dinámica del entorno, los datos deben ser interpretados de manera diferente dependiendo de la situación (el contexto). Por ejemplo, el significado de fiebre alta de un paciente de catarro podría ser diferente de la fiebre de un paciente de neumonía.

El contexto es un concepto potente y de gran influencia. Puede ser útil en la interacción persona-máquina, principalmente a través de contextos explícitos de la comunicación (por ejemplo, entrada de la consulta del usuario). otros factores implícitos de contexto (por ejemplo, físico, condiciones ambientales, lugar, hora, etc.) suelen ser ignorados por el equipo debido a la ausencia de una base de conocimiento o de un modelo adecuado.

La minería de datos sensible al contexto tiene que ver con la forma en que los atributos deben ser interpretados con criterios específicos de cada solicitud. Los actuales enfoques de la minería no proporcionan el apoyo adecuado para  minería de datos sensible al contexto. La razón principal de esto es la falta de contexto rico que especifica cuándo y cómo una minería de datos se debe aplicar a su contexto.

Para interpretar y mejorar la entrada explícita del usuario podrían utilizarse factores implícitos al contexto, lo que afecta los resultados de minería de datos para ofrecer una predicción de resultados exacta y precisa. Diferentes comportamientos y funcionalidades de minería de datos son muy útiles y necesarios en la generación de información dinámica, incierta, y en entornos distribuidos. Se debe a que tales conductas y capacidades pueden ayudar a aumentar los grados de eficacia y flexibilidad del proceso de minería de datos.

Minería de datos sensible al contexto, Ontología

Las ontologías proporcionan un medio para representar la información o el conocimiento procesable por una máquina. Este conocimiento se puede comunicar entre diferentes agentes. El marco representa los factores de contexto en ontologías. Contexto es un término muy subjetivo y depende del dominio en cuestión. Por lo tanto, podemos diferenciar dos partes en la minería sensible al contexto: la representación real del factor de contexto para un dominio en la ontología correspondiente y un marco genérico en el que se puede consultar esta ontología e invocar a los procesos de  minería y coordinarlos de acuerdo con el diseño de la ontología. La representación del conocimiento en la ontología puede ser un bloque de construcción para la minería de datos basados en contexto.