El grupo de investigación en Procesamiento del Lenguaje y Sistemas de Información nace en el año 1993 como iniciativa de un grupo de profesores pertenecientes al Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Alicante. Sus líneas de investigación se encuentran enmarcadas en los siguientes temas:
Procesamiento del lenguaje natural
Data Warehousing y Tecnología OLAP (más información)
Metodologías de desarrollo de software OO, Diseño conceptual y Tecnologías Internet/Intranet

Procesamiento del lenguaje natural

El Procesamiento del Lenguaje Natural (PLN) es una parte esencial de la Inteligencia Artificial que investiga y formula mecanismos computacionalmente efectivos que faciliten la interrelación hombre-maquina y permitan una comunicación mucho más fluida y menos rígida que los lenguajes formales y sistemas de menús utilizados tradicionalmente.
Todo sistema de Procesamiento del Lenguaje Natural intenta simular un comportamiento lingüístico humano; para ello debe tomar conciencia tanto de las estructuras propias del lenguaje, como de un conocimiento general acerca del universo de discurso. De esta forma, una persona que participe en un dialogo sabe como pueden combinar las palabras para formar una oración, conoce los significados de las mismas, sabe cómo éstas afectan el significado global de la oración y poseen un conocimiento del mundo en general que permite participar de la conversación.
Así el problema principal del Lenguaje Natural se puede resumir en una palabra: Ambigüedad.
El PLN tiene una serie de fases o niveles de análisis:
  • Análisis morfológico-lexico: Transforma la secuencia de caracteres de entrada en una secuencia de unidades significativas haciendo uso del diccionario y reglas morfológicas.
  • Análisis sintáctico: Analiza la secuencia de unidades léxicas y produce una representación de su estructura (árbol, red, ...).
  • Análisis semántico: A partir de la estructura generada por el proceso sintáctico genera otra estructura o forma lógica asociada que representa el significado o sentido de la sentencia.
  • Análisis contextual o función pragmática: Utiliza la forma lógica o estructura semántica de la fase anterior para desarrollar la interpretación final de la oración, en función de las circunstancias de contexto.
Para todo ello, es necesario el estudio de los formalismos lógicos que permitan dichos análisis. Por ello estudiamos las siguientes gramáticas: Gramáticas de contexto libre, Gramáticas de Cláusulas Definidas (DCG), Gramáticas Lógico Modulares (MLG), Gramáticas Funcionales (FG), Gramáticas de Metamorfosis, Gramáticas de Atributos, Gramáticas de Huecos (SG), Gramáticas Discontinuas (Estáticas y Restringidas).
En estos momentos disponemos de un prototipo, sistema de consultas a una base de datos geográfica en Lenguaje Natural (SISCO), desarrollado según la Gramática Lógico Modular, que trata las oraciones simples a nivel gramatical y las oraciones coordinadas a nivel metagramatical.
En estos momentos, ante la dificultad de tratar las oraciones coordinadas a nivel gramatical con las MLG´s, estamos desarrollando y experimentando con dos sistemas que siguen los formalismos de las Gramáticas de Huecos y de las Gramáticas Discontinuas Estáticas y Restringidas, para el tratamiento de problemas relacionados con la elipsis de elementos de la oración y de problemas de Anáfora o referente pronominal. A su vez estamos analizando y desarrollando un corpus textual de 5000 frases para el tratamiento de estos fenómenos lingüísticos.
Los sistemas los estamos desarrollando e implantando en el lenguaje PROLOG.

Data Warehousing y Tecnología OLAP

