Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Centro Nacional de Investigación y Desarrollo Tecnológico
Departamento de Ciencias Computacionales
TESIS DE MAESTRÍA EN CI...
I
II
III
Dedicatorias
A mis padres
Everardo Munguía Maldonado y María Aguilar Arrollo, por todo el apoyo
que me han brindado, l...
IV
Agradecimientos
Primero que nada quiero agradecer a mí directora de tesis la Dra. Azucena
Montes Rendón y a mí codirect...
V
Abstract
An ontology is one of the main knowledge representation mechanisms although its production,
creation and popula...
VI
Resumen
Una ontología es uno de los principales mecanismos de representación del conocimiento, a pesar de
sus costos de...
VII
Contenido
Capítulo 1. Introducción.......................................................................................
VIII
3.1.6 Optima: an ontology population system.............................................................................
IX
6.1 Conclusiones .........................................................................................................
X
Figuras
FIGURA 1.- PROCESO DE PANKOW.......................................................................................
XI
Tablas
TABLA 1.- CUADRO COMPARATIVO DE TRABAJOS DEL ESTADO DEL ARTE. .....................................................
Capítulo 1. Introducción
En este capítulo se presentan los principales temas que llevaron a la realización de esta tesis, ...
Capitulo 1.- Introducción
Everardo Munguía Aguilar 2 | P á g i n a
1.1 Motivación
Actualmente existe una gran diversidad d...
Capitulo 1.- Introducción
Everardo Munguía Aguilar 3 | P á g i n a
Por último, existen métodos en los cuales el proceso de...
Capitulo 1.- Introducción
Everardo Munguía Aguilar 4 | P á g i n a
1.4.2 Limitaciones
 No se analizan competencias indivi...
