X-tract: Un enfoque heurístico para extracción de la estructura de descripciones botánicas
                                Rocío Abascal y J.Alfredo Sánchez
                Laboratorio de Tecnologías Interactivas y Cooperativas
                              Universidad de las Américas - Puebla,
                                     Cholula, Pue. 72820 México
                               {abascal, alfredo}@mail.udlap.mx
SINOPSIS
     Este artículo presenta a X-tract, una solución al problema del análisis y extracción de estructura en un dominio específico de aplicación. La solución demuestra el potencial del uso de una gramática para la determinación de la estructura de la información en una biblioteca digital botánica. Se ha desarrollado un prototipo basado en esta propuesta en el que, dado un archivo en HTML o en formato libre, X-tract lo analiza y se lo presenta al usuario para que pueda verificar la estructura propuesta antes de actualizar la base de datos. Esta transformación es también útil en el proceso de almacenamiento de las descripciones morfológicas en la base de datos dado un formato preestablecido. La solución se encuentra implementada en el contexto de la Biblioteca Digital Florística (FDL), un proyecto de biblioteca digital que contiene una amplia variedad de documentos botánicos, formatos y servicios.

Palabras clave: extracción de información, X-tract, bibliotecas digitales botánicas, FDL, sub-lenguajes, bases de datos.
 

I. INTRODUCCIÓN
    En este artículo se presenta a X-tract una alternativa de solución al proceso de extracción de información a partir de descripciones textuales de especies botánicas en el contexto de una biblioteca digital.

1.1 El problema de extraer información
    Las colecciones de una biblioteca representan el esfuerzo de miles de autores que trabajan (juntos o separados) por muchos años utilizando una amplia gama de herramientas para capturar sus pensamientos [Furuta 1994]. La proliferación de textos en WWW ha motivado el desarrollo de muchos proyectos de extracción de información. No obstante que hay mucha información accesible a bajo costo en texto de formato libre, con frecuencia los usuarios no pueden encontrar fácilmente ni asimilar tanta información al mismo tiempo. Para ayudar a resolver estos problemas se requiere que la información se almacene en un formato estructurado.
    Los sistemas de extracción de información (IE) analizan textos sin restricciones para extraer la información específica que necesita el usuario [Lehnert 1996]. Los sistemas IE no tienen como objetivo entender toda la información de un texto dado pero sí analizar aquellas porciones del documento que contienen información relevante. La relevancia este determinada por guías predefinidas donde se específica qué tipo de información se espera que el sistema identifique. El problema de extracción de información de un texto dado no sólo se resuelve con el desarrollo de nuevos esquemas de clasificación o el uso de nuevas formas de organización de colecciones de información utilizando nuevos y mejores esquemas de base de datos, además de esto es necesario que se utilizen filtros dentro del sistema par recuperar la información relevante. Los filtros sirven para tomar la información o conocimiento relevante para analizar a partir de colecciones de información masivas y almacenar dicha información en forma digital. En el presente trabajo se demuestra la importancia de la utilización de un filtro para analizar sólo la información correspondiente a una descripción morfológica.