Las empresas compiten actualmente en entornos cada vez más hostiles en los cuales es fundamental el disponer de información valiosa con la que se puedan adoptar estrategias empresariales y decisiones que lleven a situar el negocio por delante de los competidores. Para ello se utilizan lo que últimamente se ha denominado técnicas OLAP (Online Analitical Processing) que desarrollan un análisis multidimensional (también denominado análisis del hipercubo) de los datos, que consiste en organizar la información según los parámetros que la alta dirección considere oportunos para darles un sentido y llevar a cabo el análisis de los mismos. Los datos que maneja esta técnica son importados tanto de fuentes externas como de las bases de datos productivas de la empresa. Estas bases de datos productivas son alimentadas por los llamados sistemas OLTP (Online Transactional Processing), entendiendo como tales el concepto tradicional que manejamos de bases de datos relacionales con las que las distintas unidades empresariales van trabajando diariamente.
Para tomar tales decisiones es necesario el disponer de un gran volumen de información organizado y con unas características determinadas como soporte a tales técnicas OLAP. Por ello en estos dos últimos años hay un consenso en que los almacenes de datos (data warehouses) son la estructura ideal para ello. Podemos mencionar la definición sobre data warehouses realizada por W.H. Inmon, uno de los pioneros en el tema, " Un data warehouse es un conjunto de datos orientados por tema, integrados, variables en el tiempo y no volátiles que se emplea como apoyo a la toma de decisiones administrativas". Como podemos deducir a grandes rasgos de la definición, su diferencia fundamental con las bases de datos manejadas por los OLPT es que aquí los datos no son volátiles, con lo que estamos hablando no solo de bases de datos de dimensiones mucho mayores que las tradicionales, sino de un conjunto ordenados de datos, cuya finalidad difiere totalmente de las bases de datos utilizadas por los OLPT.
Los data warehouses (DW) han tenido un gran auge en estos dos últimos años tanto a nivel industrial como académico. En un estudio realizado recientemente en Estados Unidos, de 2.000 millones de dólares que las empresas se plantearon invertir para desarrollar proyectos de data warehouses en 1995 (y están actualmente llevándolos a cabo), hemos pasado a 8.000 millones en 1998, lo que da una idea del imparable auge de esta nueva técnica.
En cuanto a la investigación, esta relativamente novedosa técnica (aprox. 1992) ha abierto una gran variedad de tópicos de investigación, desde el modelado y diseño de las bases de datos en sí (data warehouses) hasta el definir una total arquitectura para esta nueva tecnología de bases de datos. Mencionaremos brevemente algunos de las líneas de investigación futuras.
En cuanto a los distintos modelos de la etapa de diseño de los DW (modelo conceptual, lógico y físico), tenemos que actualmente hay modelos propuestos (por ejemplo el de estrella) para el desarrollo del modelo conceptual. El mencionado realiza un análisis multidimensional de los datos estudiando las necesidades del usuario, pero dicho modelo no tiene continuidad en el nivel lógico, con lo que es necesario el mapeo entre dichos modelos, lo que origina una pérdida de especificabilidad además del no disponer de un algoritmo que realice automáticamente dicho mapeo. Otra línea sería el definir un modelo lógico multifuncional sobre el que desarrollar todo el conjunto de operaciones sobre los datos (lo que llevaría entre otras cosas a definir un lenguaje de especificación formal).
Nos encontramos también con problemas al definir la arquitectura del conjunto de los DW. Las operaciones a realizar con los datos difieren tanto en volumen de datos como en significado de las que se realizan en las bases de datos relacionales tradicionales. De ahí, que sea necesario ampliar por un lado el conjunto de sentencias de SQl estándar para adaptarlo a estas nuevas necesidades. Por otro, hay un enorme campo abierto para desarrollar algoritmos que supongan una mejora en la recuperación, limpieza, filtrado, etc. de grandes volúmenes de datos que los implementados actualmente para las bases de datos tradicionales, puesto que partimos con un nuevo concepto de arquitectura de base de datos.
Por otro lado, no debemos olvidar dentro de esta línea de investigación, los data mining (minería de datos), cuyo objetivo es el aplicar algoritmos de clasificación de los datos para realizar predicciones futuras. En esta línea, se ha conseguido un gran avance aplicando técnicas de redes neuronales para la predicción de nuevos valores. Esto ha abierto otra importante línea de investigación en la aplicabilidad de estos y otras técnicas de inteligencia artificial para la predicción de valores.

