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.

3 Comments