1.2 FDL
    Las bibliotecas digitales extienden los servicios que actualmente proporcionan las bibliotecas convencionales haciendo uso de las ventajas que ofrece el medio digital [Lesk 1997]. Una de las bibliotecas digitales que actualmente se está construyendo es la Biblioteca Digital Florística (FDL), un espacio virtual distribuido que comprende información botánica y una variedad de servicios ofrecidos a los usuarios para facilitar el uso y la extensión del conocimiento acerca de las plantas [Schnase et al 1997]. En la Biblioteca Digital Florística participan varios proyectos internacionales de investigación y desarrollo financiados por la Fundación Nacional para la Ciencia (NSF) como la Flora de Norte América (FNA), la Flora de China (FOC) y la Flora de Mesoamérica (FM). FNA es un proyecto que tiene como objetivo tener documentos, mapas e ilustraciones que constituyen la base de datos de la Flora de Norte América, la cual se refiere a aproximadamente 20,000 especies de plantas de Norteamérica al norte de México [Schnase et al. 1997]. Se cuenta con la colaboración de 800 investigadores contribuyendo a este proyecto.
    Uno de los mayores problemas enfrentados por proyectos como FNA y FOC se relaciona con el hecho de que la información que se ha empezado a manejar de forma masiva no tiene una estructura definida estrictamente. Esto es, no se definió de antemano un esquema de bases de datos para almacenar la información. Sin embargo, las descripciones botánicas se apegan a reglas que son aceptadas ampliamente y que se basan en un vocabulario relativamente limitado. El formato y vocabulario utilizados pueden considerarse como un sublenguaje [Kittredge 1987], útil para su análisis semántico  Es deseable que la información que ya se encuentra en documentos no estructurados se incorpore a la base de datos de FDL. Esto conllevaría múltiples beneficios, entre los que cabe mencionar:
    - el que la información puede ser accesada en línea en un formato uniforme;
    - facilidad en búsquedas más precisas al utilizar mecanismos de consulta disponibles para una base de datos;
    - la información puede extraerse de varios formatos para su distribución en papel o de manera electrónica (como en HTML);
    - la validación y corrección de la información puede hacerse de manera más eficiente por los editores al utilizar una forma electrónica con campos donde el usuario puede corregir antes de actualizar la base de datos;
    - y es posible aplicar técnicas de traducción para interfaces multilingües a FDL.
 

2. X-TRACT: UN MÉTODO HEURÍSTICO PARA LA EXTRACCIÓN DE ESTRUCTURA

    En este artículo se presenta una alternativa de solución al proceso de extracción de información a partir de descripciones textuales de especies botánicas en el contexto de la Biblioteca Digital Florística. Se plantea un sistema llamado X-tract, el cual extrae información y la almacena en una base de datos a partir de una descripción dada en HTML o en formato libre. Este sistema fue probado utilizando las descripciones que se encuentran en HTML en el catálogo en línea de FNA. Para la Biblioteca Digital Florística (FDL), los investigadores escriben descripciones llamadas "descripciones morfológicas" de las especies botánicas. Dichas descripciones se encuentran dentro de un "tratamiento taxonómico", el cual entre otras cosas contiene discusiones sobre su uso, toxicidad, referencias bibliográficas y los nombres de investigadores que han contribuido a su descripción. En la Figura 1 se muestra un ejemplo de un tratamiento taxonómico, la cual contiene una descripción morfológica en el recuadro, tal como aparece en el Volumen 2 de FNA [Morin et al 1993]. Los taxonomistas consideran como la esencia de una descripción taxonómica a una lista de propiedades que posee una taxón [Taylor 1994]. Las descripciones morfológicas contienen términos llamados características tales como arquitectura, color, orientación o maduración; o bien puede tratarse de estructuras. Una estructura se refiere a una parte de la planta descrita y es esta precisamente la que se describe mediante características como las antes mencionadas, además de que contiene uno o más valores. Finalmente, los valores pueden ser adjetivos calificativos, tales como "verde", "flexible", "plano", "delgado", entre otros; o bien puede ser valores numéricos.
 