Metodologías de desarrollo de software OO, Diseño conceptual y Tecnologías Internet/Intranet

El boom de los entornos conocidos vulgarmente como Web Computing ha iniciado el desarrollo de aplicaciones comerciales en Internet y la creación de redes corporativas (Intranets/Extranets) a lo largo del mundo. El uso Java como lenguaje de desarrollo de estas aplicaciones ha abierto una nueva era en la construcción de software. En este contexto, donde las nuevas tecnologías están continuamente emergiendo, las compañías de desarrollo de software deben de disponer de métodos, lenguajes, técnicas, y herramientas para desarrollar según estos nuevos requerimientos del mercado. Mas que nunca, metodologías bien definidas y herramientas de alto nivel que las soporten son esenciales para el desarrollo de software de calidad de tal forma que éste sea lo más independiente posible de los cambios tecnológicos. La idea de claramente separar el nivel de modelado conceptual centrado en lo que es el sistema, y el modelo de ejecución que proporciona un patrón en términos de implementación que especifica cómo debe ser implementado el sistema, proporciona una base sólida para obtener soluciones operacionales del problema.
Actualmente, las metodologías OO tales como OMT , OOSE , Booch se utilizan ampliamente en entornos de producción industrial de software. La industria intenta proporcionar un marco unificado de todas ellas a través de la notación UML cuyo propósito consiste en estandarizar el conjunto de notaciones usadas por los métodos mas conocidos. Aunque este intento es aconsejable, dicha aproximación tiene el peligro implícito de proporcionar al usuario un conjunto excesivo de modelos que se solapan semánticamente sin una aproximación metodológica. Como resultado de estos esfuerzos, han surgido herramientas CASE tales como Rational ROSE/Java o Paradigm Plus que incluyen generación de código Java a partir de los modelos de análisis. Sin embargo si examinamos mas a fondo el proceso de generación de código, encontraremos que no está claro como producir un producto software final (ya sea en Java o cualquier otro lenguaje), que sea funcionalmente equivalente a la descripción capturada en el modelo conceptual. Esta carencia es común a todas las aproximaciones anteriores. Realmente lo que se obtiene después de completar el modelado conceptual no son mas que un conjunto de plantillas para la declaración de las clases donde no se implementa ningún método y donde no se contemplan los aspectos asociados a la arquitectura del software.
Para proporcionar una solución operativa al problema relatado anteriormente, nuestra investigación se centra en depurar la metodología OO-Method, que está basada en el modelo formal orientado a objetos OASIS. Tanto la metodología como el lenguaje han sido desarrollados por el grupo de investigación de programación lógica e ingeniería del software del departamento de sistemas informáticos y computación de la Universidad Politécnica de Valencia. La característica principal de esta metodología consiste en que los esfuerzos de los desarrolladores están centrados en los pasos del modelado conceptual, donde los analistas capturan los requerimientos del sistema. Posteriormente, podemos obtener una implementación completa de forma automática siguiendo un modelo de ejecución preciso (que incluye estructura y comportamiento). Mas concretamente, nuestro trabajo consiste en abordar la problemática asociada a la generación de código a partir de los modelos de análisis sobre entornos Internet/Intranet estudiando los siguientes tópicos:

  • Arquitecturas para implementar el modelo de ejecución de OO-Method en java.
  • Traducción del modelo conceptual de OO-Method al modelo de objetos de java.
  • Distribución de las clases de análisis en entornos WWW.

Una herramienta CASE da soporte a esta metodología. La CASE OO-Method constituye una aproximación operacional a las ideas del paradigma de programación automática: una colección de las propiedades del sistema de información, la generación automática de una especificación formal OO del sistema y un prototipo completo de software (incluyendo estática y dinámica) que es funcionalmente equivalente a la especificación del sistema. En este sentido, nuestra labor aquí consiste en incorporar los mecanismos necesarios para que la propia herramienta aborde de manera natural la generación automática de prototipos avanzados de software sobre entornos Internet/Intranet.


actualizada en Enero de 1998