OWL 3 , los dos estándares que ayudan a convertir la Web en una infraestructura global en la que es posible compartir y reutilizar datos y documentos entre diferentes tipos de
3. Propuesta de una arquitectura de adquisición
3.3. Modulo de identificación de información
3.3.1. Ontología de Adquisición
3.3.1.4. Tipos de datos
La jerarquía de los tipos de datos abarca tipos básicos como cadenas, números o elementos que se puedan encontrar en documentos HTML.
[Figura 12] Jerarquía de los tipos de datos Los valores de las piezas pueden ser de los siguientes tipos:
Cadena
Representa una sucesión de caracteres alfanuméricos. Tiene la siguiente lista de atributos:
• nombre: nombre del tipo de datos.
• expresión regular: Expresión regular que define el lenguaje de los valores.
Número
Representa un valor numérico. Tiene los siguientes atributos:
• nombre: nombre del tipo de datos.
• expresión regular: Expresión regular que define el lenguaje de los valores
• operadores: operadores de restricciones, positivo, entero, etc.)
Significado
Expresa en valor semántico de un dato. Dada una interpretación de lenguaje natural es posible determinar a nivel de sintagma o nivel de palabra qué significado tiene asociado.
De acuerdo diccionarios o léxicos usados es posible restringir su dominio en unos pocos significados. Por ejemplo si usamos WordNet [Miller 95] podemos determinar el synset
que esperamos obtener, pudiendo además describir si admitimos los sinónimos del mismo. Los atributos que tienen son:
• nombre: nombre del tipo de datos.
• expresión regular: Expresión regular que define el lenguaje de los valores.
• Significado: significado semántico (synset).
• operadores: operadores de restricciones.
3.3.1.5. Operadores
Las distintas estrategias propuestas para la implementación en el módulo de identificación de información modificaran el orden de ejecución de los operadores sobre los modelos de documentos. Los operadores son piezas de software que realizan las tareas de recuperación, navegación o comprobación sobre las interpretaciones de documentos disponibles y son llamadas por el módulo de identificación de información de acuerdo a la estrategia de información.
Los operadores se clasifican de la siguiente manera:
• Operadores de alto nivel: encargados de ejecutar una estrategia en particular
(ordenando la ejecución de operadores de bajo nivel), provisión de nuevos documentos en modelos procesables o construcción de nuevas hipótesis.
• Operadores de bajo nivel: encargados de operaciones primitivas sobre las fuentes y la información extraída. Cada uno de estos operadores actúa sobre una determinada interpretación de documentos. De esta manera la provisión de un determinado modelo se convierte en precondición del operador (Ejemplo: no es posible ejecutar el operador de identificación de nombres propios si no se ha proveído el modelo de lenguaje sobre una fuente). Estos operadores a su vez se clasifican según su propósito:
o Operadores de recuperación de información (Retrieve): Piezas de software
capaces de localizar información dentro de una interpretación determinada.
o Operadores de validación (Check): Operadores capaces de verificar una
propiedad impuesta (que la información sea del tipo número entero positivo, que tenga un significado X, etc.).
o Operadores de ejecución y navegación: (Execute). Operadores de manejo
de fuentes, tales como la navegación por un documento hipertextual, localización de documentos por su URL, etc.
La ejecución de los operadores de recuperación tiene por objeto localizar una cierta información esperada en el documento fuente. Aunque esta pieza tiene impuestas condiciones de validez (por ejemplo: para posibles edades de personas: número entero positivo, comprendido en el rango de 0 a 120), son varias las posibilidades que se encuentran dentro de un mismo documento. Es por ello que el presente sistema que se pretende proponer construya una hipótesis que forman las distintas posibilidades de asignación de partes de la fuente a piezas de información esperadas.
Se clasifican según su efecto en las siguientes clases:
Operadores de Recuperación
Esta clase de operadores toma el modelo del documento fuente y obtiene un conjunto de piezas de información que se ajusta a la descripción dada por la ontología de adquisición. Ejemplos:
• Listar Nombres Propios: Operador que trabaja sobre el modelo de lenguaje y
recupera todas aquellas piezas de información que pudiesen constituir un nombre propio. Necesita del modelo de lenguaje para poder ejecutarse.
• Lista Enlaces HTML: Operador que devuelve una lista de enlaces que que
pertenecen a un documento hipertexto.
• Lista por Expresión Regular: Operador que devuelve todas las piezas que encajan con una expresión regular dada.
Operadores de Ejecución
Los operadores de ejecución permiten realizar tareas de manipulación de documentos online tales como navegación entre documentos, interpretación de código embebido o carga de un documento para ser procesado por algunos de los modelos. La mayoría de ellos tienen como precondición la disponibilidad de la interpretación de la fuente DOM para tener formalizado los distintos objetos HTML.
• Ejecutar Enlace HTML: Encontrada una pieza del tipo: Enlace HTML (HTML Link) el operador navega hasta la página apuntada.
• Proveer Página: Descargar una página para su procesamiento por los distintos
modelos.
• Ejecutar Formulario: Encontrado un formulario, se ejecuta.
Operadores de Comprobación
Operadores de comprobación toman piezas proporcionadas por los operadores de recuperación y comprueban si cumplen las restricciones impuestas. Estas restricciones pueden ser sobre su valor, sobre su tipo o sobre las relaciones que existen entre varias piezas.
Ejemplos:
• Es un número entero: Determina si un número hallado es entero.
• Pertenece número rango: Determina si el valor del número pertenece a un rango dado.
• Existe Pieza en dominio: Determina si una pieza está en la ontología de dominio.
• Es Enlace HTML: Devuelve cierto si la pieza es un enlace HTML.
• Es Nombre Propio: Devuelve cierto si es un nombre propio.
• Están la Pieza A en Línea con B: Comprueba las coordenadas de dos piezas para ver si están en la misma línea visual.
• Está A a la derecha de B: Comprueba las coordenadas de dos piezas para ver si una está a la derecha de la otra.
3.3.2. Estrategias
Como se ha comentado anteriormente son las estrategias que construyen dinámicamente las secuencias de los operadores con el objetivo de elaborar las hipótesis para el relleno. El algoritmo principal de ejecución de estrategias se realiza en un bucle de tres pasos:
Algoritmo principal del módulo de identificación: MI ENTRAS queden deci si ones por t omar REPETI R:
1. Tomar una deci si ón est r at égi ca.
2. Ej ecut ar l a deci si ón t omada.
FI N de Bucl e
El objetivo de este algoritmo es construir un conjunto de hipótesis que relaciones piezas de información con partes del texto fuente para éstas pueden pasar a la fase final de relleno. Todo el espacio de búsqueda definido por la ontología de adquisición dará lugar a varios conjuntos de hipótesis. En cada conjunto las hipótesis compiten entre sí y forman alternativas para el relleno de piezas. Normalmente cada conjunto de hipótesis corresponde a un documento dentro de la red de documentos, aunque no es una restricción del sistema. Como se verá una hipótesis consiste en una asignación de candidatos formados por partes de fuentes extraídas de las fuentes a piezas de información definidas en la ontología de adquisición.
Dependiendo de la estrategia ejecutada el sistema generará una sola o varias hipótesis. Las estrategias actúan sobre el paso primero de toma de decisiones. Las decisiones que se pueden tomar son:
• Recuperar una pieza: Decisión de recuperar una determinada pieza mediante
operadores de recuperación. Los operadores tomo como entrada la descripción de la pieza de la ontología de adquisición y recuperan todos aquellos fragmentos de la fuente que cumplan con las condiciones impuestas por la pieza, es decir: tipo de dato, restricción sobre valores, propiedades lingüísticas, etc. El resultado de esta operación es un conjunto de candidatos para ocupar la pieza descrita. Esta operación genera la parición de nuevas hipótesis para una parte del espacio de búsqueda, ya que muchas veces en número de candidatos para una pieza supera la cardinalidad máxima permitida de la misma.
• Recuperar un documento: Decisión de recuperar un documento completo de la
fuente. El operador carga el documento en memoria, pero sin aplicarle ninguna interpretación al documento en concreto. Las interpretaciones de fuentes se irán generando según surjan las necesidades de los operadores de recuperación.
• Recuperar una relación: Decisión de comprobar una relación enunciada en la
ontología de adquisición. Las relaciones, según se definen en la ontología de adquisición pueden ser de dos clases: de aspecto (posiciones espaciales relativas entre piezas) o de significado (relaciones semánticas identificadas como dependencias en el modelo del lenguaje).
• Insertar hipótesis: En cuanto se construye un conjunto de hipótesis para un
subconjunto de piezas estas se pasan a la fase de relleno. Las distintas alternativas son evaluadas y solamente se selecciona la más plausible de todas ellas.
La manera de integrar una estrategia en módulo de identificación de información consiste en generar partes disjuntas de la ontología de adquisición y usar la estrategia para generar
un conjunto de hipótesis para cada una de estas partes. El conjunto de hipótesis correspondiente a cada parte se evalúa y ordena de acuerdo a su plausibilidad y aportación de información y se entrega al siguiente módulo que rellena la ontología de dominio.