Figura 1. Ejemplo de un tratamiento taxonómico
2.1 Heurísticas de extracción

    El funcionamiento de X-tract está basado en un enfoque heurístico. Para ilustrar la heurística, describiremos primero cómo puede analizarse manualmente la descripción morfológica contenida en la Figura 1. Por ejemplo, Plants es una estructura que tiene la característica location y el valor terrestrial. En este caso el lector entiende implícitamente la característica location. El proceso manual comienza con la separación de la descripción morfológica en oraciones. Cada oración se analiza a partir de su primera palabra. Generalmente, toda oración comienza con una estructura. Después se busca cada palabra en un glosario para obtener el nombre de la característica correspondiente o para determinar si se trata de un valor. El analizador construye una tabla con las estructuras, características y valores para poder organizar y clasificar la información. El problema comienza cuando hay subestructuras, las cuales son estructuras que están dentro de una estructura. Existen dos tipos de subestructuras:

                            1. Subestructuras que aparecen en la misma oración.
                            2. Subestructuras que aparecen en distintas oraciones.

    Pueden existir subestructuras que a su vez tengan subestructuras y estas a su vez tengan otras subestructuras, lo cual dificulta el análisis. Uno de los principales problemas en la determinación de la estructura ocurre cuando existen valores sin que se haya nombrado a su característica. Por ejemplo, cuando se tiene "Leaves 2.5--6cm, 3mm, 2-ranked to spiraled, ..." podemos inferir que el tamaño de las hojas es 2.5 a 6 centímetros, sin embargo no sabemos a qué pertenece el siguiente valor de 3 mm , aunque podemos inferir que se refiere tal vez al ancho de las hojas. Por lo tanto, el usuario debe de conocer o inferir cuando se está hablando por ejemplo de altura, de ancho o de largo. Posteriormente a la separación de la descripción morfológica en oraciones y a la búsqueda de cada palabra en el glosario, el proceso manual continúa con la construcción de una gran tabla que tiene una columna llamada structure, otra substructure, otra characteristic y otra value. Cada palabra es localizada en esta tabla y luego se busca la relación que existe de una palabra a otra. Por ejemplo, si tenemos: "Plants terrestrial.", entonces Plants es el "padre" de terrestrial y terrestrial tiene la característica habit. La tabla para este ejemplo quedaría de la siguiente forma:
 
 

    En general, la tabla puede incluir varias columnas para subestructuras. El proceso manual termina con la construcción de esta tabla. Para X-tract el proceso termina con la actualización de la base de datos. En este caso consideramos la relación que existe entre las palabras para asignar un número y organizarlo como un árbol jerárquico y guardarlo en la base de datos de FDL.

2.2 Gramática para las descripciones morfológicas

    La gramática utilizada por X-tract está basada en una investigación sobre las descripciones morfológicas con las que actualmente cuenta la página en línea de FNA. En general, estas descripciones tienen la forma como la de la Figura 2. En esta figura, cada parte de la descripción se analiza para comprender la gramática aplicada.


                                Figura 2. Ejemplo de un tratamiento taxonómico en HTML
    En este tratamiento taxonómico hemos utilizado la etiqueta html para referirnos a toda la información irrelevante para fines de determinación de la estructura. En este ejemplo, hemos subrayado el título del tratamiento y la descripción morfológica que posteriormente analizaremos. De esta forma, el tratamiento taxonómico esta formado por la etiqueta html, seguido del título del tratamiento, la etiqueta html otra vez y la primera descripción morfológica. Un tratamiento taxonómico puede contener más de una descripción, de tal forma que la siguiente descripción estaría después de la última etiqueta html encontrada después de la descripción morfológica anterior y así sucesivamente. Conociendo que lo primero que se debe buscar en un texto es el nombre del tratamiento, entonces cuando por primera vez encontramos la etiqueta "<B>" sabemos que se refiere al título y lo guardamos para imprimirlo posteriormente. La siguiente etiqueta "<B>" que se encuentra corresponde a la descripción morfológica. La gramática completa se encuentra en la Figura 3. El análisis comienza con "Enunciado", que puede contener código HTML con cualquier signo de puntuación. Continuamos con el siguiente bloque en caso de encontrar una estructura en el área de "Enunciado". "Enunciado1" está formado como "Enunciado" pero con la diferencia de que en caso de encontrar una estructura corresponderá a la descripción morfológica y empezaremos a guardar todo lo que encontremos a continuación para analizarlo posteriormente.
 
Figura 3. Gramática completa


2.3 Diseño de X-tract

    Jerry Hobbs [Hobbs 1994] define un sistema de extracción de información como una cascada de traductores o módulos que en cada paso añaden una estructura y pierden información irrelevante a través de la aplicación de ciertas reglas. Un sistema de extracción de información también es la respuesta a un conjunto de preguntas como: cuáles son los traductores?, cuál es la entrada y la salida del sistema?, qué información extraer, cuál es la información relevante?. Un sistema de extracción de información está formado por un conjunto de módulos, la mayoría de los sistemas realizan funciones de estos módulos en alguna parte. Los módulos que generalmente forman un sistema son:

    1. Separador de texto. Este módulo divide el texto en un conjunto de segmentos de texto.
    2. Preprocesador. Este módulo divide el conjunto de segmentos de texto en una secuencia de oraciones.
    3. Filtro. Este módulo analiza el conjunto de oraciones para eliminar aquellas que son irrelevantes.
    4. Scanner o pre-analizador sintáctico. Este módulo analiza una parte del conjunto de oraciones resultantes para identificar pequeñas estructuras como cadenas de caracteres o dígitos.
    5. Analizador sintáctico. La entrada a este módulo son las estructuras localizadas y su salida es un conjunto de fragmentos de árboles, posiblemente completos.
    6. Agrupador de fragmentos. Este módulo agrupa los diferentes fragmentos de árboles para obtener como salida un conjunto de frases en su mayoría totalmente analizadas.
    7. Intérprete semántico. Este módulo genera una estructura semántica, es decir analiza el orden en el que debe de estar cada frase para obtener una estructura semántica.
    8. Resolución de referencias o procesamiento de texto. Este módulo identifica las diferentes descripciones que se localizan dentro de un texto.

    En la Figura 4 se muestra la relación que mantiene cada componente con los demás dentro de un sistema de extracción de estructura.