Capítulo 2. Fundamento teórico
En este capítulo aborda los fundamentos teóricos para comprender adecuadamente los temas en...
Capitulo 2.- Fundamento teórico
Everardo Munguía Aguilar 6 | P á g i n a
2.1 Técnicas para el análisis de contenido Web
La...
Capitulo 2.- Fundamento teórico
Everardo Munguía Aguilar 7 | P á g i n a
propiedades más básicas. Teniendo en cuenta que h...
Capitulo 2.- Fundamento teórico
Everardo Munguía Aguilar 8 | P á g i n a
2.1.2.1 Eliminación de palabras vacías
En [B. Liu...
Capitulo 2.- Fundamento teórico
Everardo Munguía Aguilar 9 | P á g i n a
2.1.4 Pre-procesamiento de páginas Web
En [B. Liu...
Capitulo 2.- Fundamento teórico
Everardo Munguía Aguilar 10 | P á g i n a
Por lo tanto la IE es la localización de porcion...
Capitulo 2.- Fundamento teórico
Everardo Munguía Aguilar 11 | P á g i n a
2.4 Poblado ontológico
El poblado ontológico con...
Capitulo 2.- Fundamento teórico
Everardo Munguía Aguilar 12 | P á g i n a
supervisión y después utilizar los resultados de...
Capítulo 3. Estado del arte
En este estado del arte se presentan distintos trabajos y herramientas enfocados a la extracci...
Capitulo 3.- Estado del arte
Everardo Munguía Aguilar 14 | P á g i n a
3.1.1 KNOWITALL
En [Oren Etzioni et al. 2005] y [O....
Capitulo 3.- Estado del arte
Everardo Munguía Aguilar 15 | P á g i n a
 Se basa en IE, ML y NPL.
El principal aporte de e...
Capitulo 3.- Estado del arte
Everardo Munguía Aguilar 16 | P á g i n a
El proceso que sigue PANKOW se observa en la Figura...
Capitulo 3.- Estado del arte
Everardo Munguía Aguilar 17 | P á g i n a
Figura 2.- Proceso de KIM.
En el sistema KIM, se de...
Capitulo 3.- Estado del arte
Everardo Munguía Aguilar 18 | P á g i n a
Figura 3.- Proceso de OPTIMA.
En OPTIMA, se present...
Capitulo 3.- Estado del arte
Everardo Munguía Aguilar 19 | P á g i n a
de páginas Web ya que de esta forma se descarta inf...
Capitulo 3.- Estado del arte
Everardo Munguía Aguilar 20 | P á g i n a
plano.
 Semi-estructurado: Se refiere al texto con...
Capitulo 3.- Estado del arte
Everardo Munguía Aguilar 21 | P á g i n a
Trabajo Poblado de
ontologías
Análisis de
páginas W...
Capitulo 3.- Estado del arte
Everardo Munguía Aguilar 22 | P á g i n a
3.2 Conclusiones
Los distintos trabajos que se pres...
Capítulo 4. Metodología de solución
En este capítulo, se presenta la metodología empleada, la cual está compuesta por tres...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 24 | P á g i n a
4.1 Introducción
La metodología de solución...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 25 | P á g i n a
4.2 Fase 1. Recuperación de información
La ...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 26 | P á g i n a
En la Figura 6 se puede apreciar el proceso...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 27 | P á g i n a
Figura 7.- Proceso de exploración del sitio...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 28 | P á g i n a
fracasan en caso de haberlos usado, es cons...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 29 | P á g i n a
Figura 8.- Pre-procesamiento de páginas Web...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 30 | P á g i n a
4.3.1 Tokenización de texto
Esta fase recib...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 31 | P á g i n a
4.3.2 Etiquetado del texto
El etiquetado de...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 32 | P á g i n a
de elementos en el texto o identificar vari...
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 33 | P á g i n a
4.3.4 Árbol de elementos relacionados
El úl...
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web
Upcoming SlideShare
Loading in …5
×

Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web

982 views

Published on

Una ontología es uno de los principales mecanismos de representación del conocimiento, a pesar de sus costos de producción, tanto en la creación como en el poblado de las mismas. Esta puede ser utilizada como una base de conocimiento descriptiva y suficientemente explícita para un sistema o simplemente para la representación de la información en la Web semántica. Estos aspectos son aprovechados por sistemas que buscan explotar e inferir conocimiento, utilizando la semántica que describe una ontología. Actualmente, se cuenta con diversas herramientas, técnicas, metodologías y sistemas de software qué obtienen de manera automática y/o semiautomática información relevante y de un dominio específico. Estas técnicas resuelven algunos problemas tales como la diversidad de idiomas en los que está representada la información, o la redundancia de los datos. Sin embargo, para realizar un correcto poblado ontológico es necesario verificar la información instanciada, revisando que se encuentre ubicada en la clase correcta de la ontología.
Existen herramientas desarrolladas, tanto para extraer información de páginas Web como para realizar un poblado ontológico, pero muy pocas de ellas lo realizan tomando una página Web como fuente de información. Se han implementado metodologías para sistemas supervisados y no supervisados, redes neuronales que utilizan grandes corpus de documentos, o haciendo un análisis de diversos patrones. A pesar de esto muchas de estas metodologías y/o sistemas requieren de muchos ejemplos de entrenamiento y/o no se basan en la Web como su principal fuente de información.
En este contexto, esta tesis aborda el problema de extraer información, en español, de un sitio Web utilizando un conjunto de reglas y especificaciones para realizar un poblado ontológico de dominio específico. Para ello se implementa una metodología conformada por tres fases principales: recuperación de información,
extracción de texto y poblado ontológico.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web

  1. 1. Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de Contenido Web Presentada por Everardo Munguía Aguilar Ing. Sistemas Computacionales por el I.T. de Zacatepec Como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dra. Azucena Montes Rendón Co-Director de tesis: M.C. Rocío Vargas Arroyo Jurado: Dr. Juan Gabriel González Serna – Presidente Dr. Hugo Estrada Esquivel – Secretario M.C. José Alejandro Reyes Ortiz – Vocal Dra. Azucena Montes Rendón – Vocal Suplente Cuernavaca, Morelos, México. 29 de Junio de 2012
  2. 2. I
  3. 3. II
  4. 4. III Dedicatorias A mis padres Everardo Munguía Maldonado y María Aguilar Arrollo, por todo el apoyo que me han brindado, la confianza y el amor que día a día me han hecho lo que soy. A mi padre por haber sido firme y enseñarme a valorar las cosas, a seguir adelante y sobre todo por haber sido mi padre cuando era bebé, mi maestro cuando era pequeño y ahora mi mejor amigo. A mi madre, por ser tan amable y servicial, por apoyarme y sacarme de muchos apuros, por confiar plenamente en mí y ser parte de mi vida todos los días. A mi familia Por apoyarme en mis decisiones y brindarme su apoyo, por darme la confianza de que puedo contar con ellos en cualquier momento, sobre todo a mis hermanas Carla y Janette que siempre me apoyan y me han enseñado mucho de la vida. Gracias por estar siempre conmigo. A Sam Por formar parte de mi vida, ya que su compañía me dio el ímpetu para alcanzar mis metas, preocupándose por mí, y aconsejándome en todos los aspectos, gracias por preocuparte tanto.
  5. 5. IV Agradecimientos Primero que nada quiero agradecer a mí directora de tesis la Dra. Azucena Montes Rendón y a mí codirectora la M.C. Rocío Vargas Arroyo, que me han apoyado durante el desarrollo de esta tesis, proporcionándome su tiempo, opiniones, sugerencias y haciendo de mi una persona más capaz, dándoles un muy humilde gracias por todo su apoyo. A mis revisores de tesis, Dr. Juan Gabriel González Serna, Dr. Hugo Estrada Esquivel, M.C. José Alejandro Reyes Ortiz, quienes me brindaron sus conocimientos y aportaciones a esta tesis. También quiero agradecer al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET), por proporcionar sus instalaciones y servicios, por brindarme un servicio óptimo y por tener los mejores profesores-investigadores. Quiero agradecer a Consejo Nacional de Ciencia y Tecnología (CONACYT), por el apoyo económico que brinda a los estudiantes de maestría y doctorado, permitiéndonos dedicarnos completamente al estudio. A mi familia, por apoyarme y estar siempre conmigo, forjándome todos los días para ser una persona mejor. A mis compañeros, por compartir experiencias y aprender juntos, apoyándonos unos a los otros y dándome la mano cada vez que la necesito a Sabino Pariente Juárez, Nimrod González Franco, Eliel Morales González, Ricardo Estrada Peláez, Nazir Molina, Felipe Román y Jaime Boanerjes, por ser parte de esta experiencia única y por el gusto de conocerlos gracias. A todos mis compañeros y la gente que me rodeó durante mi desarrollo en Cenidet, compartiendo experiencias, convivencias y sonrisas, gracias. ¡Gracias a todos por formar parte de mi historia!
  6. 6. V Abstract An ontology is one of the main knowledge representation mechanisms although its production, creation and population cost. It can be used as a descriptive and explicit enough knowledge base for a system or simply for the information representation of the current semantic web. These aspects are used by systems which look for exploring and inferring knowledge using the semantic that the ontologies describe. Nowadays, there are different tools, techniques, methodologies and systems software for obtaining in a automatic and/or semiautomatic way the relevant information of a specific domain. These techniques solve some problems such as diversity of languages in which the information is available or data redundancy. However, for a correct ontology population it is necessary to verify the information being instantiated, assuring that it is placed in the correct class of the ontology. There exist developed tools for both extracting information from web pages and performing a correct ontological population, but only a few of them allow performing an ontology population using a web page as their source of information. Also, methodologies for supervised and not supervised systems, neuronal networks based in huge documents corpus or making an analysis of different patrons have been implemented. Despide this, many of these methodologies and/or systems require time, training or they are not based on the web as their main source of information. In this context, this thesis present an approach to solve the problem of extracting information from a web site for ontology population in Spanish. To make it possible, a methodology conformed by three main phases has been implemented. These phases allow obtaining information from a web site using a set of rules and specifications for performing an ontological population of a specific domain. Population is made by searching a web site in an automatic way with the objective of obtaining the relevant information for an user and incrusting it in an ontology.
  7. 7. VI Resumen Una ontología es uno de los principales mecanismos de representación del conocimiento, a pesar de sus costos de producción, tanto en la creación como en el poblado de las mismas. Esta puede ser utilizada como una base de conocimiento descriptiva y suficientemente explícita para un sistema o simplemente para la representación de la información en la Web semántica. Estos aspectos son aprovechados por sistemas que buscan explotar e inferir conocimiento, utilizando la semántica que describe una ontología. Actualmente, se cuenta con diversas herramientas, técnicas, metodologías y sistemas de software qué obtienen de manera automática y/o semiautomática información relevante y de un dominio específico. Estas técnicas resuelven algunos problemas tales como la diversidad de idiomas en los que está representada la información, o la redundancia de los datos. Sin embargo, para realizar un correcto poblado ontológico es necesario verificar la información instanciada, revisando que se encuentre ubicada en la clase correcta de la ontología. Existen herramientas desarrolladas, tanto para extraer información de páginas Web como para realizar un poblado ontológico, pero muy pocas de ellas lo realizan tomando una página Web como fuente de información. Se han implementado metodologías para sistemas supervisados y no supervisados, redes neuronales que utilizan grandes corpus de documentos, o haciendo un análisis de diversos patrones. A pesar de esto muchas de estas metodologías y/o sistemas requieren de muchos ejemplos de entrenamiento y/o no se basan en la Web como su principal fuente de información. En este contexto, esta tesis aborda el problema de extraer información, en español, de un sitio Web utilizando un conjunto de reglas y especificaciones para realizar un poblado ontológico de dominio específico. Para ello se implementa una metodología conformada por tres fases principales: recuperación de información, extracción de texto y poblado ontológico.
  8. 8. VII Contenido Capítulo 1. Introducción........................................................................................................................1 1.1 Motivación ..................................................................................................................................2 1.2 Planteamiento del problema .........................................................................................................2 1.3 Objetivos.....................................................................................................................................3 1.3.1 Objetivo general ......................................................................................................................3 1.3.2 Objetivos particulares ..............................................................................................................3 1.4 Alcances y limitaciones................................................................................................................3 1.4.1 Alcances..................................................................................................................................3 1.4.2 Limitaciones............................................................................................................................4 1.5 Organización de la tesis ...............................................................................................................4 Capítulo 2. Fundamento teórico.............................................................................................................5 2.1 Técnicas para el análisis de contenido Web ..................................................................................6 2.1.1 Procesamiento de lenguaje natural ...........................................................................................6 2.1.2 Pre- procesamiento de texto .....................................................................................................7 2.1.3 Tratamiento de signos..............................................................................................................8 2.1.4 Pre-procesamiento de páginas Web..........................................................................................9 2.2 Extracción y recuperación de información....................................................................................9 2.2.1 Extracción de información .......................................................................................................9 2.2.2 Recuperación de información................................................................................................. 10 2.2.3 Minería de texto..................................................................................................................... 10 2.3 Ontología................................................................................................................................... 10 2.4 Poblado ontológico .................................................................................................................... 11 2.4.1 Poblado ontológico basado en patrones léxico-sintácticos....................................................... 11 2.4.2 Poblado ontológico basado en clasificación por similitud........................................................ 11 2.4.3 Poblado ontológico basado en enfoques supervisados............................................................. 11 2.4.4 Poblado ontológico basado en conocimiento y enfoques lingüísticos....................................... 12 2.4.5 Poblado ontológico basado en clasificación por similitud de nombres de entidades ................. 12 Capítulo 3. Estado del arte................................................................................................................... 13 3.1.1 KNOWITALL....................................................................................................................... 14 3.1.2 Ontosophie: a semi-automatic system for ontology population from text................................. 14 3.1.3 WEB→ KB........................................................................................................................... 15 3.1.4 PANKOW............................................................................................................................. 15 3.1.5 Kim – semantic annotation platform....................................................................................... 16
  9. 9. VIII 3.1.6 Optima: an ontology population system.................................................................................. 17 3.1.7 Omini.................................................................................................................................... 18 3.1.8 Ontominer: bootstrapping and populating ontologies from domain specific Web sites............. 19 3.1.9 Comparativa de trabajos relacionados .................................................................................... 19 3.2 Conclusiones ............................................................................................................................. 22 Capítulo 4. Metodología de solución.................................................................................................... 23 4.1 Introducción .............................................................................................................................. 24 4.2 Fase 1. Recuperación de información ......................................................................................... 25 4.2.1 Exploración del sitio Web...................................................................................................... 26 4.2.2 Filtrado y selección de páginas Web....................................................................................... 27 4.2.3 Pre-procesamiento de páginas Web........................................................................................ 28 4.3 Fase 2. Extracción de información.............................................................................................. 29 4.3.1 Tokenización de texto............................................................................................................ 30 4.3.2 Etiquetado del texto............................................................................................................... 31 4.3.3 Análisis lingüístico ................................................................................................................ 31 4.3.4 Árbol de elementos relacionados............................................................................................ 33 4.4 Fase 3. Poblado ontológico ........................................................................................................ 33 4.4.1 Similitud de objetos recuperados............................................................................................ 35 4.4.2 Encriptado............................................................................................................................. 35 4.4.3 Instanciación ......................................................................................................................... 36 4.5 Análisis y diseño de RExPO....................................................................................................... 36 4.5.1 Desarrollo de RExPO............................................................................................................. 37 4.5.2 RExPO.................................................................................................................................. 40 4.6 Conclusiones ............................................................................................................................. 44 Capítulo 5. Pruebas y resultados .......................................................................................................... 45 5.1.1 Métricas de evaluación .......................................................................................................... 46 5.2 Caracterización de Pruebas......................................................................................................... 47 5.2.1 Criterios de evaluación .......................................................................................................... 47 5.2.2 Casos de estudio.................................................................................................................... 49 5.3 Resultados ................................................................................................................................. 52 5.3.1 Recorrido del sitio. ................................................................................................................ 52 5.3.2 Extracción de información ..................................................................................................... 54 5.3.3 Poblado ontológico................................................................................................................ 56 5.4 Análisis de resultados ................................................................................................................ 58 Capítulo 6. Conclusiones y trabajos futuros.......................................................................................... 60
  10. 10. IX 6.1 Conclusiones ............................................................................................................................. 61 6.2 Trabajos futuros......................................................................................................................... 63 Anexos...................................................................................................................................................... 67 Anexo 1. Herramientas utilizadas ........................................................................................................... 68 FreeLing............................................................................................................................................ 68 Jericho............................................................................................................................................... 70 TDB .................................................................................................................................................. 73 SimMetrics ........................................................................................................................................ 74 Encriptación....................................................................................................................................... 74 Autómatas.......................................................................................................................................... 75 Anexo 2.- Bolsa de palabras y marcadores lingüísticos............................................................................ 77 Anexo 3.- Catálogo de páginas Web ....................................................................................................... 80
  11. 11. X Figuras FIGURA 1.- PROCESO DE PANKOW............................................................................................................. 16 FIGURA 2.- PROCESO DE KIM. ..................................................................................................................... 17 FIGURA 3.- PROCESO DE OPTIMA............................................................................................................... 18 FIGURA 4.- LAS 3 ETAPAS PRINCIPALES DE LA METODOLOGÍA. ...................................................................... 24 FIGURA 5.- FASE 1- RECUPERACIÓN DE INFORMACIÓN.................................................................................. 25 FIGURA 6.- PROCESO DE IR.......................................................................................................................... 26 FIGURA 7.- PROCESO DE EXPLORACIÓN DEL SITIO......................................................................................... 27 FIGURA 8.- PRE-PROCESAMIENTO DE PÁGINAS WEB...................................................................................... 29 FIGURA 9.- FASE 2 - EXTRACCIÓN DE INFORMACIÓN..................................................................................... 29 FIGURA 10.- PROCESO PARA EL ETIQUETADO DEL TEXTO. ............................................................................. 31 FIGURA 11.- PROCESO PARA LA IDENTIFICACIÓN DE ELEMENTOS PERTINENTES. ............................................. 32 FIGURA 12.- JERARQUÍA DE ELEMENTOS....................................................................................................... 33 FIGURA 13.- FASE 3 – POBLADO ONTOLÓGICO.............................................................................................. 33 FIGURA 14.- FORMACIÓN DE TRIPLETAS. ...................................................................................................... 34 FIGURA 15.- INSTANCIACIÓN DE TRIPLETAS.................................................................................................. 34 FIGURA 16.- PROCESO PARA EL POBLADO ONTOLÓGICO. ............................................................................... 35 FIGURA 17.- ARQUITECTURA DE REXPO...................................................................................................... 37 FIGURA 18.- REXPO. .................................................................................................................................. 41 FIGURA 19.- RESULTADO DE LA RECUPERACIÓN DE INFORMACIÓN. ............................................................... 42 FIGURA 20.- RESULTADO DE IE.................................................................................................................... 42 FIGURA 21.- RANGOS DE ANÁLISIS............................................................................................................... 48 FIGURA 22.- FILTROS PARA LA EXTRACCIÓN DE UN OBJETO........................................................................... 48 FIGURA 23.- EFECTIVIDAD DE LA METODOLOGÍA IMPLEMENTADA EN EL PROTOTIPO. ..................................... 59 FIGURA 24.- AUTÓMATA DE TELÉFONO ........................................................................................................ 75 FIGURA 25.-AUTÓMATA DE TWITTER........................................................................................................... 75 FIGURA 26.- AUTÓMATA DE CORREOS ELECTRÓNICOS .................................................................................. 76
  12. 12. XI Tablas TABLA 1.- CUADRO COMPARATIVO DE TRABAJOS DEL ESTADO DEL ARTE. ..................................................... 21 TABLA 2.- EJEMPLOS DE TOKENIZACIÓN DE TEXTO....................................................................................... 30 TABLA 3.- TABLA PARA DETERMINAR LA FORMULA DE PRECISIÓN Y RECUERDO............................................ 46 TABLA 4.- DETALLES CASO DE ESTUDIO 1. ................................................................................................... 50 TABLA 5.- DETALLES CASO DE ESTUDIO2. .................................................................................................... 50 TABLA 6.- DETALLES CASO DE ESTUDIO 3. ................................................................................................... 50 TABLA 7.- DETALLES CASO DE ESTUDIO 4. ................................................................................................... 51 TABLA 8.- DETALLES CASO DE ESTUDIO 5. ................................................................................................... 51 TABLA 9.- DETALLES CASO DE ESTUDIO 6. ................................................................................................... 51 TABLA 10.- TABLA COMPARATIVA DEL RECORRIDO DEL SITIO....................................................................... 53 TABLA 11.- RESUMEN ESTADÍSTICO POR RECORRIDO DEL SITIO..................................................................... 54 TABLA 12.- TABLA COMPARATIVA DE LA EXTRACCIÓN DE INFORMACIÓN ...................................................... 55 TABLA 13.- RESUMEN ESTADÍSTICO POR EXTRACCIÓN DE INFORMACIÓN. ...................................................... 56 TABLA 14.- TABLA COMPARATIVA DEL POBLADO ONTOLÓGICO..................................................................... 57 TABLA 15.- RESUMEN ESTADÍSTICO POR POBLADO ONTOLÓGICO................................................................... 57 TABLA 16.- TABLA COMPARATIVA DE LA EFECTIVIDAD DE LA METODOLOGÍA POR SITIO WEB ........................ 58 TABLA 17.- EFECTIVIDAD DE LA METODOLOGÍA POR SITIO WEB.................................................................... 58 TABLA 18.- ETIQUETADORES....................................................................................................................... 69 TABLA 19.- CATEGORÍA GRAMATICAL DE NOMBRES PROPIOS. ...................................................................... 69 TABLA 20.- TABLA COMPARATIVA DE ANALIZADORES HTML...................................................................... 72
  13. 13. Capítulo 1. Introducción En este capítulo se presentan los principales temas que llevaron a la realización de esta tesis, los objetivos, limitaciones y la metodología de solución propuesta para realizar un poblado ontológico.
  14. 14. Capitulo 1.- Introducción Everardo Munguía Aguilar 2 | P á g i n a 1.1 Motivación Actualmente existe una gran diversidad de información y varias formas de acceder a ella con diferentes propósitos, distintas fuentes y desde un mismo lugar. La mayoría de las personas hacen sus búsquedas mediante “Internet” percatándose que es más fácil acceder a la información y obtener una gran cantidad de resultados en muy poco tiempo. Sin embargo, en ocasiones no resulta útil toda la información recuperada mediante internet, ya que una gran parte no es relevante o no cumple con las necesidades y criterios del usuario. Dada esta problemática se han desarrollado diferentes herramientas, técnicas, algoritmos, procedimientos y metodologías para optimizar los resultados que un usuario desea. Derivado de estos nuevos enfoques, ha surgido una gran cantidad de propuestas tal como el uso de metadatos semánticos y ontológicos en la Web, los cuales describen el contenido, el significado y la relación de los datos, haciendo posible evaluar automáticamente la información utilizando máquinas de procesamiento de texto. La Web ha evolucionado, desde la web 1.0, donde comenzó con SQL usando HTTP y HTML, evolucionando hacia diversos lenguajes orientados a la Web como java, flash, XML y diversas tecnologías para llegar hasta la web 2.0 y en base a esto surgen nuevos paradigmas y nuevas tecnologías como AJAX, OWL, SPARQL, RDF, entre otros, que están en actual desarrollo para llegar hacia la Web 3.0, donde se pretende que en toda la Web se puedan hacer búsquedas semánticas o implementar bases de datos semánticas para lograr evolucionar completamente hacia la Web 3.0. El objetivo es mejorar los resultados de búsqueda de información en la web considerando la semántica y que permita a las computadoras buscar información sin la intervención del ser humano es, por un lado, ampliar la interoperabilidad entre los sistemas informáticos usando "agentes inteligentes"; por otro lado, tratar automáticamente aspectos del lenguaje natural. Este último es la motivación del presente trabajo. 1.2 Planteamiento del problema El surgimiento de la Web semántica, y con ella el manejo de ontologías, aparecen nuevas problemáticas tecnológicas como la creación, poblado, alineamiento y explotación de estas, creando un reto para la ingeniería ontológica sobre todo en descubrimiento automático de elementos, como clases, relaciones e instancias. Los principales métodos para el poblado de ontologías son manuales, costosos y complejos ya que el método requiere de la intervención de un experto para identificar conceptos en un dominio y relaciones entre ellos. Por lo general se utilizan aplicaciones de tipo standalone como [Protégé, 2011] o se implementan aplicaciones Web que utilizan formularios para capturar las instancias de las clases y atributos, con esto se logra poblar la ontología adecuadamente. Por otra parte existen los métodos semiautomáticos, donde interviene un usuario que puede hacer varias tareas, como proponer una ontología inicial, validar, cambiar o eliminar los elementos extraídos por la técnica de aprendizaje de ontologías; seleccionar patrones de clases, agrupar variaciones de conceptos o eliminar aquellos irrelevantes y etiquetar nuevos conceptos en los textos, entre otro tipo de funciones como menciona [Celjuska & Vargas-Vera 2004] donde es implementada una herramienta llamada Ontosophie descrita en 3.1.2.
  15. 15. Capitulo 1.- Introducción Everardo Munguía Aguilar 3 | P á g i n a Por último, existen métodos en los cuales el proceso de aprendizaje de algunos elementos ontológicos se realiza de forma automática, estos se enfocan en descubrir instancias de las clases en una ontología existente como en [Craven et al. 1999], sin embargo requieren de muchos ejemplos de entrenamiento. Por consiguiente, esta tesis se enfoca en resolver el problema de identificar y extraer instancias a partir de texto de sitios Web para poblar una ontología organizacional, además de realizar un análisis semántico y el almacenamiento de aquellos datos que se consideran pertinentes de un sitio Web, llevando a cabo el proceso de instanciación del repositorio de tripletas a una ontología ya definida. 1.3 Objetivos En esta sección se presenta el objetivo principal y los objetivos particulares que se abordaron para la elaboración de esta tesis. 1.3.1 Objetivo general El objetivo de este trabajo consiste en desarrollar una metodología para poblar ontologías organizacionales mediante el análisis de contenido textual de páginas Web. 1.3.2 Objetivos particulares De acuerdo al objetivo general se desglosan los objetivos particulares que son abordados en esta tesis como:  Crear un catálogo de organizaciones a partir del dominio Web, identificando organizaciones que trabajen con el dominio de las TIC.  Estudiar herramientas existentes sobre la instanciación de clases de una ontología.  Analizar el contenido de las páginas Web (texto).  Aprender, comprender y utilizar una base de datos basada en tripletas “TDB”.  Proponer e implementar una metodología para la instanciación entre el repositorio de información y la ontología. 1.4 Alcances y limitaciones 1.4.1 Alcances  El análisis de contenido Web se realizar sobre sitos del dominio de las TIC y se acota a organizaciones (IES o empresas).  Se identifican datos generales de la organización.  Se identifican recursos humanos asociados a la organización.  Se identifican los servicios (competencias organizacionales) que presta la organización al exterior.  Se identifican objetos de conocimiento de una organización por medio de su página Web.
  16. 16. Capitulo 1.- Introducción Everardo Munguía Aguilar 4 | P á g i n a 1.4.2 Limitaciones  No se analizan competencias individuales.  No se analizan contenidos de documentos diferentes a las páginas Web.  No se analizan contenidos multimedia, imágenes, audio y video.  No se analizan scripts.  Únicamente se analizan las ontologías diseñadas para empresas e instituciones de educación superior.  Sólo se aborda el idioma español. 1.5 Organización de la tesis El capítulo uno se muestra la principal motivación, planteamiento del problema, objetivos, metodología de solución, alcances y limitaciones a los que se acota la tesis, mostrando las principales ideas y la solución para poblar una ontología. El segundo capítulo se aborda el marco teórico en donde se muestran los fundamentos teóricos como la recuperación de información, extracción de información, tratamiento de páginas Web, análisis del texto y las diferentes técnicas para poblar una ontología. El tercer capítulo muestra una recopilación de los diferentes trabajos relacionados a esta tesis, así como sus comparativas, características principales y su relevancia. El capítulo cuatro se presenta el trabajo central donde se describe la metodología de solución, compuesta por tres fases principales, explicando la exploración del sitio Web, el etiquetado de texto, la recuperación de información, el poblado ontológico y la descripción del diseño e implementación de la metodología en la herramienta RexPO mostrando los principales criterios que se consideran para cada parte del desarrollo. Posteriormente se encuentra el capítulo cinco donde se muestran las pruebas y resultados, obtenidos en los casos de estudio presentados, detallando cada una de los datos obtenidos, experiencias y conclusiones. El capítulo seis, presenta la conclusión general, trabajos futuros, las referencias de los trabajos abordados y analizados y Anexos.
  17. 17. Capítulo 2. Fundamento teórico En este capítulo aborda los fundamentos teóricos para comprender adecuadamente los temas en esta tesis. Se presenta el tratamiento de páginas Web, extracción de información, recuperación de información, ontologías y el poblado ontológico. En cada uno de estos temas se presenta una explicación y algunos ejemplos y técnicas, considerando los criterios enfocados al poblado ontológico y a la recuperación y extracción de información de páginas Web.
  18. 18. Capitulo 2.- Fundamento teórico Everardo Munguía Aguilar 6 | P á g i n a 2.1 Técnicas para el análisis de contenido Web Las diversas técnicas utilizadas en [B. Liu et al. 2008] se presentan en esta sección, enfocadas a la extracción de datos estructurados. Existen tres enfoques principales: enfoque manual, el aprendizaje supervisado y la extracción automática. En el enfoque manual, el programador humano, mediante observación, encuentra patrones generando un programa con respecto a ellos. El aprendizaje supervisado es semiautomático y consta de un conjunto de reglas de extracción en base a una colección de páginas, posteriormente emplea reglas para extraer información de otras páginas con formato similar. La extracción automática consta de patrones o gramáticas para la extracción de datos. Cada uno de estos enfoques brinda un proceso para lograr un análisis completo del contenido de una página Web, logrando una extracción de información eficiente, además de que cada uno requiere de un desarrollo e implementación de técnicas diferentes para lograr un análisis del contenido de una páginas Web. A continuación se abordan algunas técnicas de análisis de contenido Web para el procesamiento de la información. 2.1.1 Procesamiento de lenguaje natural En [Liddy, 2001] menciona que el Procesamiento del Lenguaje Natural (Natural Language Processing, NLP) es una teoría motivada de técnicas computacionales para el análisis y representación de textos de forma natural en uno o varios niveles de análisis lingüístico con el fin de lograr el desarrollo humano, como el procesamiento del lenguaje para una variedad de tareas o aplicaciones. 2.1.1.1 Análisis Morfológico En [Liddy, 2001] menciona que el análisis morfológico se ocupa de la naturaleza componencial de las palabras (sufijos, prefijos, raíces, flexiones), que se componen de morfemas: las más pequeñas unidades con un significado. Por ejemplo, “preinscripción” palabra puede ser morfológicamente analizada en tres morfemas independientes: el prefijo “pre”, el registro raíz, y el sufijo “ción”. Dado que el significado de cada morfema sigue siendo el mismo a través de las palabras, los seres humanos descomponen una palabra desconocida en sus morfemas constituyentes con el fin de entender su significado. Del mismo modo, un sistema de PLN puede reconocer el significado transmitido por cada morfema con el fin de obtener y representar el significado de una palabra. Por ejemplo, añadiendo el sufijo-ed a un verbo, transmite que la acción del verbo se llevó a cabo en el pasado. 2.1.1.2 Análisis Léxico En [Liddy, 2001] menciona que en el análisis léxico en seres humanos, así como los sistemas de NLP, interpretan el significado de las palabras de forma individual. Por lo tanto existen varios tipos de procesamiento que contribuyen a la comprensión de una palabra, donde la primera de ellas inicia con la asignación de una etiqueta a una palabra que forma parte de una oración. En este proceso, las palabras pueden funcionar como algo más que una parte de una oración a las cuales se les asigno una etiqueta basada en el contexto en el que están. Por ejemplo, las palabras que sólo tienen un sentido o significado, pueden ser sustituidas por una representación semántica de su significado. La naturaleza de la representación varía de acuerdo con la teoría semántica utilizada en un sistema PNL, por ejemplo en forma de predicados lógicos, donde una sola unidad léxica se descompone en sus
  19. 19. Capitulo 2.- Fundamento teórico Everardo Munguía Aguilar 7 | P á g i n a propiedades más básicas. Teniendo en cuenta que hay una serie de primitivas semánticas utilizadas en todas las palabras, estas representaciones léxicas simplificadas hacen posible unificar el significado a través de palabras y de producir interpretaciones complejas, logrando hacer lo que hacen los humanos. El análisis léxico puede requerir un lexicón (Conjunto de palabras y lexemas) y un enfoque particular de un NLP para determinar si un lexicón será usado, así como la naturaleza y extensión de la información que se codificará en un lexicón. 2.1.1.3 Análisis Sintáctico En [Liddy, 2001] menciona que el análisis sintáctico se enfoca en el análisis de las palabras en una oración con el fin de descubrir la estructura gramatical de la frase. Esto requiere de una gramática y un analizador. La salida de este nivel de procesamiento es una representación de una sentencia que revela las relaciones y dependencias estructurales entre palabras, por lo la sintaxis transmite un significado en la mayoría de los idiomas, con respecto al orden y la dependencia, que contribuyen al significado. 2.1.1.4 Análisis Semántico El Procesamiento semántico determina los posibles significados de una frase, centrándose en las interacciones entre los significados a nivel de palabra en la frase. Este nivel de procesamiento puede incluir la desambiguación semántica de palabras con múltiples sentidos, de manera análoga como la desambiguación sintáctica de las palabras que pueden funcionar como múltiples partes de su discurso llevado acabado en el nivel sintáctico. La desambiguación semántica permite uno y sólo un sentido en las palabras polisémicas para ser seleccionadas e incluidas en la representación semántica de una frase [Liddy, 2001]. 2.1.1.5 Análisis Pragmático Este nivel nos menciona [Liddy, 2001] que se refiere al uso útil del lenguaje en situaciones, utilizando el contexto más allá de los contenidos del texto para su comprensión. El objetivo es explicar cómo el significado adicional se lee en los textos sin llegar a ser codificado en ellos. Esto requiere de mucho más conocimiento del mundo, incluyendo la comprensión de las intenciones, planes y metas. Algunas aplicaciones de la PNL pueden utilizar bases de conocimiento y módulos de inferencia. Por ejemplo, las dos frases siguientes requieren la resolución de la expresión anafórica "ellos", pero esta resolución requiere un conocimiento pragmático o conocimiento del mundo.  Los concejales de la ciudad negaron un permiso a los manifestantes porque ellos temían a la violencia.  Los concejales de la ciudad negaron un permiso a los manifestantes porque ellos abogaban por la revolución. 2.1.2 Pre- procesamiento de texto Algunas tareas de pre-procesamiento se realizan para documentos con texto plano (sin estructura), como la eliminación de palabras vacías, lematización y la manipulación de dígitos, signos de puntuación y casos de caracteres poco peculiares. Muchas de estas técnicas también son utilizadas en páginas Web. Algunas de las tareas adicionales para el pre-procesamiento de páginas Web son la eliminación de etiquetas HTML y la identificación de los principales bloques de contenido.
  20. 20. Capitulo 2.- Fundamento teórico Everardo Munguía Aguilar 8 | P á g i n a 2.1.2.1 Eliminación de palabras vacías En [B. Liu et al. 2008] nos menciona que las palabras vacías denominadas “StopWords”, son las palabras insignificantes en un idioma que ayudan a construir oraciones, pero no presentan ningún contenido importante en un documento. Entre ellas se encuentran las preposiciones, conjunciones, pronombres, entre otras, por ejemplo algunas StopWords en el lenguaje español son: “uno, sobre, una, son, como, por, para, de, cómo, en, es decir, que, estos, esta, era, qué, cuándo, dónde, quién, que, con. Generalmente para el análisis de un documento, este tipo de palabras son eliminadas antes de realizar una tarea de procesamiento de lenguaje natural. 2.1.2.2 Lematización De acuerdo con [Blum et al. 2008], las palabras tienen diferentes formas sintácticas en función de los contextos que se utilizan y el idioma en el que están. Por ejemplo, en inglés los sustantivos tienen formas plurales, los verbos tienen formas de gerundio (agregando “ing”), y los verbos utilizados en pasado son diferentes que los del tiempo presente. Estos son considerados como las variaciones sintácticas de la raíz de una palabra. Este tipo de problema es tratado parcialmente con lematización, la cual se refiere al proceso de reducir las palabras a sus raíces. La palabra madre es el resultado de retirar los prefijos y sufijos de una palabra, por ejemplo, "camina", "caminando" y "caminó" se reducen a "caminar". Al usar la lematización, permite identificar las diferentes variaciones de una palabra al momento de realizar la reculeracion de información (Information Retrieval, IR). Existen varios algoritmos de Lematización también conocidos como “Stemming”, dentro de uno de los lematizadores más popular está el algoritmo stemming de Martin Porter [Porter 1980]. Blum [Blum et al. 2008] también afirma que muchos investigadores han evaluado al efecto del proceso de lematización concluyendo que aumenta el recuerdo y reduce el tamaño de la estructura de indexación, sin embargo puede perjudicar la precisión ya que puede considerar muchos documentos irrelevantes como relevantes. 2.1.3 Tratamiento de signos 2.1.3.1 Tratamiento de Cifras Se refiere a los números y términos que contienen dígitos, los cuales son retirados en la IR tradicional con acepción de algunos como fechas y horas. 2.1.3.2 Tratamiento de Guiones y marcas de puntuación Eliminar guiones, principalmente se aplica a las inconsistencias de su uso. Por ejemplo, algunas personas usan “estado-del-arte” y otros utilizan “estado del arte”. Como primer caso, se quitan los guiones, se elimina el problema de la inconsistencia de su uso. Sin embargo algunas palabras deben llevar un guion como parte fundamental de la palabra, por ejemplo, “R-12”. Por lo tanto el sistema debe seguir una regla general de eliminación de todos los guiones, pero con algunas excepciones. Como extraer el guion remplazándolo por un espacio vacío o quitándolo sin dejar algún espacio. La puntuación puede ser tratada de manera similar al tratamiento que se le da a los guiones.
  21. 21. Capitulo 2.- Fundamento teórico Everardo Munguía Aguilar 9 | P á g i n a 2.1.4 Pre-procesamiento de páginas Web En [B. Liu et al. 2008] nos menciona los puntos más importantes para el pre-procesamiento de páginas Web descritos a continuación:  Identificación de los diferentes campos de una página HTML como, el título, los metadatos, el cuerpo y otro tipo de elementos que complementan la página. Esta identificación le permite al sistema lograr una mejor recuperación de información para el tratamiento de los diferentes campos. Por ejemplo para un motor de búsqueda es más importante el título ya que generalmente es una descripción concisa de una página.  Identificación de anclaje asociado con un hipervínculo. A menudo un ancla representa una descripción más precisa de la información contenida en la página a la que apunta su enlace.  Eliminar o ignorar etiquetas HTML. Se trata de una forma similar a la eliminación de la puntuación, pero se debe ser cauteloso ya que la simple eliminación de una etiqueta HTML puede causar problemas al unirse texto que no debe hacerlo.  Identificación de bloques con contenidos principales. Una típica página Web, contiene diversos comerciales lo cual es información que no forma parte del contenido principal de la página. También puede contener barras de navegación, avisos de copyright, entre otros, los cuales pueden causar un mal resultado en la minería Web. Algunos bloques pueden ayudar a recuperar más rápido una dirección o un titulo 2.2 Extracción y recuperación de información En esta sección se abarca tanto la extracción de información como la recuperación de información explicando en qué consiste cada uno de estas técnicas, así como su función y como serán abordados. Entre la extracción y la recuperación de información existe una diferencia que surge al obtener información, el motivo es que al realizar la recuperación de información, esta funciona de forma muy general por ejemplo en el contexto de esta tesis el recuperar información se hace la selección de páginas de un sitio Web. Sin embargo una página puede contener mucha información, por lo cual se debe realizar una extracción de información, que consiste en identificar elementos específicos de una página web, por ejemplo un evento, acontecimiento importante o una fecha, mostrando el enfoque de cada técnica, donde a continuación se describe con más detalle. 2.2.1 Extracción de información También conocido como IE (Information Extraction) es utilizado por diferentes necesidades o motivos, en este caso se aborda la IE sobre páginas web o dicho de otra forma sobre documentos estructurados. De acuerdo con [Appelt 1999] el nivel más básico del texto es sólo una secuencia de caracteres en los que uno puede realizar búsquedas de cadenas, inserciones, supresiones y sustituciones sin siquiera ser conscientes de que los elementos representan artículos de periódicos o un programa de computadora, tablas de números, o algo más. En cambio un nivel superior es aquel que se encarga de integrar el conocimiento de texto real en lenguaje natural, por lo que IE se encuentra entre la recuperación de información y la comprensión del texto.
  22. 22. Capitulo 2.- Fundamento teórico Everardo Munguía Aguilar 10 | P á g i n a Por lo tanto la IE es la localización de porciones de texto que contenga información relevante para las necesidades concretas de un usuario, proporcionando dicha información de forma adecuada para su proceso manual o automático. Como se describe en [Appelt 1999], un sistema típico de extracción de información tiene fases de entrada como tokenización, procesamiento léxico y morfológico, análisis sintáctico básico y una combinación de constituyentes sintácticos básicos en patrones de dominio relevantes, dependiendo de los requisitos particulares de la aplicación. 2.2.2 Recuperación de información La recuperación de información, IR (Information Retrieval), determina cuales son las páginas de una colección que satisfacen una “necesidad de información” de un usuario; por lo que IR trata de la representación, almacenamiento, organización y acceso a la información presente en colección de documentos textuales. [Cimiano 2006] 2.2.3 Minería de texto La Minería de texto (del inglés, Text Mining), se define como el descubrimiento de nueva información mediante la extracción automática de información de diferentes fuentes [Hearst 2003]. Uno de los elementos clave es la vinculación de la información extraída para formar nuevos hechos o nuevas hipótesis, por lo tanto la minería de texto no es como una búsqueda en la Web, sino el descubrimiento de información desconocida y relevante. También Hearst afirma que la minería de texto es una variación de la minería de datos. La minería de texto maneja patrones dentro del lenguaje natural en tanto que la minería de datos hace uso de bases de datos estructuradas de los hechos. Debido a que en el análisis lingüístico no se cuenta con una metodología o sistema que permita entender el contexto en el que se encuentra un texto, ocasionando el no lograr tener un impacto futuro en un análisis lingüístico, recurriendo a técnicas como la minería de texto. 2.3 Ontología En [Hepp et al. 2007],se describe como los filósofos griegos Sócrates y Aristóteles fueron los primeros en desarrollar los fundamentos de la ontología. Sócrates introdujo la noción de las ideas abstractas, una jerarquía entre ellos y las relaciones de instancia de clase. Aristóteles añadió las asociaciones lógicas. Dando como resultado un modelo bien estructurado, que es capaz de describir el mundo real. Sin embargo, no es trivial para incluir todas las relaciones amplias y complejas de nuestro entorno. En la historia moderna, el termino ontología de acuerdo con [Gruber 1995], se define como “Una especificación de una conceptualización” donde una conceptualización es una visión abstracta y simplificada del mundo que queremos representar con algún propósito. Una conceptualización se refiere a un modelo abstracto de algún fenómeno en el mundo, identificando el concepto relevante de este fenómeno [Studer et al. 1998] .
  23. 23. Capitulo 2.- Fundamento teórico Everardo Munguía Aguilar 11 | P á g i n a 2.4 Poblado ontológico El poblado ontológico consiste en una actividad de adquisición de conocimiento que se basa en métodos semi-automáticos y/o automáticos no estructurados por ejemplo corpus, también en métodos semi- estructurados como folksonomías por ejemplo páginas html y fuentes datos estructurados como bases de datos[Cimiano 2006]. En esta sección se muestra un panorama general de las principales técnicas utilizadas para el poblado de una ontología, tomando en cuenta los enfoques más usados y orientados a esta tesis. 2.4.1 Poblado ontológico basado en patrones léxico-sintácticos En [Hearst, 1992] define patrones léxico-sintácticos para la obtención automática de relaciones entre hipónimos a partir de un corpus, también define algunos ejemplos de estos patrones y sugiere un procedimiento para su adquisición. Este procedimiento consiste en distinguir el hipónimo de alguna instancia, clasificándolo por el tipo de elemento o con uno muy parecido o relacionado a este por medio del nivel taxonómico al que pertenece dicho hipónimo en una ontología, posteriormente se validan los rasgos semánticos del elemento más general (hiperónimo), logrando una instancia en un contexto parecido o igual al de la instancia. 2.4.2 Poblado ontológico basado en clasificación por similitud Este tipo de clasificación se basa en similitud o enfoques basados en memoria[Cimiano 2006]. Por lo general se basan en la hipótesis de la distribución de Harris[Harris 1954], donde se sostiene que es posible definir una estructura lingüística sólo en términos de las "distribuciones" de sus elementos. El poblado ontológico basado en clasificación por similitud se encuentra relacionado con otros enfoques en los que se utiliza el contexto de una frase para eliminar la ambigüedad de su sentido [Yarowsky 1995][Schütze 1998] o para descubrir otros términos relacionados semánticamente [Hindle 1990]. Esta clasificación se usa para evitar la ambigüedad de una palabra, basándose principalmente en el contexto de la palabra para verificar si corresponde a la misma palabra de una ontología, de esta forma se evita un concepto repetitivo o con grandes similitudes semánticas, en base a su similitud. 2.4.3 Poblado ontológico basado en enfoques supervisados Este tipo de enfoques predice la categoría de una instancia determinada con un modelo inducido a partir de datos de entrenamiento, utilizando técnicas de aprendizaje maquina. Sin embargo la principal desventaja radica en que un enfoque supervisado requiere de muchos ejemplos de entrenamiento para que sea realmente efectivo. También existen los enfoques que funcionan como bootstrap (técnicas de arranque automatizado) utilizando un conjunto de semillas de entrenamiento para obtener más datos[Cimiano 2006]. El aprendizaje automático se basa en la suposición de que todos los documentos tienen una estructura similar. Dada la heterogeneidad de la Web actual, en muchos de los casos se opta por realizar un paso sin
  24. 24. Capitulo 2.- Fundamento teórico Everardo Munguía Aguilar 12 | P á g i n a supervisión y después utilizar los resultados de este para inducir nuevas reglas de extracción. Este tipo de enfoques es usado principalmente para saber a qué tipo de categoría pertenece una instancia. De esta forma verifica que no se trate del mismo concepto, facilitando el poblado en base al modelo por el cual es inducido. 2.4.4 Poblado ontológico basado en conocimiento y enfoques lingüísticos Algunos enfoques ven el poblado ontológico como un problema de desambiguación y por lo tanto como un subproducto de la comprensión del lenguaje natural. Por ejemplo, en una aproximación en la que, para cada entidad se desconoce el nombre, los espacios de hipótesis que contienen las diversas categorías ontológicas (las cuales pueden pertenecer a la ontología o de otra forma se crean), se descartan o se refinan iterativamente mientras el texto es analizado lingüísticamente. [Cimiano 2006] La principal desventaja de los enfoques basados en conocimiento y lingüística es que necesita una base de conocimientos relativamente compleja o un conjunto de herramientas muy precisas para el procesamiento lingüístico como POStaggers de dominio especifico, analizadores, etc. 2.4.5 Poblado ontológico basado en clasificación por similitud de nombres de entidades Este tipo de clasificación usa principalmente un corpus para lograr el poblado de una ontología, basándose en la clasificación de entidades con nombre. Este tipo de enfoque presenta un sistema sin supervisión basándose en el supuesto de que las palabras son semánticamente similares en la medida en que comparten contextos sintácticos. En esta clasificación se comienza el análisis mediante la comparación del contexto de una palabra en la ventana, así como las dependencias pseudo-sintácticas extraídas por medio de expresiones regulares definidas sobre las etiquetas que parten de la expresión. Se analiza el impacto de la similitud y las medidas de las diferentes funciones de ponderación [Lee 1999],entre ellas: el coseno y medidas de Jaccard, la norma LI así como Jensen Shannon y la inclinación de divergencias.
  25. 25. Capítulo 3. Estado del arte En este estado del arte se presentan distintos trabajos y herramientas enfocados a la extracción de información basado en ontologías (OBIE, Ontology-based information extraction) con el objetivo de caracterizar y complementar el estado del arte. Actualmente en internet se cuenta con mucha información, pero mucha de ella no es explotada, o no es verídica, por lo que es difícil manipular e identificar la información más importante y hacerlo de forma semiautomática o automática. Se presentan diversos trabajos relacionados con OBIE, que realizan una identificación de entidades nombradas (NE, Named entities), extracción de información (IE, information extraction) recuperación de información (IR, information retrieval) y principalmente un poblado ontológico, con el fin de obtener, proporcionar o recopilar la información más importante de una página Web. A continuación se presenta una recopilación de distintos trabajos de tipo OBIE con sus características y aspectos sobresalientes. Además de esta sección son presentados diversos trabajos analizados para el estudio del arte, y posteriormente en la Tabla 1 mostrando una comparativa de cada trabajo contra la metodología propuesta en esta tesis.
  26. 26. Capitulo 3.- Estado del arte Everardo Munguía Aguilar 14 | P á g i n a 3.1.1 KNOWITALL En [Oren Etzioni et al. 2005] y [O. Etzioni et al. 2004] se presenta el sistema KNOWITALL, su principal objetivo es la extracción de hechos utilizando un sistema no supervisado, independiente del dominio, de forma escalable y sin necesidad de ningún tipo de ejemplo de entrenamiento. Su arquitectura genera y prueba extractos de la información utilizando un conjunto de ocho patrones de IE independientes del dominio para generar hechos candidatos, aprovechando los actuales motores de búsqueda de la Web y utilizándola como un corpus masivo de texto para calcular las estadísticas de manera eficiente. Con base en estas estadísticas asocia una probabilidad con cada hecho que extrae, permitiéndole administrar automáticamente el equilibrio entre precisión y exhaustividad utilizando patrones de aprendizaje (PL, Pattern Learning). Las principales características detectadas en este sistema son las siguientes:  Extracción de hechos.  Sistema no supervisado.  No usa ejemplos de entrenamiento.  Utiliza 8 patrones para la extracción de información entre ellos (PL). El principal elemento de valor de esta herramienta para este trabajo de tesis es la extracción de información, principalmente la de un hecho, ya que obtiene fechas, nombres, entre otros tipos de información específica relevantes de un texto, acoplándose a la necesidad de extracción de información específica tanto de una organización como de una persona. Por otra parte, una característica relevante es que no usa ejemplos de entrenamiento disminuyendo el tiempo de desarrollo, al no tener la necesidad de entrenar el sistema, aportando un proceso alternativo para el desarrollo de la tesis. 3.1.2 Ontosophie: a semi-automatic system for ontology population from text El principal objetivo de Ontosophie [Celjuska & Vargas-Vera 2004] es el poblado semiautomático de ontologías creando instancias de clases a partir de texto no estructurado utilizando reglas de extracción de texto, aprendizaje máquina (ML, Machine Learning), tratamiento de lenguaje natural (NLP, Natural Language Processing) y análisis parcial del texto para reconocer las construcciones sintácticas. Por medio de estas técnicas, identifica valores importantes de entidades basándose en el aprendizaje supervisado. Ontosophie está compuesto de tres componentes fundamentales los cuales son Marmot, un procesador de lenguaje natural, Cristal, un diccionario de inducción y Badger, una herramienta de extracción de información. Mediante este conjunto de herramientas extrae las entidades competentes de un artículo y alimenta una instancia nueva de una ontología dada.Durante el proceso, existe una etapa donde el usuario debe intervenir aceptando o modificando extractos de información mediante la aplicación de una técnica llamada “poda”, la cual se basa en los parámetros de un umbral fijado por un usuario. Por lo tanto las principales características detectadas en el sistema Ontosophie son las siguientes:  Población semiautomática de ontologías  Procesa texto no estructurado  Aprendizaje supervisado  Aplicación o uso Conjunto de reglas de extracción  Análisis parcial del texto
  27. 27. Capitulo 3.- Estado del arte Everardo Munguía Aguilar 15 | P á g i n a  Se basa en IE, ML y NPL. El principal aporte de este sistema para el trabajo de tesis es el proceso de poblado semiautomático de ontologías aplicando IE entre otros tipos de NPL, el cual sirvió como guía para el proceso dedesarrollo de esta tesis. 3.1.3 WEB→ KB En [Craven et al. 1999]se presenta una herramienta llamada WEB→KB que tiene como objetivo crear automáticamente una base de conocimiento informático, reflejando la Web. WEB→KB realiza una extracción de información que cuenta con dos entradas: una ontología para crear la base de conocimientos y, como segunda entrada, un etiquetado de hipertexto que representa instancias de clases y relaciones. El sistema extrae información utilizando algoritmos de aprendizaje partiendo de una URL y explorando las páginas mediante una búsqueda, complementado su amplitud al seguir las ligas que contiene dicha página. Cada página se examina con la descripción de clases para verificar si es parte de una de las clases de la ontología. Por otra parte, entre las características relevantes de este sistema se encuentran las siguientes:  Poblado de ontología  Sistema entrenable de extracción de información  Etiquetado de hipertexto  Algoritmos de aprendizaje  Descripción de clases El elemento de valor para la tesis es el poblado de una ontología basándose en la Web para hacerlo. Además, se realiza un etiquetado de hipertexto mediante el cual se puede realizar la instanciación o poblado de una ontología, así como su sistema entrenable para la extracción de información. Una característica relevante en este trabajo es la descripción de las clases de la ontología para desambiguar la información que se analiza en una página Web, aportando un punto clave de mucha ayuda para encontrar los objetos de interés en la Web. 3.1.4 PANKOW En [Cimiano et al. 2004]se presenta una herramienta llamada PANKOW (Pattern-based Annotation through Knowledge on the Web) la cual emplea un enfoque sin supervisión basado en patrones para categorizar los casos con respecto a una ontología, utilizando la auto-anotación Web. Esta se basa en la frecuencia de ocurrencia de ciertos patrones en la Web para obtener anotaciones formales, como patrones lingüísticos, para identificar determinadas relaciones ontológicas. Esta herramienta hace uso de la lingüística para identificar las relaciones del concepto con la instancia del texto. También utiliza una heurística para obtener una mayor precisión de reconocimiento de candidatos, considerando el etiquetador POS(Part-Of- Speech).
  28. 28. Capitulo 3.- Estado del arte Everardo Munguía Aguilar 16 | P á g i n a El proceso que sigue PANKOW se observa en la Figura 1 Inicia al realizar un etiquetado de una página Web, identificar frases que sean candidatas para el poblado de la ontología, utilizando un conjunto de patrones para esta identificación, como “patrones de Hearst”. Estos patrones identifican una relación entre conceptos mencionados por dos términos en el texto. Posteriormente clasifica a un nombre propio candidato en una ontología utilizando la API de Google para obtener el número de visitas para cada una de las frases hipótesis reconocidas. Por consiguiente el sistema realiza una clasificación de los sustantivos candidatos, utilizando un “categorizador de frases sustantivas candidatas” anotando un fragmento de texto que describe un ejemplo de ese concepto, obteniendo una página Web ontológicamente anotada. Algunas de las características más sobresalientes y detectadas de PANKOW son las siguientes:  Enfoque sin supervisión.  Auto anotación Web.  Se basa en patrones (frecuencia de ocurrencias, lingüísticos, Hearst).  Expresiones regulares.  Utiliza heurísticas.  Categorizador de frases sustantivas.  Relaciones ontológicas. Los elementos relevantes para este trabajo de tesis son las relaciones ontológicas que realiza esta herramienta basándose en la Web, así como la autoanotación Web utilizando distintos métodos y herramientas utilizados como soporte para guiar la tesis en el proceso de IE. 3.1.5 Kim – semantic annotation platform El sistema KIM[Popov et al. 2003]ofrece servicio de anotación semántica, indexación y recuperación de información como se aprecia en la Figura 2. Su extracción de información es escalable y personalizable así como la anotación y administración de documentos. Maneja el tradicional nombrado de etiquetas (EN). En cuanto a las tecnologías, KIM utiliza el repositorio RDF de Sesame (S), GATE Framework (General Architecture for Text Engineering) para el procesamiento de IE y NL, un motor llamado Lucene IR el cual se ha adoptado para llevar a cabo la indexación y recuperación con respecto a entidades con nombre y evaluación de la relevancia de contenidos. La ontología utilizada se diseñó desde cero, manualmente y se compone de alrededor de 250 clases de entidad y 100 atributos y relaciones. Figura 1.- Proceso de PANKOW.
  29. 29. Capitulo 3.- Estado del arte Everardo Munguía Aguilar 17 | P á g i n a Figura 2.- Proceso de KIM. En el sistema KIM, se detectaron las siguientes características más importantes dentro de su proceso:  Anotación semántica  Extracción de información  Utiliza una ontología para realizar las anotaciones semánticas. Los elementos de mayor relevancia encontrados en este trabajo son las anotaciones semánticas basadas en una ontología, la extracción de información y el etiquetado ya que esos puntos se pretenden abordar en la tesis proporcionando una opción más del como poblar una ontología. 3.1.6 Optima: an ontology population system En [Hyung-Geun Park 2008] se presenta una herramienta llamada OPTIMA (Ontology Population Tool based on Information extraction and Matching). Es un sistema de poblado automático de ontologías a partir de textos no estructurados o semi-estructurados en la Web. ÓPTIMA realiza una IE utilizando técnicas de (ML, Machine Learning), (NLP, Natural Language Processing), minería de datos, etiquetando la posición del concepto como se puede ver en la Figura 3. Realiza un reconocimiento de nombres de entidades de un documento no estructurado o semi-estructurado obteniendo candidatos para ser insertados en la ontología como una instancia de un concepto optimo, además de que se centra en el idioma coreano. OPTIMA también permite intervenir en su proceso de poblado de la ontología, dejando a los usuarios elegir en cada paso de la búsqueda de la clase óptima, utilizando información sintáctica en la jerarquía de la ontología por lo cual no depende de una ontología especifica.
  30. 30. Capitulo 3.- Estado del arte Everardo Munguía Aguilar 18 | P á g i n a Figura 3.- Proceso de OPTIMA. En OPTIMA, se presentan las siguientes características más relevantes:  Poblado automático de ontologías.  Procesa texto no estructurado y semi-estructurado.  Realiza IE, PLN, ML minería de datos y reconocimiento de nombre de entidad.  No depende de una ontología específica. El principal elemento de valor para la tesis es el poblado automático de ontologías mediante la minería de datos y PLN , además del tratamiento de texto semi-estructurado, el cual se está considerando como el proceso más viable para la extracción y búsqueda de información específica, considerando importante el que OPTIMA no dependa de una ontología especifica. 3.1.7 Omini En [Buttler et al. 2001]se presenta una sistema llamado Omini, el cual analiza la estructura de árbol de una página Web de forma automática para la extracción de objetos de interés. Este sistema utiliza un algoritmo de normalización sintáctica, que transforma una página Web determinada en un documento Web bien formado, el cual se convertirá en una representación de árbol de etiquetas basado en la estructura anidada de inicio y finalización etiquetas. Posteriormente utiliza un conjunto de algoritmos de extracción de subárbol hasta llegar a la última rama la cual contiene todos los objetos de interés, reduciendo considerablemente el número de posibilidades de extracción del objeto, tomando en cuenta que descarta la publicidad. Después emplea un conjunto de algoritmos de extracción de objetos para encontrar la etiqueta que separa a los objetos correctos de una forma eficaz. La principal contribución de este trabajo es el aprendizaje automático de reglas para la extracción de subárbol mínimo y la identificación del límite del objeto de interés. A continuación se presentan las características más relevantes en el proceso de Omini:  Análisis de estructuras Web  Extracción de objetos de interés  Aprendizaje automático de reglas  Algoritmos de extracción de objetos de interés  Algoritmos de extracción de subárbol  Algoritmo de normalización sintáctica Los procesos relevantes identificados en Omini permiten recuperar objetos de interés analizando la estructura de un sitio Web, el cual aporta información valiosa para el proceso de extracción de información
  31. 31. Capitulo 3.- Estado del arte Everardo Munguía Aguilar 19 | P á g i n a de páginas Web ya que de esta forma se descarta información obsoleta para después realizar la extracción de información y posteriormente poblar la ontología, convirtiéndolo en el proceso más viable para la búsqueda de información en la Web. 3.1.8 Ontominer: bootstrapping and populating ontologies from domain specific Web sites En [Davalcu et al. 2003] presentan un sistema llamado OntoMiner, el cual implementa técnicas de arranque automatizado (bootstrapping) y poblado de ontologías de dominio especifico mediante la organización de la minería datos y el conjunto de sitios Web relevantes proporcionados por el usuario. El sistema inicia con una URL de algún sitio Web específico de dominio, posteriormente detecta y utiliza las regularidades HTML en documentos Web y las convierte en las estructuras jerárquicas de semántica codificada como XML utilizando un algoritmo de partición jerárquica el cual usa un árbol DOM. En el proceso utiliza un algoritmo de minería de árbol para extraer los casos de estos segmentos. Identifica los conceptos clave más importantes del dominio seleccionado dentro de los directorios de las páginas de inicio, posteriormente rastrea sub-conceptos de los conceptos clave, además de que puede identificar las regiones lógicas dentro de los documentos Web que contiene enlaces a páginas de ejemplo. También, realiza una separación de las “decoraciones humanas” en la página Web para mejorar la precisión, para posteriormente organizar las etiquetas de los conceptos junto con su jerarquía en los documentos XML. Entre las principales características de Ontominer se encuentran las siguientes:  Poblado de ontologías de dominio  Detecta y utiliza las regularidades HTML  Algoritmo de partición jerárquica  Convierte HTML en XML  Árbol DOM  Algoritmo de minería de árbol  Identificación de “decoraciones humanas” en una página HTML Este sistema proporciona un método muy eficiente para obtener objetos candidatos de una página Web implementando distintos algoritmos, con un enfoque similar al de esta tesis. 3.1.9 Comparativa de trabajos relacionados La comparativa es con intención de mostrar las diferencias y coincidencias del trabajo presentado en esta tesis en relación a los trabajos identificados en el estado del arte, en la Tabla 1 se muestra un cuadro comparativo donde se caracterizan los distintos aspectos de interés considerando los siguientes criterios de comparación: Procesamiento de texto: en este punto se especifica cuáles trabajos son los que procesan texto de alguna o varias de las siguientes categorías:  No estructurado: Se refiere al texto sin formato o estructura alguna, considerándolo como texto
  32. 32. Capitulo 3.- Estado del arte Everardo Munguía Aguilar 20 | P á g i n a plano.  Semi-estructurado: Se refiere al texto con una estructura definida, por ejemplo: HTML.  Estructurado: Se refiere al texto con una estructura definida y obligatoria, por ejemplo: XML. Poblado de ontología: en este punto se identifica qué tipo de poblado ontológico realiza cada trabajo. Por lo tanto, en caso de que se haga poblado se especifica qué tipo de acción se realiza con la ontología, los principales casos son:  Automático: se refiere a que el proceso de poblado de la ontología se realiza automáticamente sin que el usuario intervenga en dicho proceso.  Semi-automático: se refiere a que en el proceso de poblado de la ontología, el usuario debe intervenir en diferentes pasos para realizar el poblado.  Manual: se refiere a que el proceso de poblado de la ontología es totalmente manual, sin que una máquina intervenga en dicho proceso. Análisis de páginas Web: En este punto se determina si una herramienta o sistema analiza el contenido y/o la estructura de una página Web. Extracción de información: cualquier tipo de extracción de información que mencione la herramienta o sistema. Idioma: el idioma para el cual fue desarrollado. Otros: en esta sección se exponen características adicionales y particulares a cada trabajo que son relevantes para este trabajo de tesis. .
  33. 33. Capitulo 3.- Estado del arte Everardo Munguía Aguilar 21 | P á g i n a Trabajo Poblado de ontologías Análisis de páginas Web Procesamiento de texto Extracción de información Idioma Otros KNOWITALL [Oren Etzioni et al. 2005] No menciona Contenido Texto semi- estructurado 8 patrones de Extracción de información Inglés Sistema no supervisado No usa ejemplos de entrenamiento Ontosophie [M. Vargas-Vera & D. Celjuska 2004] Población semiautomática Contenido Texto no estructurado(NLP) Conjunto de reglas de extracción Inglés Aprendizaje supervisado Análisis Parcial ML WEB→KB [Craven et al. 1999] Poblado de ontología Contenido Texto semi- estructurado, Sistema de extracción de información supervisado Inglés Algoritmos de aprendizaje Descripción de clases de la ontología Etiquetado de hipertexto PANKOW [Cimiano et al. 2004] Relaciones ontológicas Contenido Texto semi- estructurado Se basa en patrones Inglés Enfoque sin supervisión Expresiones regulares Utiliza heurística Auto anotación Web KIM [Popov et al. 2003] Utiliza una ontología Contenido Texto semi- estructurado Si Inglés Anotación semántica OPTIMA [Hyung-Geun Park 2008] Poblado automático de ontologías Contenido Procesa texto no estructurado y semi- estructurado Minería de datos, PLN, ML, Reconocimiento de nombre de entidad Coreano No depende de una ontología específica Omini [Buttler et al. 2001] No menciona Estructura y contenido Texto semi- estructurado Algoritmos de extracción Inglés Aprendizaje automático de reglas OntoMiner [Davalcu et al. 2003] Poblado de ontologías Estructura y contenido Texto semi- estructurado Algoritmo de minería de árbol Inglés Detecta y utiliza las regularidades HTML Árbol DOM RExPO Poblado de ontologías Estructura y contenido Texto semi- estructurado API Jericho para la IE Patrones de estructura Web Técnicas de minería de texto Español Autómatas Etiquetado del texto TDB Poblado ontológico con similitud de cadenas Bolsa de palabras Encriptado de instancias Tabla 1.- Cuadro comparativo de trabajos del estado del arte.
  34. 34. Capitulo 3.- Estado del arte Everardo Munguía Aguilar 22 | P á g i n a 3.2 Conclusiones Los distintos trabajos que se presentaron en este capítulo tienen una semejanza entre ellos, ya sea en el objetivo que desean alcanzar o en el proceso de desarrollo que realizan. El objetivo principal de los trabajos presentados es el poblado de una ontología. En los diferentes trabajos que se estudiaron, se encontraron casos donde manejan la estructura de un sitio Web [Buttler et al. 2001; Davalcu et al. 2003]. Estos trabajos proporcionan métodos muy eficientes para obtener objetos candidatos de una página Web los cuales fueron la inspiración para dar solución a la extracción de información de esta tesis. También existen trabajos que usan otro tipo de tratamiento de páginas, utilizando patrones para reconocer información de un dominio en especifico y utilizando enfoques no supervisados como[Oren Etzioni et al. 2005; Cimiano et al. 2004]. Existen algunos trabajos que usan enfoques supervisados como [M. Vargas- Vera & D. Celjuska 2004], el cual utiliza reglas para la extracción de información. Existen aquellos que no realizan un poblado de una ontología, sólo la usan para hacer un etiquetado de una página Web como (Popov et al. 2003) o aquellos sistemas que son supervisado como [Craven et al. 1999] o independiente de una ontología, permitiéndole una buena portabilidad. Durante el análisis de los trabajos presentados se mostraron distintos aspectos relevantes como el análisis de una estructura Web, las distintas herramientas, API’s, algoritmos, los diferentes métodos para poblar una ontología y los distintos tratamientos que se aplican a una página Web, tomando en cuenta cada uno de estos aspectos para decidir e implementar los que mejor se acoplaron al desarrollo de esta tesis.
  35. 35. Capítulo 4. Metodología de solución En este capítulo, se presenta la metodología empleada, la cual está compuesta por tres etapas principales, recuperación información, extracción de información y poblado ontológico.
  36. 36. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 24 | P á g i n a 4.1 Introducción La metodología de solución propuesta en este apartado se compone de tres fases principales: recuperación de información, extracción de información y poblado ontológico. En ellas se realizan técnicas de exploración, filtrado y pre-procesamiento de sitio, tokenización de texto, etiquetado de la información, similitud y encriptado de los datos, con el fin de poblar una ontología con base en un sitio Web (ver Figura 4). Además de las técnicas mencionadas también se utilizan API’s facilitando tareas como el etiquetado, similitud de palabras y exploración del sitio Web, aplicándolas durante el proceso y ejecución de la herramienta. La primera etapa, denominada recuperación de información, realiza un recorrido del sitio Web. Esta etapa se encarga de recuperar la información conforme recorre el sitio, además lleva un historial de los enlaces que visita para evitar caer en un recorrido interminable. La segunda etapa denominada extracción de información, no sólo se encarga de extraer la información, también se encarga de relacionar dicha información al construir un árbol de los elementos extraídos relacionados entre sí y con un orden jerárquico, para generar la salida adecuada para la tercer etapa denominada poblado ontológico, la cual se encarga de llevar el control de los elementos que se instancian, para un poblado no sólo exitoso, si no efectivo. Figura 4.- Las 3 etapas principales de la metodología. Una vez que se cumplen dichas etapas se obtiene como resultado una ontología poblada a partir de un sitio Web de un dominio específico, poblado los siguientes elementos: nombres propios, correos, nombre de organización, redes sociales, publicaciones, ubicación (dirección), teléfonos y nombre de departamentos.
  37. 37. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 25 | P á g i n a 4.2 Fase 1. Recuperación de información La recuperación de información es necesaria para lograr un poblado ontológico efectivo, por lo que se recorre el sitio, iniciando por tomar cada página de un sitio Web, recorrerla, realizar un índice de los enlaces nuevos y visitados, extraer la información, filtrar los enlaces y almacenar la información obtenida, como se puede ver en la Figura 5. En este proceso se debe tener en consideración que los sitios Web tienen una estructura y están compuestos por diferentes lenguajes de programación, por lo que es preciso tener presente los lenguajes que se abordarán o los más factibles y con base en esto, identificar una estructura uniforme en la mayoría de los sitios. Por ejemplo, en páginas de gobierno manejan una estructura Web similar la cual ayuda facilitar el recorrido o evitar ciclos recursivos o tediosos. Por lo tanto los principales procesos de esta fase son el recorrido del sitio, filtrado y selección de páginas Web y el pre-procesamiento de páginas Web, los cuales son detallados en las subsecciones siguientes. Figura 5.- Fase 1- Recuperación de información. Esta fase pretende obtener toda la información posible y/o disponible de un sitio Web, al filtrar todo tipo de elementos y objetos diferentes de información, y para obtener como resultado un conjunto de información en texto plano o dicho de otra forma sin formato, de esta forma se obtiene la base para una buena extracción de información.
  38. 38. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 26 | P á g i n a En la Figura 6 se puede apreciar el proceso que sigue la primera fase denominada recuperación de información del sitio Web. Los números uno y dos representan las etapas contenidas en la exploración del sitio; tres y cuatro pertenecen al filtrado y selección de páginas web; y cinco y seis se abordan en el pre- procesamiento de páginas web. Figura 6.- Proceso de IR. 4.2.1 Exploración del sitio Web La recuperación de información es el proceso vital de la primera fase, la cual inicia con la exploración del sitio. El primer parámetro de entrada de este proceso es la página inicial del sitio que se analiza, tomado de un catálogo de sitios web de domino IES y TIC, donde se aprecian en el Anexo 2. El método de exploración del sitio proporciona el enlace a su principal recurso que es un analizador HTML, el cual se encarga del manejo tanto de las diversas páginas contenidas en el sitio como de su contenido, para proporcionar la página y su estructura requeridas para devolverlas al método de exploración del sitio. Por lo tanto, el método de exploración proporciona los enlaces a partir de un control de los contenidos de la página Web. Utilizando el analizador HTML se obtiene cada uno de los enlaces con su etiqueta correspondiente a los contenidos en cada una de las páginas del sitio. La forma en que el método de exploración del sitio lleva el control de todo los enlaces son con respecto a el orden de adquisición de los mismos, llevando un control de repetición de enlaces con base en una lista de todos aquellos obtenidos hasta el momento, completando su recorrido hasta explorar por completo el sitio Web como se aprecia en la Figura 7. Para la exploración del sitio, no sólo es necesario llevar el control de los enlaces si no que también hay que considerar que algunas páginas proporcionan los enlaces con su ruta relativa, por lo que es necesario complementarlos hasta obtener su ruta absoluta para su posterior análisis. Además del complemento de los enlaces, también se abordan diferentes lenguajes de programación orientados a la Web para el recorrido de cada elemento estructural que contenga la página. Con base en estos criterios se logra explorar todo el sitio Web y obtener una lista de todos los enlaces que contiene, resultando una base para el filtrado y selección de páginas que se aborda en el segundo método de la fase 1.
  39. 39. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 27 | P á g i n a Figura 7.- Proceso de exploración del sitio. 4.2.2 Filtrado y selección de páginas Web El filtrado y selección de páginas Web inicia tras obtener una lista de enlaces con los que realizan diversos procesos para la selección y filtrado de cada una de las páginas, donde el primer filtrado es opcional porque está compuesto por dos sub procesos, donde el primero se encarga de analizar todas las páginas del sitio sin usar ningún filtro y posteriormente elige páginas candidatas. Sin embargo el segundo proceso se encarga de usar un bolsa de palabras (ver anexo 2) conformada por diferentes elementos con respecto a lo que se desea buscar, el cual realizan tres diferentes filtrados con lo que decide que página debe ser elegida como candidata. Una página candidata es aquella que se considera pertinente a analizar y para obtener su información. Para su elección se toma en cuenta que puede ser con filtrado o sin él. La elección puede influir mucho en esta etapa, ya sea para realizar un recuperación de información de una forma rápida o de una forma más precisa. Este factor se usa dependiendo del criterio para recuperar la información, porque tanto puede afectar la velocidad con la que se recupera la información, como su calidad. El motivo por el que se deja a elección es por la necesidad con la que se cuente, ya que para este caso, se uso sólo una selección de páginas sin filtrado por motivo de que algunos sitios cuentan con una gran cantidad de páginas, tomando mucho tiempo el filtrado y la selección, lo cual redujo el tiempo pero se incrementó la cantidad de información repetida. Los filtros usados para la elección de cada página candidata consisten en tres procesos de filtrado en cascada. El primero se encarga del análisis de la etiqueta que tiene el enlace, comparándolo con cada elemento de la bolsa de palabras y validando si se encuentra algún elemento similar o igual. De lo contrario si no cuenta con una etiqueta HTML o no se encontró una similitud con algún elemento de la bolsa de palabras, el primer filtro delega el enlace al segundo filtro. El segundo filtro se encarga de procesar la cadena que corresponde al enlace, separando el enlace en palabras, formando un estilo de tokenizado para posteriormente realizar una comparativa de cada uno de los elementos correspondientes a algún elemento de la bolsa de palabras. Si no es encontrada ninguna coincidencia, el enlace es delegado al tercer filtro. Éste es el encargado de visitar el enlace de forma simple para obtener el título del enlace a partir de la etiqueta(<title>) de la página por medio del analizador HTML, por lo que se prosigue con la recuperación del título de la página, el cual es procesado de igual forma que el segundo filtro, realizando un análisis para validar si el titulo contiene alguna palabra relacionada con la bolsa de palabras. Una vez que son aplicados los filtros o no, se realiza la selección de páginas que consiste en verificar si el enlace que se analiza es erróneo o no está disponible, validando su acceso con las excepciones que maneja el lenguaje en el cual fue desarrollada la herramienta [Java 2011]. Esta selección no sólo valida este tipo de enlace si no que también verifica que el enlace no salga del dominio del sitio, haciendo una comparación de la raíz del enlace actual, con la raíz del enlace que se ingreso como primera instancia, de esta forma valida que el enlace sea viable. También valida enlaces que apuntan a un archivo, ya sea un documento o contenido multimedia (video, imagen, PDF, entre otro tipo de elementos). Por lo tanto, si los tres filtrados
  40. 40. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 28 | P á g i n a fracasan en caso de haberlos usado, es considerado como una página no candidata, descartándola de la lista de enlaces a visitar y quedando sólo aquellas páginas que se seleccionaron. Al realizar el filtrado y selección de páginas de un sitio Web, el resultado puede presentar un sinfín de información repetida, ya que en la mayoría de los sitios repiten muchas veces sus encabezados o la información que contienen en el pie de página Ej. (Una dirección o un lema). Esta información estaría repitiéndose por el número de páginas que contenga el sitio, a pesar de que no se visita el mismo enlace. Este método no evita esta repetición de información, por lo que toda la información repetida es tratada al momento de hacer la IE y el poblado ontológico. 4.2.3 Pre-procesamiento de páginas Web El tercer y último método de la fase “recuperación de información”, es el pre-procesamiento de páginas Web, este método inicia tras obtener una lista candidata de enlaces a analizar. Cada uno de esos enlaces es tomado por el método de pre-procesamiento de páginas Web y enviado al analizador HTML para la obtención del texto, la estructura HTML y cualquier elemento que contenga la página Web, regresando toda esta información al método de pre-procesamiento de páginas. Este método se encarga de hacer un recorrido de toda la página, obteniendo los siguientes elementos: texto plano, título de la página y las palabras clave de la página. Estos son almacenados de forma temporal en memoria, donde se concatena todo el texto obtenido como un sólo elemento, separado por el enlace de donde se obtuvo. El resto de los elementos se adjunta a la información del texto extraído conforme se van adquiriendo. Este proceso se pude apreciar en la Figura 8, el cual es realizado para cada una de las páginas del sitio Web, con la limitante de que el analizador HTML pueda analizar el lenguaje de programación que contiene la página Web para que posteriormente sea procesada. Cabe mencionar que la estructura HTML de cualquier página Web facilita obtención del texto. Sin embargo los scripts dificultan esta tarea por lo que no se consideraron para esta tesis. El resultado del método de pre-procesamiento de páginas Web, es un conjunto de texto plano, ordenado por la secuencia en la que se visitaron las páginas y separados por su enlace, pasando a la segunda fase de la metodología, denominada extracción de información.
  41. 41. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 29 | P á g i n a Figura 8.- Pre-procesamiento de páginas Web. 4.3 Fase 2. Extracción de información Esta fase no sólo extrae información, si no que lleva a cabo la ejecución de un conjunto de métodos para completar su objetivo. El proceso que sigue esta metodología consiste en una tokenización del texto obtenido en la fase de recuperación de información, posteriormente un etiquetado del texto, luego un análisis lingüístico con base en las etiquetas obtenidas y por último la formación de un árbol de elementos relacionados. El objetivo de esta base es la extracción de información relevante con la finalidad de obtener elementos ontológicos. El proceso general de esta fase se puede apreciar en la Figura 9. Figura 9.- Fase 2 - Extracción de información. Cada uno de los métodos que conforman la fase dos de esta metodología, son descritos a continuación presentando con más detalle cada etapa de este proceso para lograr su objetivo, el cual no sólo es la extracción de información, sino la agrupación de los elementos relacionados encontrados en el texto, para facilitar el posterior poblado ontológico.
  42. 42. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 30 | P á g i n a 4.3.1 Tokenización de texto Esta fase recibe el texto procesado y realiza la depuración y tratamiento del mismo, como se puede apreciar en la Tabla 2, donde se muestran algunos ejemplos del depurado que se le da al texto. La depuración, del texto abarca la eliminación de signos de puntuación, símbolos como diagonales, paréntesis, guiones que estén separados de alguna palabra, guiones bajos, dejando prácticamente sólo caracteres alfanuméricos como números 0-9; y letras de la A-Z, con algunas excepciones como en el ejemplo tres de la Tabla 2, donde se omite el guión, por la simple razón de que no se pierda el contexto de la palabra o su significado, por lo que complica la tokenización del texto, ya que es difícil saber si es necesario que se deje ese carácter o sea eliminado, por lo que, el criterio para esta decisión es saber el tipo de elemento que se desean extraer, teniendo algunos parámetros referentes de acuerdo a dicho elemento, para prevenir su depuración, donde uno de los principales casos son, teléfonos. Una vez que el texto es depurado, está listo para ser tokenizado donde se separan las palabras considerando un espacio en blanco, una vuelta de carro o un salto de línea. Este proceso recorre todo el texto depurado e identifica cada elemento como un token y los almacena en memoria para su posterior procesamiento en la fase de etiquetado del texto. Depuración del texto No Texto encontrado Texto depurado 1 Recuperación_de_información de un sitio Web Recuperación de información de un sitio Web 2 El archivo (entrega.doc) se canceló El archivo entrega . doc se canceló 3 Se obtendrá el formato_R-8 Se obtendrá el formato R-8 4 El Centro, naturalmente, participa de esta valiosa sinergia. El Centro naturalmente , participa de esta valiosa sinergia . 5 Por lo tanto la etiqueta <title> Por lo tanto la etiqueta title 6 Los elementos como: raíz, nodo e hijo. Los elementos como raíz nodo e hijo . 7 El boleto cuesta en este momento $110.00 pesos. Las salidas son aproximadamente cada 30-40 minutos. El boleto cuesta en este momento 110 . 00 pesos Las salidas son aproximadamente cada 30 40 minutos . 9 En programación el símbolo | significa: En programación el simbolo significa : 10 La dirección es: pruebaspru.txt La direccion es pruebas pru . txt Tabla 2.- Ejemplos de tokenización de texto. En la Tabla 2 se presentan diversos casos muy que muestran la depuración de cadenas con diversos caracteres, signos de puntuación, donde en el caso tres se depura el “_” pero no el “-” ya que se tiene en cuenta que en algunos casos es necesario dejar un elemento en lugar de eliminarlo.
  43. 43. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 31 | P á g i n a 4.3.2 Etiquetado del texto El etiquetado del texto esta posicionado como el segundo método de la fase de extracción de información, donde su objetivo principal es marcar las palabras con su categoría gramatical. Con base en la capacidad del etiquetador gramatical se realiza un etiquetado completo de todo el texto, tomando en cuenta que el resultado dependerá de la calidad de la tokenización del texto. Al final de este proceso se obtienen la lista de las etiquetas correspondientes a la lista de las palabras, como se puede apreciar en la Figura 10. Este etiquetado es muy importante, ya que será la base para la fase de análisis lingüístico. Figura 10.- Proceso para el etiquetado del texto. 4.3.3 Análisis lingüístico El método de análisis lingüístico es el tercer método de la segunda fase de la metodología propuesta, el cual es el elemento principal para realizar la extracción de información. El principal objetivo de este método es identificar los elementos pertinentes a partir de los textos etiquetados y clases ontológicas. La principal tarea del análisis lingüístico está compuesta por un proceso denominado “escáner”. Este proceso se encarga de la pre-identificación de los elementos pertinentes en el texto, para posteriormente verificar si el elemento es pertinente haciendo uso de autómatas y patrones estructurales del sitio Web. Con base a la palabra y su categoría. El escáner decide si se deben emplear los autómatas, patrones estructurales o ambos, llevando el control del elemento que se analiza y la forma en que será analizado. El escáner no sólo se encarga de repartir y decidir que palabra será analizado, sino que también decide cuando un elemento es pertinente con base en la decisión de las herramientas que usa, ya que si se decide que es un elemento pertinente, este será almacenado y enviado a el método llamado árbol de elementos relacionados abordado en la sección 4.3.4, de lo contrario será ignorado y el proceso escáner continuara con el siguiente elemento en la lista de palabras. Los autómatas, se encargan de la identificación de elementos como: nombres propios, teléfonos, correos electrónicos, departamentos o áreas, organizaciones y redes sociales. Cada elementos es pre-procesado por el escáner, identificando rasgos o basándose en su etiqueta gramatical, por ejemplo: Tel, @, etiqueta NP, o la palabra “departamento”. Considerando algún rasgo, el escáner verificar mandando un palabra al autómata correspondiente. El autómata se encarga de validar la palabra, verificando su estructura morfosintáctica y decidiendo si se trata del elemento válido, ver anexo uno. Este proceso permite emplear un número (n) de autómatas, por lo que se podrían identificar una cantidad (n)
  44. 44. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 32 | P á g i n a de elementos en el texto o identificar variaciones de algún elemento. Por ejemplo, si en un futuro es modificara la estructura de una cuenta de correo se podrá crear un autómata para esta variación, permitiéndole adaptarse y seguir evolucionando. Los patrones estructurales, también realizó una función similar a la de los autómatas, sólo que ésta no realiza un análisis tan específico. Se basa en la estructura del sitio Web, para lo que se necesita hacer un análisis posterior del tipo de páginas que se abordarían y con base en ese análisis reconocer que tipo de patrones se repiten en la mayoría de las páginas. Los patrones estructurales abordan la identificación de: direcciones y publicaciones. En el caso de las direcciones, la mayoría de las páginas de dominio de las TICs utilizan el pie de página para colocar su dirección, con base en esto, los patrones estructurales saben dónde analizar específicamente la información dentro de la página y cómo es presentada. Con base en estos criterios, los patrones estructurales realzan la identificación basándose en las etiquetas HTML del sitio Web y teniendo como referencia el enlace que viene con el contenido dentro del texto plano que se analiza. No sólo basta la estructura del sitio para identificar el elemento, si no que deben ser analizados los datos que componen a ese elemento. Por ejemplo si se trata de una dirección se busca la sección en la página Web donde comúnmente aparece. Se toma la cadena y se analiza, comprobando las siguientes cadenas: direccion, Dir, domicilio, colonia, col, c.p., postal, #, No., Av., avenida, interior, delegación, fraccionamiento, manzana lote, esq., zona, blvd., locales, local, calle, cd, bulevar. Con las cadenas anteriores se hace una comparación, dónde por lo menos tres cadenas deben coincidir con el texto para decidir que lo que se analizó es una dirección. La identificación de publicaciones se lleva a cabo de la misma forma para las direcciones, ya que por las diversas variaciones en las que son encontrados en el texto, se debe usar un conjunto de cadenas como: isbn, publicación, issn, publicaciones, No., Vol., p.p., para determinar que se trata de una publicación. Una vez que se ha recorrido toda la lista de elementos, el escáner ya cuenta con un conjunto de elementos candidatos, por lo que pasa este conjunto de elementos al árbol de elementos relacionados para su posterior análisis. Todos los factores y procesos mencionados se pueden apreciar en la Figura 11. Figura 11.- Proceso para la identificación de elementos pertinentes.
  45. 45. Capitulo 4.- Metodología de solución Everardo Munguía Aguilar 33 | P á g i n a 4.3.4 Árbol de elementos relacionados El último método de esta fase es denominado árbol de elementos relacionados, ya que su objetivo es relacionar los objetos extraídos por los tres métodos anteriores por medio de un árbol, a partir de su nivel jerárquico. Esto lo hace mediante el orden en el que escáner va identificando los diversos elementos en el texto plano. Conforme identifica un elemento, el método de árbol busca un nivel jerárquico a partir del tipo de elemento identificado. La forma en que el método de árbol identifica el nivel jerárquico de cada elemento es a partir de la definición cada elemento a relacionar, Ej. (Una persona “z” tiene un correo “x” y pertenece a una empresa “y”). Por lo tanto “y” se toma como un nivel jerárquico superior a “z” y a su vez “z” es una nivel superior al de “x”, con base en estos criterios se deciden rangos por razones de relación de información con base en “la pertenencia de los elementos”, como se puede apreciar en la Figura 12. Figura 12.- Jerarquía de elementos. Una vez que los elementos son relacionados y categorizados jerárquicamente, estos están listos para ser procesados e instanciados en la ontología, por medio de la fase de poblado ontológico. 4.4 Fase 3. Poblado ontológico En la tercera y última fase de la metodología, son abordados tres métodos denominados: similitud de objetos recuperados, encriptado e instanciación, ver Figura 13. Cada uno de estos métodos cumplen con una función para que esta fase realice su principal objetivo: el poblado ontológico a partir de un árbol de elementos relacionados y ordenados jerárquicamente. Figura 13.- Fase 3 – Poblado ontológico.

×