Figura 4. Componentes de un sistema de extracción de estructura


3. PROTOTIPO Y EVALUACION DE X-TRACT

    X-tract es un prototipo que utiliza un método heurístico para extraer los atributos e inferir la estructura de descripciones morfológicas expresadas en formato libre o en HTML. Como se ha mencionado anteriormente, este prototipo tiene como principal objetivo facilitar el proceso manual de análisis que se lleva a cabo para guardar una descripción morfológica en una base de datos. Como herramientas de software se desarrolló el prototipo en dos versiones, una utilizando el manejador de base de datos Illustra (de tipo objeto-relacional) y otra utilizando el manejador de base de datos Informix Universal Server (IUS) para almacenar las descripciones morfológicas. Se usaron lex y yacc para llevar a cabo el análisis léxico y sintáctico de un tratamiento taxonómico dado, y se utilizó C como lenguaje de programación. El ambiente de acceso es un navegador de Web, por la facilidad que este ofrece de independencia de plataforma. La implementación del prototipo está basada principalmente en programas que utilizan CGI (Common Gateway Interface). Con ellos se maneja la interacción tanto con Illustra e IUS como con el usuario a través de formas en HTML.

3.1 Operación de X-tract

    X-tract ofrece dos opciones para el análisis de descripciones morfológicas. La pantalla principal como se observa en la Figura 5, muestra una de las opciones con las que cuenta el usuario. Esta opción es la introducción del nombre del archivo a ser analizado. La segunda opción consiste en introducir en el área de texto algunas palabras o frases para ser analizadas posteriormente.
 

Figura 5. Pantalla principal de X-tract
    El proceso que sigue X-tract al recibir el nombre de un archivo es el siguiente:

    - Se aplica la gramática para localizar en qué parte del texto se encuentra la descripción morfológica. En caso de encontrar la descripción, se guarda cada palabra, signos de puntuación y dígitos para analizarlos posteriormente.
    - Cada cadena de caracteres se guarda de acuerdo a su tipo. Es decir, el analizador sintáctico reconoce cuando una palabra se refiere a una estructura, un dígito o simplemente es cualquier otra palabra.
    - Todo lo que ha sido guardado como una cadena de caracteres o una estructura se busca dentro de un glosario. Esto se lleva a cabo para saber si la estructura o la cadena son subestructuras o valores.
    - En caso de que la cadena resulte un valor entonces se busca el nombre de la característica a la que corresponde. Por ejemplo, si el valor es "verde" entonces su característica localizada será "color".

    Una vez que se han realizado los pasos anteriores, se crea una forma por cada palabra y se organiza de acuerdo a estructura, subestructura, característica o valor como se muestra en la Figura 6. El usuario en este momento, si lo desea, puede actualizar la base de datos. La información se presenta en campos que el usuario puede modificar, de manera que el usuario experto puede mejorar las inferencias de X-tract antes de actualizar la base de datos.

Figura 6. Tabla generada por X-tract


    Para actualizar la base de datos se utiliza el esquema de FDL. Dentro de este esquema, se guarda la organización de la descripción morfológica de acuerdo a que palabras son estructuras, subestructuras o características y su relación entre ellas y los valores.
 
 

3.2 Beneficios de X-tract

    Uno de los problemas principales en la construcción de la biblioteca digital de FNA es la captura de la información contenida en los tratamientos. X-tract permite la facilitación de la captura de la información así como:
    - la introducción de nuevos tratamientos para analizar la descripción morfológica contenida,
    - la verificación de errores por parte de los autores o de un usuario experto antes de actualizar la base de datos,
    - el análisis de textos en HTML o en formato libre, lo que ayuda al usuario a analizar una descripción completa o sólo parte de ella,
    - el uso de X-tract desde cualquier parte del mundo gracias a su acceso vía WWW.
 

4. TRABAJO RELACIONADO

    Para hacer un uso eficiente de la información contenida en un texto, es útil que la información se almacene en alguna clase de formato estructurado; por ejemplo, una base de datos relacional. Generalmente, el proceso de extraer la información requerida de un documento hacia una base de datos o un índice es usualmente un proceso manual muy costoso. De esta manera, los textos que se encuentran en el web crean la necesidad de tener métodos de procesamiento automático para extraer la información debido a su enorme volumen. Existen algunos métodos que pueden analizar volúmenes significativos de texto a una velocidad considerable usando un tipo de examinador de texto ("text skimming"), generalmente utilizando una gramática que contiene todas las posibilidades en las que un texto puede estar organizado [Jacobs 1995]. Estos métodos se basan, por lo general, en la identificación de palabras claves y en el dominio de cómo pueden organizarse las palabras dentro de una oración para identificar contenido importante del texto. Actualmente, dentro del área de procesamiento del lenguaje natural varios trabajos se encuentran enfocados al área de Extracción de Información. Entre otros proyectos relevantes en esta área, la cual es de gran relevancia para este proyecto se encuentran los siguientes:

    -Hector: su propósito es el de compilar las entradas de un diccionario utilizando evidencias de una colección de textos representativa de un lenguaje o dialecto [Kavanagh 1995].
    - Translator's Workbench: tiene como objetivo ser un intérprete, ayuda a identificar, describir y estandarizar el significado de los términos hallados. Busca términos y nombres de conceptos [Kavanagh 1995].
    - TACT (Text Analysis Computing Tools): es una colección de 15 programas de MS-DOS o Windows que tienen como objetivo la recuperación de información de textos escritos con el alfabeto romano o griego.
    -Xtract: es un programa desarrollado para buscar co-localizaciones en un texto. Una co-localización según M. Benson [Benson 1990] es "una combinación arbitraria y recurrente de una palabra".
    - Analizador de textos: herramienta desarrollada como tesis de maestría en la Universidad de Ottawa por el departamento de ciencias de la computación. El objetivo es proveer a los usuarios con una variedad de opciones para encontrar información relevante en documentos, verificar la consistencia de la información y llevar a cabo un análisis conceptual de las palabras y entre otras operaciones como la búsqueda de verbos [Kavanagh 1995].
    -DELTA ( DEscription Language for TAxonomy): el formato DELTA puede ser utilizado para producir descripciones en lenguaje natural, llaves convencionales e interactivas y ciertas clasificaciones. El corazón de DELTA es un lenguaje en el cual deben codificarse las descripciones taxonómicas para hacer uso del sistema [Taylor 1994].
    - Terminator/NEMISYS: su propósito principal es la construcción de una base de datos a partir de descripciones que se encuentran en lenguaje natural.
    -El programa de Taylor: este sistema analiza texto contenido en grandes conjuntos de descripciones biológicas que se encuentran en lenguaje natural restringido y construye una base de conocimiento [Taylor 1994].
 

5. TRABAJO EN PROCESO Y A FUTURO

    Las pruebas y el desarrollo de X-tract se basaron en la creación de un sistema capaz de analizar los tratamientos taxonómicos localizados en la página electrónica de FNA. Estos tratamientos están formados por descripciones precedidas y seguidas de código HTML. Además, las estructuras principales se encuentran entre "<B>" y "</B>". Es así como se desarrolló una gramática capaz de analizar textos con esta organización. Es decir, siempre una descripción morfológica comienza con una palabra entre "<B>" y "</B>". Actualmente se está trabajando con la programación del caso de descripciones que no comienzan de esta forma dentro de Savia [Navarrete 1999]. En [Navarrete 1999] la gramática empleada en X-tract se utiliza para eliminar la información irrelevante y únicamente analizar la descripción morfológica y traducirla a inglés o español según sea el caso. Actualmente también se lleva a cabo un sub-lenguaje para el ánalisis de tesis en HTML. En este proyecto se está utilizando JavaCC (Java Compiler Compiler) para la creación del análisis léxico y sintáctico de un documento dado.
    X-tract es una herramienta que, además de ayudar en el análisis de descripciones morfológicas y a la actualización de la base de datos, es una herramienta que auxilia al autor en la construcción de las descripciones. Una contribución adicional de X-tract es que hace posible que los autores distribuidos por todo Norteamérica puedan enviar sus tratamientos para el análisis de descripciones de manera electrónica, gracias a la disponibilidad de X-tract vía WWW.
    Al finalizar el sistema se logró demostrar que es posible mejorar notablemente la rapidez y facilidad para introducir las descripciones morfológicas a la biblioteca digital. X-tract forma parte de un sistema, más general, de apoyo a los autores de descripciones morfológicas. Con su uso se espera agilizar la construcción de la biblioteca digital además de constituir un paso en la investigación en el área de extracción de información en la Biblioteca Digital Florística.
 
 

REFERENCIAS

Benson M. 1990. Colocations and general-purpose dictionar-ies, International Journal of Lexicography, 2, 1-14.

Croft W. B. 1995. NSF Center for Intelligent Information Retrieval. Communications of the ACM, 38, 4. (April) 42-43.

Diederich, Ruhmann I. and May M. 1987. KRITON: A knowlege-acquisition tool for expert systems. International Journal of Man-Machine Studies, 26, 1987.

Fox E., Hix D. and Nowell L. 1993. Users, user interfaces, objects: Envision, a digital library. Journal of Am. Soc Inf. Sci. 44, 8, (Sept), 480-491.

Fox A. E. 1995. Digital Libraries. Communications of the ACM, 38,4 (April) 24-25.

Furuta R. 1994. Defining and using structure in digital documents. Proceedings of Digital Libraries'94. (DL'94, College Station, TX).

Hobbs R. J. 1994. Generic Information Extraction System. Artificial Intelligence Center SRI International.

Jacobs P. 1995. Textg interpretation: extracting information. SRA, International, Arlington, Virginia USA.

Kavanagh, J. 1995. The Text Analyzer: A Tool for Extracting Knowledge from Text. Master of Computer Science Thesis, project of the Language Analysis & Knowledge Engineering (LAKE) Group. Department of Computer Science, University of Ottawa.

Kittredge, R. 1987. The significance of sublanguage for automatic translation. In Machine Translation: Theoretical and Methodological Issues; S. Nirenburg (Ed), Cambridge University Press, 59-67.

Lenhert, W. 1996. Information Extraction. Computer Science Departament at the University of Massachusets. Morgan Kaufmann Publishers, Inc.

Lesk 1997. Meyer I., Skuce D., Bowker L., and Eck K. Towards a new generation of terminological re-sources: An experiment in building a terminological knowledge base. 13th International Conference on Computational Linguistics (COLING) Nantes, 1992.

Morin N. 1993 Flora of North America, vol 2. Oxford University Press.

Navarrete D. 1999. Traductor de Descripciones Morfológicas de Especies Vegetales en el Contexto de una Biblioteca Digital Botánica. Tesis de Licenciatura, Departamento de Ingeniería en Sistemas Computacionales, Universidad de las Américas-Puebla. Cholula, Puebla, México.

Sánchez J. A. 1994. User agents in the interface to digital libraries. Proceedings of Digital Libraries'94. (DL'94, College Station, TX, June) 217-218.

Schnase, J. L., Kama, D.L. Tomlinson, K.L., Sánchez, J. A., Cunnius, E.L. y Morin, N. R. 1997: The Flora of North America Digital Library: a case study in biodiversity database publishing;ä Journal of Network and Computer Applications, 21, 20; enero.

Taylor A. 1994. Extracting Knowledge from Biological Descriptions. Department of Computer Science and Engineering. University of New South Wales. Sydney, Australia.

Wiederhold, G.1995. Digital Libraries, Value and Productivity. Communications of the ACM, 38,4,85-86. (June)