Post on 05-Jul-2020
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
I
II
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.
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!
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.
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.
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
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
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
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
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
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.
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.
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.
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.
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.
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
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.
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.
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.
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] .
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
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.
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.
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
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).
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.
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.
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
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
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.
.
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.
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.
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.
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.
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.
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.
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
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.
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.
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: \\pruebas\pru.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.
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)
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.
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.
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 34 | P á g i n a
El poblado ontológico compuesto por tres métodos, inicia con el análisis del árbol de elementos para
conformar tripletas. Las tripletas se conforman de acuerdo a la jerarquía y la relación, iniciando con el padre
del árbol, y tomando a uno de sus hijos. Estos dos elementos se analizan para definir el tipo de elemento y su
relación, con respecto a las relaciones de la ontología. Este proceso se hace con cada elemento del árbol hasta
llegar al último hijo, como se puede ver en la Figura 14.
Figura 14.- Formación de tripletas.
El árbol jerárquico se recorre para ir formando tripletas de forma “elemento relación elemento” e “x
instancia elemento”, estas se validan para evitar su instanciación redundante. Se define un elemento universal
para cada instancia, el cual abarcará todas las variaciones del objeto como del predicado utilizando el cálculo
de la similitud de los objetos recuperados descrito en 4.4.1. Este proceso se realiza tanto para el predicado de
la tripleta como para el objeto.
Cuando se desea instanciar una tripleta y uno de los elementos ya esta instanciado, el elemento nuevo
es remplazado por el ya existente, complementando la información de la tripleta existente con la información
de la tripleta nueva, como se puede ver en a Figura 15.
Figura 15.- Instanciación de tripletas.
Una vez verificada la posibilidad de la creación de una nueva instancia, se debe realizar el
encriptado del elemento que se instanciará (sujeto u objeto de la tripleta candidata) el cual se aborda en 4.4.2.
El encriptado se realiza por dos razones, la primera para tener un identificador único de ese elemento
instanciado y la otra, si se encuentra dicho elemento en otra página o se llega a actualizar la página se pueda
complementar ese elemento en un segundo análisis de esta página. El cálculo de la similitud y el encriptado
de los elementos influyen positivamente la calidad de instanciación abordado en 4.4.3, evitando la
redundancia en las instancias.
Los tres subprocesos mencionados anteriormente trabajan en conjunto para lograr un poblado
exitoso, como se puede ver en la Figura 16. Estos procesos forman las tripletas, determinan el tipo de relación
y el tipo de instancia, ya sea de objeto o de atributo. Posteriormente, cada una de estas relaciones pasa por un
proceso en el que se realiza un cálculo de la similitud de textos para no instanciar dos elementos iguales aún
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 35 | P á g i n a
cuando estén escritos de forma diferente. Después se realiza un encriptado de la tripleta, para ser instanciado
en la ontología y posteriormente relacionado con otras instancias.
Figura 16.- Proceso para el poblado ontológico.
4.4.1 Similitud de objetos recuperados
La similitud entre objetos se hace por dos razones, una es para saber que tan similares son dos
elementos y la segunda es para tener un elemento universal que represente las variaciones de ese mismo
elemento. Por ejemplo en las cadenas, en donde se tiene la misma persona pero el segundo nombre esta
abreviado se debe realizar un cálculo de la similitud entre los dos nombres para saber si se trata de la misma
instancia. Por lo tanto, suponiendo que la primera instancia que se creó en la ontología sea (“Dr. Luis M.”), se
tomará como referencia y sustituirá para todas las demás ocurrencias y variaciones del nombre de esa persona
creando una alias de esa persona. De esta, forma se tendrá homogeneidad al instanciar las diferentes
variaciones de un elemento, mejorando la calidad del poblado ontológico.
4.4.2 Encriptado
La fase tres necesita la tarea de encriptado antes de instanciar los elementos, con el objeto de obtener
un identificador único, el cual funciona con base en un algoritmo que nos permite encriptar cadenas de texto.
Este trabajo inicia al recibir una cadena de caracteres y devuelve otra cadena con los caracteres combinados e
irrepetibles. De esta forma, se tiene un identificador único de ese elemento en la ontología, con la finalidad de
evitar la redundancia en las instancias y favorecer el complemento de las ya existentes, por ejemplo: cuando
se identifique un mismo elemento en diversas páginas, este se irá complementando ya que se tratará de la
misma instancia identificado por su dato encriptado, en lugar de realizar una nueva instancia.
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 36 | P á g i n a
4.4.3 Instanciación
La instanciación se realiza con base en la conformación de tripletas que se van creando durante la
fase tres. Una vez que se logra formar una tripleta, esta se procesa calculando su similitud, realizando su
encriptado y posteriormente la instanciación del predicado y/o el objeto.
Al realizar la instanciación es necesario comprobar la similitud y haber hecho el encriptado, para
cerciorar que la tripleta es candidata, para buscar la clase, el atributo y el tipo de atributo necesario para
realizar la instanciación. Una vez que son instanciados todos los predicados y/o objetos de las tripletas
candidatas, se hace la relación entre cada uno. El objetivo de este proceso es evitar caer en la confusión de
relacionar un elemento que aún no existe, fallando en algunas relaciones o relacionándolas mal.
4.5 Análisis y diseño de RExPO
Para probar la metodología propuesta se creó una herramienta denominada RExPO (Recuperación y
Extracción de información para el Poblado Ontológico), donde se muestra su estructura, las API’s utilizadas,
su funcionamiento, los principales problemas y el prototipo diseñado. En esta sección se explica el
funcionamiento de la herramienta creada.
Cada módulo se implementó y uso en java con una versión JDK 6 y NetBeans IDE 6.9.1, sobre
páginas Web y textos planos, las API’s, autómatas y técnicas que se usaron, son mencionadas en el Anexo 1.
Herramientas utilizadas, para la implementación de RExPO.
En la Figura 17 se puede apreciar el funcionamiento completo de la herramienta, compuesto por sus
tres fases principales, que forman el esqueleto de la metodología para lograr el poblado ontológico. A
continuación se mencionan las herramientas que se usaron en la implementación de RExPO y por último su
funcionamiento en conjunto.
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 37 | P á g i n a
Figura 17.- Arquitectura de RExPO.
4.5.1 Desarrollo de RExPO
En esta sección se expone el desarrollo de la herramienta, describiendo como se implementó cada
proceso y en qué momento se usan las diversas API’s, métodos y técnicas para el funcionamiento armónico
entre todos los componentes que conforman a RExPO. Estos elementos participan en las tres fases para lograr
el poblado ontológico. En la fase uno, se realiza la recuperación de información haciendo una exploración,
filtrado y pre-procesamiento de páginas Web, dando como resultado un documento de texto plano, el cual es
usado en la fase dos, que tiene como objetivo realiza una extracción de información a partir del texto plano y
realizándole un tokenizado, etiquetado, un análisis lingüístico y relacionando la información para formar un
árbol jerárquico. En la última fase, realiza un poblado ontológico haciendo uso del árbol de relaciones y
formar e instanciar tripletas, las cuales son validadas por medio de un algoritmo de similitud, un algoritmo de
encriptado y posteriormente el poblado ontológico. A continuación se describen las tres fases implementadas
en RExPO (ver Figura 19).
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 38 | P á g i n a
4.5.1.1 Fase 1
El proceso inicia al realizar la recuperación de información al explorar el sitio Web, tras utilizar la
API llamada, Jericho[Jericho s. f., 2011], esta realiza la función del analizador Web, al obtener el texto de la
página, sus enlaces, titulo del sitio, palabras clave y directorio, para después almacenar el enlace en una lista
de enlaces que se visitaron. Posteriormente se inicia el recorrido del sitio con los enlaces obtenidos a partir de
la página inicial, validando los enlaces obtenidos con base en la bolsa de palabras ya definida y usando los
tres filtros para determinar si un enlace es candidato, o de otra forma evitar los filtros para hacer el recorrido
completo tras analizar todos los enlaces que se encuentren durante el proceso. En caso de que el enlace sea
válido o no se usen los filtros, se repite el proceso hasta recorrer todo el sitio, al obtener la recopilación de
todo el texto de la página Web como un texto plano en la pantalla de RexPO.
4.5.1.2 Fase 2
La segunda fase, inicia a partir de un texto plano como resultado de la fase uno, tokenizando y
usando todas las diversas técnicas de depuración de texto para dejar el texto sin carácteres no procesables, y
listo para ser tratado. La tokenización se hizo con base en un ciclo que recorre todo el texto, remplazando los
carácteres raros por espacios en blanco y dejando un espacio en blanco entre cada token. Una vez que el texto
se tokeniza se procede al etiquetado lingüístico usando la API FreeLing[FreeLing s. f., 2011], la cual permite
etiquetar texto plano, devolviéndo la categoría a la que pertenece el elemento analizado. Freeling permite ser
entrenado para un mejor etiquetado de palabras, está en varios idiomas y hace uso de técnicas como
lematización e identificación de nombres propios por ejemplo:
Nombre: Everardo Munguía Aguilar
Activando la herramienta para identificar nombre completo: Everardo_Munguía_Aguilar (NP)
Desactivando la herramienta para identificar nombre completo: Everardo(NP) Munguía (NP)
Aguilar(NP)
La técnica de identificación de nombres propios es una de las funcionalidades extras de Freeling,
resultando muy útil en algunos casos como para obtener el nombre propio de una persona, con la desventaja
que tendrá que depurarse eliminando el guion bajo que es agregado por Freeling en su resultado. Por otro
lado, si no se activa la técnica, se tendrán tres nombres propios por lo que difícilmente se sabrá si se trata de
personas diferentes o de la misma.
Una vez obtenido el etiquetado de todo el texto se crean dos listas: una con todas las palabras y otra
con su etiqueta correspondiente, en base al resultado del etiquetado de FreeLing. Una vez que se tienen las
etiquetas de cada palabra analizada se procede a la extracción de información usando autómatas descritos en
el anexo uno. Los patrones estructurales implementados usan etiquetas HTML, principalmente (“div”), y
comparan los componentes de los elementos que se desea identificar, con el uso de marcadores lingüísticos
Ej. (C.P., Dir., No., Av.), para determinar qué tipo de elemento es el que se identificó y su relación por medio
de jerarquías definidas para cada elemento que corresponde a la ontología. La relación de cada elemento se
hace por medio de un ciclo que recorre todo el texto tokenizado y determina cuando termina una relación, ya
sea por el nivel jerárquico del elemento o por que se encuentra en otra página del sitio analizado. Una vez
concluida la fase dos, se obtiene un árbol jerárquico en forma de lista de elementos relacionados.
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 39 | P á g i n a
4.5.1.2.1 Detección de elementos en el texto
Hay muchas y variadas formas de identificar un teléfono, un nombre, una dirección entre otros
elementos de un texto, ya que cada elemento contienen una nomenclatura en común lo cual ayuda a reconocer
uno del otro y los cuales son reconocibles a simple vista. En esta sección se presentan las diferentes y variadas
formas que se toman en cuenta para identificar cada uno de estos elementos en un texto, a través de diferentes
métodos que se implementaron en RExPO.
Las bolsas de palabras y los marcadores lingüísticos son algunos de los recursos que se usaron para
filtrar páginas y agilizar el proceso de recuperación de información. A continuación se describen estos dos
elementos.
Bolsa de palabras
Las bolsas de palabras se utilizan al consultar cada página de un sitio, en 3 procesos de filtrado. El
primero es el análisis del título de un enlace, después se hace una comparación con el enlace y por último con
el título de la página que se pretende analizar. En cada uno de estos filtrados se busca alguna cadena
relacionada con la bolsa de palabras (ver Anexo 2.- Bolsa de palabras y marcadores lingüísticos), para
verificar que es viable analizar esa página o que contiene información de interés.
Marcadores lingüísticos
Los marcadores lingüísticos son aquellos que describen o contextualizan para saber qué es lo que
probablemente diga el texto en su siguiente palabra; Ej. El profesor, indica que está hablando de un profesor y
posiblemente mencionen su nombre, o se describan aspectos de él. Por lo que se deben definen diferentes
marcadores lingüísticos con base en los elementos que se desean identificar como, Tel., o Dir. Dando un
panorama más amplio de que es lo que describe el texto en su siguiente palabra (ver Anexo 2.- Bolsa de
palabras y marcadores lingüísticos).
Reconocimiento de NP
Para el reconocimiento de los nombres propios (NP), se implementaron distintas técnicas que van de
la mano con el etiquetador FreeLing. Para el reconcomiendo de NP sólo se identificaron dos tipos de nombres
propios como: personas y empresas u organizaciones, las cuales de se describen a continuación.
Personas
El reconocimiento de personas se llevo a cabo usando bolsas de palabras como (directorio, directiva,
subdirección, jefes, encargado, departamento, coordinador, personal, profesores, alumnos, estudiantes,
egresados, quienes somos, docencia, docentes, administración, servicios escolares, dirección, coordinación,
centro, laboratorio, administración) e identificando cada nombre por su grado Ej.Dr., Ing., Lic., entre otros,
para determinar el grado de la persona y verificar que realmente es el nombre de una persona.
Organización o empresa
El reconocimiento de una organización se logra mediante 3 aspectos, que son las etiquetas del título
de la página principal del sitio, el enlace y la ubicación más común del nombre de una organización.
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 40 | P á g i n a
4.5.1.3 Fase 3
En la tercera fase, se tiene como entrada el árbol jerárquico en forma de lista de elementos
relacionados para el poblado ontológico. Primero se implementó un recorrido para cada conjunto de
elementos localizados en la primera posición de la lista de elementos relacionados, calculando la similitud del
primer elemento que se analiza con el resto de ese conjunto, utilizando la API denominada SimMetrics. Esta
API recibe dos cadenas de entrada y realiza una comparativa entre esas cadenas, donde el rango de similitud
que usa es de 0.0. hasta 1.0, el cual es aplicado sólo a los nombres propios con una grado de similitud de 0.7,
ya que es el rango que daba mejores resultados al considerar un nombre propio como similar o diferente. Si
las cadenas que se analizan tienen un grado mayor o igual a 0.7 son consideradas como similares, por lo tanto
se toma la primer nombre propio encontrado como el valor único para sus otras ocurrencias, dejándolo como
un alias de ese nombre propio. Ya que se tienen los valores candidatos se realiza un segundo recorrido a estos
valores para formar las tripletas, identificando la relación de cada elemento, con base en su posición en el
árbol jerárquico y una lista con todas las relaciones de la ontología, buscando la relación indicada y
almacenando la tripleta candidata.
Una vez que la similitud se aprobó y se tienen las tripletas candidatas, se realiza el encriptado con
base en las tripletas que ya son consideradas como candidatas utilizando un algoritmo de encriptado común,
convirtiendo el objeto y el predicado en una cadena de caracteres y dígitos únicos, para su posterior
instanciación o actualización en la ontología. La instanciación se utiliza el API TDB (TDB), como un
repositorio de tripletas, factor primordial para el poblado ontológico y como analizador de redundancia de
instancias. TDB nos permite reconocer que se trata del mismo elemento que se quiere instanciar, al notar que
tiene el mismo identificador único con uno ya existente, TDB complementa la información o descartando la
instancia.
Para la instanciación por medio de TDB no hace falta desencriptar el elemento instanciado ya que
cada vez que se consulta a la ontología se hace una comparación de el valor encriptado nuevo con el
identificador encriptado en la ontología, sabiendo así que se trata del mismo elemento. Dicho de otra forma,
se usará el encriptado como un identificador único en lugar de la fecha o un contador como es usado en
muchos casos para el poblado ontológico, ya que con el encriptado se puede realizar la actualización de la
ontología sin necesidad de instanciar nuevamente por causa de que tiene otra fecha u otro número.
Una vez instanciadas las tripletas candidatas, se prosigue con la relación de estas, basándose en la
lista de tripletas candidatas.
4.5.2 RExPO
En este apartado se muestra el funcionamiento del prototipo, y un ejemplo del resultado de la ontología
instanciada, mostrando los componentes de su interfaz. A continuación se presenta la primera impresión del
RExPO en funcionamiento.
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 41 | P á g i n a
Figura 18.- RExPO.
En la Figura 18, se aprecian los diferentes botones y aéreas de la herramienta, descritos a continuación.
1.- Este botón es presionado para que aparezca el campo de texto 9, para ser ingresada la página
Web.
2.- Este botón es usando para cargar un documento de texto plano. Comúnmente este botón se
usa para las pruebas del etiquetado y tokenización.
3.- Este botón se usa para analizar el archivo de texto ingresado con el botón 2.
4.- Este botón se usa para salir de la herramienta.
5.- Este botón se usa para inicializar la IR del sitio Web, teniendo en cuenta que ya se agrego el
enlace en el campo 9.
6.- Este botón se usa una vez que se ha realizado la IE con el botón 5, para realizar el etiquetado
del texto que se obtuvo.
7.- Este botón se usa para la IR del texto etiquetado y tokenizado, teniendo en cuenta que antes
se debe haber presionado el botón 6.
8.- Este botón realiza el poblado ontológico, pero no sin antes haber terminado de realizar la IR
con el botón 7.
9.- Esta barra se usa para ingresar la dirección del sitio que se quiere analizar, la cual no será
visible si no hasta que se presione el botón 2.
10.- En esta área se van mostrando los resultados de cada proceso, y las notificaciones de
cuando terminada cada uno.
El funcionamiento de RExPO, inicia con el ingreso del enlace que se desea analizar, posteriormente
se da clic en el botón “jericho” y el sistema estará recorriendo y obteniendo toda la información contenida en
el sitio, este proceso tarda dependiendo de qué tan grande sea el sitio. Como se puede ver en la figura 20.
Terminado el proceso de recuperación de información, se mostrará en pantalla el contenido textual
de las páginas relevantes recuperadas del sitio. Para continuar con el etiquetado del texto, sólo hace falta dar
clic en el botón etiquetado. El proceso es rápido y mostrará un mensaje cuando se complete el etiquetado. A
causa de que el etiquetado es trasparente para el usuario, sólo se muestra el mensaje de que se completó el
etiquetado el cual se puede visualizar en la Figura 19.
5
3
6 7 8
4
1
2
9
10
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 42 | P á g i n a
Figura 19.- Resultado de la recuperación de información.
En la Figura 19, se muestra el resultado de la recuperación de información de un sitio pequeño,
obteniendo todo el texto que contiene en sus páginas.
Cuando se tiene todo el texto etiquetado se debe realizar la extracción de información, dando clic en
el botón “identificación de elementos” mostrando todos los elementos recuperados y ordenamos de forma que
en cada renglón son elementos relacionados entre sí con una etiqueta que corresponde el tipo de elemento
(árbol de relaciones), como se puede apreciar en la Figura 20.
Figura 20.- Resultado de IE.
En la Figura 20, se muestra el resultado de extracción de información, obteniendo todos los datos y
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 43 | P á g i n a
mostrándolos de forma ordenada y con una etiqueta con la que se identificó.
Cuando es mostrada la extracción de información en pantalla, sólo hace falta presionar el botón de
poblado, el cual realiza un poblado de toda la ontología mediante los elementos recuperados. El resultado es
un archivo OWL con la información de todos los elementos instanciados y relacionados. A continuación se
presenta un fragmento del archivo OWL, como resultado del poblado ontológico.
<rdf:Description rdf:about="http://www.cenidet.edu.mx/instancias213012302"> <rdf:type rdf:resource="http://www.cenidet.edu.mx/OrganizationalMemory.owl #IESOrganization"/> <j.0:comercialName>CENIDET</j.0:comercialName> <j.1:phone>(777)362-7770 </j.1:phone> <j.1:phone>362-7770</j.1:phone> <j.1:phone>(777)362-7795</j.1:phone> <j.1:phone>362-7795</j.1:phone> <j.3:hasAddress rdf:resource="http://www.cenidet.edu.mx/instancias22122503302122502143221013012550221304221013012135021413122530503142244443200221424202430"/> <j.0:hasDivisionrdf:resource="http://www.cenidet.edu.mx/instancias222541021152232452135233112131432133321051"/> <j.0:hasDivision rdf:resource="http://www.cenidet.edu.mx/instancias22254102115223 24524533013120311231"/> <j.0:hasDivision rdf:resource="http://www.cenidet.edu.mx/instancias22254102115223 245245330131243212335031"/> <j.0:hasDivision rdf:resource="http://www.cenidet.edu.mx/instancias2225410211522324525504333312313301051"/> </rdf:Description>
En el ejemplo anterior se muestra la organización “Cenidet” con los datos relacionados como su
dirección y teléfonos. También cuenta con las divisiones que la componen, las cuales sólo se visualizan
números con la palabra “instancias”, lo que corresponde a los datos encriptado de cada uno de los elementos
relacionados. Por otra parte, los datos instanciados se hacen mediante TDB, mediante su etiqueta corresponde
al tipo de dato que recuperó, realizando un búsqueda en la ontología y corroborando que exista la tripleta que
se desea instanciar. Para esto, se hace el árbol de relaciones y primero se instancian tanto el predicado, como
el sujeto para posteriormente realizar la relación de estos dos objetos.
Capitulo 4.- Metodología de solución
Everardo Munguía Aguilar 44 | P á g i n a
4.6 Conclusiones
En este capítulo se presentó la metodología para el poblado ontológico y la elaboración y planeación
de RExPO, compuesta por 3 fases denominadas: recuperación de información, extracción de información y
poblado ontológico, donde cada una aporta un resultado primordial para el objetivo principal de esta
metodología.
El proceso de la implementación de la metodología descrita, se consideran algunos aspectos como:
en la fase uno se comenta sobre el filtrado de páginas, el cual fue omitido por motivo de que los sitios web
eran muy grandes y se demoraba el filtrado y exploración de un sitio, por lo que se opto por quitar el filtrado
y sólo usar la selección de páginas, dejando el filtrado como un trabajo futuro. También en la fase dos, se optó
por usar el etiquetador lingüístico FreeLing, el cual se eligió por una comparación de entre 3 etiquetadores
que abordan el lenguaje español, obteniendo a FreeLing como el mejor.
El árbol de elementos relacionados de la fase tres, en el cual se optó por hacer una lista donde cada
posición se conformara por conjunto de elementos relacionados, tomándolo como una rama del árbol.
También se tuvieron que adaptar algunos procesos más a la etapa del poblado, ya que TDB tiene sus reglas y
procedimientos para ser usado, por ejemplo: el cargar la ontología en memoria, hacer las modificaciones
(instanciación) y nuevamente realizar el volcado sobre un documento nuevo OWL. Por otra parte, se puede
mejorar algunos aspectos de la metodología, por ejemplo en lugar de usar autómatas, implementar
expresiones regulares.
Cada una de las etapas principales de RExPO, se abordaron diferentes criterios, como en el recorrido
del sitio, donde se tuvieron diferentes dificultades, y actualmente no se logra visitar al 100% tolas las páginas
de un sitio Web, sin importar que se supriman los filtros de enlaces, y bolsas de palabras. Sin embargo, se
logra visitar un 50% en el caso más ineficiente. La etapa del recorrido afectó mucho al prototipo ya que no se
logra visitar muchas páginas contenidas en un sitio Web, por lo que afecta toda la recuperación de
información y consecuentemente a la extracción de información y el poblado ontológico. Sin embargo, en la
etapa dos denominada recuperación de información, realiza de forma eficiente el recuperado, logrando
equilibrar la falla de la etapa uno, aunque se espera con el tiempo ir complementado el número de elementos a
identificar y realizar IR más completo.
La recuperación de información fue una etapa en la que se presentaron grandes dificultades con el
etiquetado, ya que debía ser depurado varias veces para tener un texto limpio y bien etiquetado, a pesar que se
uso una de los mejores etiquetadores para el lenguaje en español.
El poblado ontológico se considero como una etapa en la que se encontraron otro tipo de
problemáticas, entre ellas la redundancia de los elementos instanciados y la conformación de tripletas. Sin
embargo, se implementaron otros componentes como SimMetrics y el encriptado del texto para facilitar el
poblado ontológico y evitar la redundancia de sus elementos, no se solucionó al 100%, aún se cuenta con
algunas fallas, pero mejoró considerablemente el resultado al poblar la ontología.
En RExPO a pesar de las dificultades que se tuvieron en su elaboración, se logró conjuntar las 3 etapas de una
forma adecuada haciendo posible el poblado ontológico satisfactorio.
Capítulo 5. Pruebas y resultados
En esta sección se describen las pruebas y resultados de la aplicación RExPO, la cual costa de seis sitios. Se
evalúa su efectividad por medio de métricas como Precisión y Recuerdo, además de usar la Medida F. En
cada caso de pruebas se explican las condiciones sobre las cuales se trabajó, dando un resumen estadístico de
cada sitio y el porcentaje total para obtener el rendimiento de la herramienta. Cada resumen estadístico se
hace a partir de cada etapa de la metodología, obteniendo los resultados para ser evaluada. También se
abordan las secciones que se poblaron en la ontología, mostrando que clases, atributos y relaciones se
tomaron en cuenta para realizar el poblado ontológico.
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 46 | P á g i n a
5.1.1 Métricas de evaluación
En esta sección se presentan las métricas de evaluación que se usaron para determinar que tan
efectiva es la metodología propuesta, mostrando el funcionamiento y la descripción de cada una de las
métricas usadas.
5.1.1.1 Precisión y Recuerdo
Estas métricas de evaluación, mejor conocidas como “precision and recall” donde:
Precisión: Una medida de la capacidad de un sistema para presentar todos los elementos
pertinentes, enfocándose a la exactitud o debilidad de la herramienta.
Recuerdo: Una medida de la capacidad de un sistema de presentar sólo los elementos
pertinentes, enfocándose en la completitud.
Mediante la Tabla 3.- Tabla para determinar la formula de Precisión y Recuerdo. se usa para determinar los
valores de las fórmulas de Precisión y Recuerdo.
Tabla 3.- Tabla para determinar la formula de Precisión y Recuerdo.
Precisión y Recuerdo
Relevantes Irrelevantes
Recuperados A B (A + B) Todos los datos recuperados
No
recuperados
C D (C +D) Todos los datos omitidos
(A + C) Todos
los datos
relevantes del
sitio
(B + D) Todos
los datos
irrelevantes del
sitio
(A + B + C + D) Todos los datos del
sitio
Precisión =𝐴
𝐴 + 𝐵 Recuerdo =
𝐴
𝐴 + 𝐶
Rango negativo verdadero =𝐷
𝐷 + 𝐵 Exactitud =
𝐴 + 𝐷
𝐴 + 𝐷 + 𝐵 + 𝐶
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 47 | P á g i n a
5.1.1.2 Medida F
La Medida F es una combinación de la precisión y recuerdo con una medida armónica de precisión y
exactitud, que representa la efectividad de lo que se mide.
F = 2 ∗𝑝𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 ∗ 𝑟𝑒𝑐𝑢𝑒𝑟𝑑𝑜
𝑝𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 + 𝑟𝑒𝑐𝑢𝑒𝑟𝑑𝑜
Ésta también se conoce como la medida F1, porque el recuerdo y la precisión son uniformemente ponderados.
5.2 Caracterización de Pruebas
Las pruebas realizadas se hicieron sobre seis sitios completos, con los cuales se realizó una prueba
por cada etapa de la metodología, obteniendo resultados para el recorrido del sitio, la extracción de
información y el poblado ontológico. Cada prueba realizada con la metodología, se hizo de igual forma
manualmente, validando que tan correcta es la información y que tan efectiva es la metodología, además de
presentar los aspectos más notorios para realizar las pruebas.
En cada prueba realizada en los seis casos de estudio analizados se usan las siguientes limitantes, es decir no
se abordan en la metodología.
Las principales limitantes son las siguientes:
Análisis de scripts.
Análisis de páginas fuera del sitio Web.
Análisis de archivos como (multimedia, pdf, imágenes, documentos).
Extracción de nombres propios sin grado académico.
Análisis de Flash.
Análisis de diversos lenguajes poco populares.
5.2.1 Criterios de evaluación
La evaluación de la herramienta se hace con base en 4 aspectos, el recorrido del sitio, recuperación
de información y poblado ontológico, determinando la completitud, exactitud y/o debilidad de la herramienta
en cada proceso con respecto a una muestra realizada manualmente.
En la Figura 21.- Rangos de análisis se muestra un gráfico del rango aproximado de la cobertura de
la información existente en el sitio Web, de un análisis manual y del análisis automático:
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 48 | P á g i n a
Figura 21.- Rangos de análisis.
Donde:
Sitio Web: se refiere a toda la información que conforma un sitio web como: audio, video,
imágenes, archivos, texto, enlaces, entre otros elementos por los que está compuesto.
Los datos existentes en el sitio Web: se refiere a los objetos, enlaces o instancias que contiene
el sitio Web, y sean relevantes o irrelevantes.
Los datos obtenidos manualmente: se refiere a los objetos, enlaces o instancias que se
obtuvieron manualmente del sitio Web, analizando cada página del sitio y recorriéndola
totalmente para identificar toda la información posible.
Los datos extraídos automáticamente: se refiere a los objetos, enlaces o instancias que se
obtuvieron automáticamente, tomando en cuenta diferentes métodos y filtros.
Los distintos criterios que se toman en cuenta para realizar una extracción de información, en los
cuales existen diversos aspectos que intervienen con la extracción de un objeto, como los filtros usados, el
enlace que se está visitando, la información contenida en la página y el elemento a extraer, como se puede
apreciar en la Figura 22.- Filtros para la extracción de un objeto.
Figura 22.- Filtros para la extracción de un objeto.
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 49 | P á g i n a
Los aspectos descritos en las Figura 21 y Figura 22, se pretende evaluar los siguientes criterios:
1. Recorrido del sitio
Información general: presenta el tiempo de extracción de información que se tardo el proceso,
y también un porcentaje aproximado de la redundancia de los datos.
Número de enlaces visitados: se presenta el número de enlaces que se visitaron durante la
ejecución manual y automática, haciendo un conteo del total de páginas, donde:
o enlaces relevantes: son las páginas que contienen información relevante dentro del
criterio de extracción de información y recuperación de información.
o enlaces irrelevantes: son las páginas que no contienen ningún dato relevante dentro del
criterio de extracción de información y recuperación de información.
2. Extracción de información
Número total de objetos recuperados: se presenta el número de objetos que se identificaron en
la ejecución manual y automática, mostrando un conteo del total de objetos, donde:
o Total de objetos relevantes: es el número de objetos verídicos y no repetidos
identificados en todo el sitio.
o Total de objetos irrelevantes: es el número de objetos repetidos o irrelevantes
identificados en todo el sitio.
3. Poblado ontológico
Número total de instancias: se presenta el número de instancias candidatas para ser pobladas
en la ontología en la ejecución manual y automática, mostrando un conteo total de instancias
donde:
o Total de instancias relevantes: es el número de instancias relevantes o correctas que se
crearon en la ontología
o Total de instancias irrelevantes: es el número de instancias repetidas o erróneas que se
detectaron para ser pobladas.
5.2.2 Casos de estudio
Los casos de estudio usados para probar esta metodología son sobre seis sitios Web diferentes de tipo
TIC o IES, en los que se busca información específica como nombres propios de persona o empresa, áreas,
teléfonos, direcciones, correos, redes sociales y objetos de interés como publicaciones. El sitio Web debe
contar con algunas características para que la metodología funcione correctamente: debe estar en el lenguaje
español, ser un sitio con información orientada a las TIC o IES, los nombres propios especificados dentro de
las páginas del sitio deben estar acompañados, en el caso de una persona, de su grado de estudios,
considerando Dr., M.C., Lic., entre otros.
Los casos de estudio se caracterizaron mediante las Tablas: Tabla 4, Tabla 5, Tabla 6, Tabla 7, Tabla 8 y
Tabla 9 con los siguientes criterios:
Página: Se refiere al enlace del sitio visitado.
Tipo de información: la información encontrada válida para la metodología.
Limitaciones: Se presentan los diversos casos que causaron fallos a la metodología.
Número de páginas: el número de páginas visitadas manualmente y automáticamente.
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 50 | P á g i n a
Tabla 4.- Detalles caso de estudio 1.
Caso de estudio 1.- Cenidet.
Página http://www.cenidet.edu.mx/
Tipo de Información
El Centro Nacional de Investigación y Desarrollo Tecnológico, el cual brinda servicios de maestrías y doctorados. En donde se encontraron datos como: nombres, objetos de interés, correos, áreas, teléfonos y direcciones.
Limitaciones La página de CENIDET cuenta con diversos scripts en sus menús, lo que limita a la metodología a analizar diversidad de páginas contenidas en el sitio, otra limitante es que maneja otro dominio en alguna de sus áreas.
Número de páginas Número de páginas visitadas manualmente: 244
Número de páginas visitadas automáticamente: 115
Tabla 5.- Detalles caso de estudio2.
Caso de estudio 2.- Instituto de investigación y desarrollo educativo Campus Ensenada.
Página http://iide.ens.uabc.mx/blogs/iide/
Tipo de Información
Instituto de Investigación y Desarrollo Educativo Campus Ensenada, el cual brinda servicios de doctorados y maestría en ciencias educativas. En donde se encontraron datos como: nombres, objetos de interés, correos, teléfonos y direcciones.
Limitaciones El instituto de investigación campus ensenada, cuenta con las siguientes limitantes: con índices con scripts, áreas con otro dominio y muchos enlaces que apuntan a documentos.
Número de páginas Número de páginas visitadas manualmente: 226
Número de páginas visitadas automáticamente: 51
Tabla 6.- Detalles caso de estudio 3.
Caso de estudio 3.- Instituto Politécnico Nacional.
Página http://iide.ens.uabc.mx/blogs/iide/
Tipo de Información
El Instituto Politécnico Nacional (IPN), es un centro de investigación en computación. En donde se encontraron datos como: nombres, objetos de interés, correos, teléfonos y direcciones.
Limitaciones La página del IPN está compuesta por aproximadamente 15 scripts, donde esta es la base de las demás páginas del sitio, limitando mucho el acceso a la información por medio de la metodología, otra limitante es que cuenta con muchos nombres propios, sin grado (Ing., Lic., etc.).
Número de páginas Número de páginas visitadas manualmente: 571
Número de páginas visitadas automáticamente: 150
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 51 | P á g i n a
Tabla 7.- Detalles caso de estudio 4.
Caso de estudio 4.- Cinvestav
Página http://www.cinvestav.mx/
Tipo de Información
Cinvestav, es un instituto de investigadores y de conocimiento tecnológico y científico, donde se encontraron datos como: nombres, objetos de interés, correos, teléfonos, direcciones y redes sociales.
Limitaciones La página principal cuenta con muchos scripts, además de muchas animaciones que dificultan la extracción de información, muchos de los botones principales están compuestos como menús, por lo que contienen algún tipo de codificación ya sea scripts u otro tipo.
Número de páginas Número de páginas visitadas manualmente: 338
Número de páginas visitadas automáticamente: 105
Tabla 8.- Detalles caso de estudio 5.
Caso de estudio 5.- Cablemas
Página http://www.cablemas.com.mx/
Tipo de Información
Cablemas es una compañía que proporciona un servicio de cable e internet donde se encontraron datos como: nombre de la compañía, teléfonos y redes sociales.
Limitaciones La página contiene muy poca información descriptiva, ya que la mayor parte de la información que proporcionan es visual ya sea en imágenes y videos.
Número de páginas Número de páginas visitadas manualmente: 45
Número de páginas visitadas automáticamente: 67
Tabla 9.- Detalles caso de estudio 6.
Caso de estudio 6.- Nextel
Página http://www.nextel.com.mx/index.htm
Tipo de Información
Nextel es una compañía que proporciona un servicio de telefonía, venta, renta, etc., en donde se encontraron datos como: nombre de la compañía, teléfonos, redes sociales y correos electrónicos.
Limitaciones La página proporciona poca información y repetida, ya que la mayoría de la información no es de utilidad.
Número de páginas Número de páginas visitadas manualmente: 156
Número de páginas visitadas automáticamente: 101
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 52 | P á g i n a
5.3 Resultados
En esta sección se presentan los resultados que se obtuvieron a partir de los criterios y métricas de
evaluación mencionadas 5.1.1 y 5.2.1 donde se presentan en forma de una tabla como resumen estadístico de
los resultados obtenidos por cada sitio analizado. En cada una de estas tablas se presentan los aspectos
descritos anteriormente los cuales son: número total de enlaces visitados, número total de objetos recuperados
y número total de instancias. Cada clasificación con sus datos respectivos, mostrando al final de cada etapa
una gráfica de la precisión, recuerdo y medida F de cada sitio. A continuación se presentan los resultados
obtenidos.
5.3.1 Recorrido del sitio.
Caso de estudio 1.- Cenidet
Manual Automático Tiempo de extracción y recuperación de
información: 5 días
Tiempo de extracción y recuperación de
información: 1 min. 55 seg.
Número total de enlaces visitados
Total de páginas: 244
Páginas relevantes: 152
Páginas irrelevantes: 92
Total de páginas: 115
Páginas relevantes: 64
Páginas irrelevantes: 42
Caso de estudio 2.- Instituto de investigación y desarrollo educativo
Campus Ensenada
Manual Automático Tiempo de extracción y recuperación de
información: 1.5 días
Tiempo de extracción y recuperación de
información: 2 min. 54 seg.
Número total de enlaces visitados
Total de páginas: 226 Páginas relevantes: 108
Páginas irrelevantes: 118
Total de páginas: 51 Páginas relevantes: 37
Páginas irrelevantes: 7
Caso de estudio 3.- Instituto Politécnico Nacional.
Manual Automático Tiempo de extracción y recuperación de
información: 6 días
Tiempo de extracción y recuperación de
información: 1 min. 50 seg.
Número total de enlaces visitados
Total de páginas: 571
Páginas relevantes: 242
Páginas irrelevantes: 329
Total de páginas: 150
Páginas relevantes: 85
Páginas irrelevantes: 45
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 53 | P á g i n a
Caso de estudio 4.- Cinvestav
Manual Automático Tiempo de extracción y recuperación de
información: 5 días
Tiempo de extracción y recuperación de
información: 3 min. 36 seg.
Número total de enlaces visitados
Total de páginas: 338
Páginas relevantes: 169
Páginas irrelevantes: 169
Total de páginas: 105
Páginas relevantes: 62
Páginas irrelevantes: 6
Caso de estudio 5.- Cablemas
Manual Automático Tiempo de extracción y recuperación de
información: 3 hrs.
Tiempo de extracción y recuperación de
información: 62 seg.
Número total de enlaces visitados
Total de páginas: 45
Páginas relevantes: 12
Páginas irrelevantes: 33
Total de páginas: 67
Páginas relevantes: 2
Páginas irrelevantes: 53
Caso de estudio 6.- Nextel
Manual Automático Tiempo de extracción y recuperación de
información: 7 hrs.
Tiempo de extracción y recuperación de
información: 62 seg.
Número total de enlaces visitados
Total de páginas: 156
Páginas relevantes: 35
Páginas irrelevantes: 121
Total de páginas: 101
Páginas relevantes: 80
Páginas irrelevantes: 2
Tabla 10.- Tabla comparativa del recorrido del sitio
Precisión Recuerdo Efectividad
CENIDET 0.6 0.42 0.49
IIDE Ensenada 0.84 0.34 0.48
IPN 0.65 0.35 0.45
Cinvestav 0.91 0.36 0.52
Cablemas 0.07 0.33 0.11
Nextel 0.97 1 0.98
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 54 | P á g i n a
Tabla 11.- Resumen estadístico por recorrido del sitio.
En la Tabla 10 y 11, se presenta el resultado estadístico sobre la Precisión y Recuerdo, y además de la Medida
F de la Fase 1, donde la mayoría de los sitios se encuentran en el 50% de efectividad, afectando seriamente
los scripts contenidos en cada una de sus páginas del sitio, sin embargo se logra recorrer la mitad del sitio, por
consecuente es afectada la extracción de información, ya que entre menos páginas sean recuperadas, se cuenta
con menos información afectando de forma proporcional a la extracción de información.
5.3.2 Extracción de información
Caso de estudio 1.- Cenidet. Manual Automático
Repetición de datos: 40% a 70% aprox. Repetición de datos: 30% aprox.
Número total de datos
Total de objetos: 1372
Total de objetos relevantes: 548
Total de objetos irrelevantes o repetidos: 823
Total de objetos: 255
Total de objetos relevantes: 149
Total de objetos irrelevantes o repetidos: 106
Caso de estudio 2.- Instituto de investigación y desarrollo educativo
Campus Ensenada. Manual Automático
Repetición de datos: 20% aprox. Repetición de datos: 30% a 40%
Número total de datos
Total de objetos: 337
Total de objetos relevantes: 269
Total de objetos irrelevantes o repetidos: 68
Total de objetos: 342
Total de objetos relevantes: 201
Total de objetos irrelevantes o repetidos: 141
0
0.2
0.4
0.6
0.8
1
1.2
Precisión
Recuerdo
Efectividad
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 55 | P á g i n a
Caso de estudio 3.- Instituto Politécnico Nacional.
Manual Automático Repetición de datos: 10% aprox. Repetición de datos: 30% a 40%
Número total de datos
Total de objetos: 1761
Total de objetos relevantes: 1591
Total de objetos irrelevantes o repetidos: 170
Total de objetos: 199
Total de objetos relevantes: 67
Total de objetos irrelevantes o repetidos: 132
Caso de estudio 4.- Cinvestav. Manual Automático
Repetición de datos: 15% aprox. Repetición de datos:20% aprox.
Número total de datos
Total de objetos: 3320
Total de objetos relevantes: 2540 Total de objetos irrelevantes o repetidos: 780
Total de objetos: 221
Total de objetos relevantes: 112 Total de objetos irrelevantes o repetidos: 109
Caso de estudio 5.- Cablemas. Manual Automático
Repetición de datos: 40% aprox. Repetición de datos: 0%
Número total de datos
Total de objetos: 18
Total de objetos relevantes: 7
Total de objetos irrelevantes o repetidos: 11
Total de objetos: 6
Total de objetos relevantes: 6
Total de objetos irrelevantes o repetidos: 0
Caso de estudio 6.- Nextel. Manual Automático
Repetición de datos: 35% aprox. Repetición de datos: 0%
Número total de datos Total de objetos: 81
Total de objetos relevantes: 23
Total de objetos irrelevantes o repetidos: 58
Total de objetos: 10
Total de objetos relevantes: 4
Total de objetos irrelevantes o repetidos: 6
Tabla 12.- Tabla comparativa de la extracción de información
Precisión Recuerdo Efectividad
CENIDET 0.58 0.27 0.37
IIDE Ensenada 0.58 0.74 0.65
IPN 0.33 0.04 0.07
Cinvestav 0.50 0.04 0.08
Cablemas 1 0.85 0.92
Nextel 0.4 0.17 0.24
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 56 | P á g i n a
Tabla 13.- Resumen estadístico por extracción de información.
En la Tabla 12 y 13, se aprecia qué el resultado de la extracción de información de los seis sitios es
muy variado, esto se debe a que los elementos a extraer son más en los sitios politécnico y cinvestav, y de los
cuales se logro una extracción de información muy pequeña, influyendo mucho la recuperación de
información, ya que si sólo se visita la mitad de las páginas del sitio, esto afecta en gran medida a la fase dos
de extracción de información, obteniendo como mejor resultado un 92% de datos y la peor un 7%.
5.3.3 Poblado ontológico
Caso de estudio 1.- Cenidet. Datos Obtenidos Manualmente Poblado Automático
Total de objetos: 1372
Total de objetos relevantes: 548 Total de objetos irrelevantes o repetidos: 823
Total de instancias: 205
Total de instancias relevantes: 120 Total de instancias irrelevantes: 85
Caso de estudio 2.- Instituto de investigación y desarrollo educativo
Campus Ensenada. Datos Obtenidos Manualmente Poblado Automático
Total de objetos: 337
Total de objetos relevantes: 269
Total de objetos irrelevantes o repetidos: 68
Total de instancias: 342
Total de instancias relevantes:95
Total de instancias irrelevantes:12
Caso de estudio 3.- Instituto Politécnico Nacional.
Datos Obtenidos Manualmente Poblado Automático Total de objetos: 1761
Total de objetos relevantes: 1591
Total de objetos irrelevantes o repetidos: 170
Total de instancias: 141
Total de instancias relevantes: 38
Total de instancias irrelevantes: 4
0
0.2
0.4
0.6
0.8
1
1.2
Precisión
Recuerdo
Efectividad
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 57 | P á g i n a
Caso de estudio 4.- Cinvestav
Datos Obtenidos Manualmente Poblado Automático Total de objetos: 3320
Total de objetos relevantes: 2540
Total de objetos irrelevantes o repetidos: 780
Total de instancias: 88
Total de instancias relevantes:84
Total de instancias irrelevantes: 3
Caso de estudio 5.- Cablemas
Datos Obtenidos Manualmente Poblado Automático Total de objetos: 18
Total de objetos relevantes: 7
Total de objetos irrelevantes o repetidos: 11
Total de instancias: 6
Total de instancias relevantes: 6
Total de instancias irrelevantes: 0
Caso de estudio 6.- Nextel
Datos Obtenidos Manualmente Poblado Automático Total de objetos: 81
Total de objetos relevantes: 23 Total de objetos irrelevantes o repetidos: 58
Total de instancias: 4
Total de instancias relevantes: 4 Total de instancias irrelevantes: 0
Tabla 14.- Tabla comparativa del poblado ontológico.
Precisión Recuerdo Efectividad
CENIDET 0.88 0.21 0.35
IIDE Ensenada 0.88 0.35 0.50
IPN 0.90 0.02 0.04
Cinvestav 0.96 0.03 0.06
Cablemas 0.85 0.85 0.85
Nextel 1 0.17 0.29
Tabla 15.- Resumen estadístico por poblado ontológico.
0
0.2
0.4
0.6
0.8
1
1.2
Precisión
Recuerdo
Efectividad
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 58 | P á g i n a
En la Tabla 14 y 15, se presenta el resumen estadístico del poblado ontológico, en lo que respecta a
los resultados de esta gráfica, se presentan resultados muy bajos los cuales son proporcionales a las fases
anteriores, ya que aquí se mide la efectividad que tiene la metodología para poblar una ontología a partir de
los datos extraídos en la fase dos y No. total de objetos que se obtuvo manual mente, por lo que en el poblado
se considero la fase más afectada con un 85% en como mejor resultado y un 4% como el mínimo. Esta fase se
considera la más afectada ya que individualmente logra obtener un 95% de efectividad.
5.4 Análisis de resultados
Los resultados mediante las dos métricas presentadas en la sección 5.1.1 donde a partir de estas se
logra la efectividad de cada fase de la metodología implementada en RExPO mediante la Medida F, teniendo
un 51% de efectividad como suma de los seis casos de estudio en la fase 1, en la fase 2 se logró el 39% de
efectividad y en cuanto a la fase 3 se obtuvo un 35%.
Una vez que se tienen los resultados de las tres fases, se suman los resultados de Precisión y
Recuerdo de cada fase de un sitio analizado, sacando un promedio general de las tres fases como se puede
apreciar en la Tabla 16 y 17. Posteriormente se calcula la efectividad de la herramienta en general usando la
Medida F sobre el resultado general de cada sitio analizado, concluyendo los resultados mostrados en la
Figura 23.
Tabla 16.- Tabla comparativa de la efectividad de la metodología por sitio web
Precisión Recuerdo Efectividad
CENITED 0.69 0.30 0.42
IIDE Ensenada 0.77 0.48 0.59
IPN 0.13 0.68 0.23
Cinvestav 0.14 0.94 0.25
Cablemas 0.64 0.68 0.66
Nextel 0.79 0.44 0.57
Tabla 17.- Efectividad de la metodología por sitio Web.
0
0.2
0.4
0.6
0.8
1
Precisión
Recuerdo
Efectividad
Capitulo 5.- Pruebas y resultados
Everardo Munguía Aguilar 59 | P á g i n a
En la Figura 23, se presenta la efectividad de la metodología implementada a partir de las pruebas
realizadas, la cual se obtuvo mediante el promedio general de los resultados de cada sitio, sacando la Medida
F para calcular el total de las pruebas.
Figura 23.- Efectividad de la metodología implementada en el prototipo.
El resultado mostrado en la Figura 23 muestra un 46% de efectividad, por lo que se pretende mejorar
la metodología, abordando diferentes elementos descartados, como los presentados en la sección 6.2 de los
trabajos futuros. Los enfoques mencionados en esa sección, son vitales para la mejora de la herramienta. Sin
embargo a pesar de los problemas y deficiencias de cada fase para lograr el poblado ontológico, se obtuvo un
46% de efectividad en la herramienta, logrando poblar la ontología.
46%54%
Metodologia
Efectividad
Ineficiencia
Capítulo 6. Conclusiones y trabajos futuros
En este capítulo se presentan las conclusiones generales y los trabajos futuros de la metodología propuesta, la
cual fue desarrollada e implementada para lograr un poblado ontológico, presentando las experiencias
ganadas tras lograr cumplir los diferentes objetivos y metas pospuestas al inicio de la elaboración de esta
tesis, las dificultades presentadas y las soluciones óptimas para su desarrollo.
Capitulo 6.- Conclusiones y trabajos futuros
Everardo Munguía Aguilar 61 | P á g i n a
6.1 Conclusiones
La metodología propuesta en esta tesis cumple con su principal objetivo que consiste en poblar una
ontología organizacional mediante el análisis de contenido textual de páginas Web. Este objetivo se logra
mediante su estructura compuesta por tres etapas denominadas, recuperación de información, extracción de
información y poblado ontológico.
Las tres fases que componen a esta metodología la hacen adaptable, mediante la modificación
independiente de cada fase, ya sea para el manejo de otra ontología o integración de alguna fase a otro
sistema. La reutilización de cada fase que brinda la metodología propuesta, se obtuvo mediante diversas
experiencias obtenidas en los diferentes trabajos analizados y presentados en el estado del arte, las
herramientas, API’s, algoritmos, métodos para poblar una ontología y los distintos tratamientos que se aplican
a una página web.
Las pruebas presentadas en esta tesis se realizaron por medio de páginas Web de tipo IES y TIC,
sobre las cuales se extrajo la siguiente información: nombres propios, correos, nombre de organización, redes
sociales, publicaciones, ubicación (dirección), teléfonos y nombre de departamentos. La ontología
organizacional considerada es la desarrollada por [Vargas 2011].
La metodología actual está conformada por diferentes componentes que pretenden mejorar aspectos
en cada fase como, abarcar un mayor número de leguajes de programación, y principalmente scripts. Otro
aspecto a mejorar es el análisis de páginas ligadas a alguna persona o elemento de la organización, que
comúnmente presentan información útil para el complemento de una clase de la ontología y que casualmente
se encuentran fuera del sitio.
Un aspecto importante de señalar, en la fase dos, es el análisis lingüístico. Esta subfase es vital ya
que, dependiendo de la información que se desee recuperar, determinará el nivel del análisis lingüístico. Estos
niveles pueden ser sintácticos, semánticos o pragmáticos. En esta tesis, nos situamos en un análisis semántico
donde se analizó léxico y cuestiones morfosintácticas apoyándose en diversas herramientas como FreeLing,
características semánticas y el uso de patrones.
La metodología implementada a través del prototipo RexPO, aborda diferentes criterios descritos en
5.2.1 y se tuvieron diferentes dificultades mencionadas en 5.4 en cada una de las fases de la metodología.
Actualmente no se logra visitar el 100% de las páginas de un sitio web, a pesar de suprimir los filtros, sin
embargo se logra visitar aproximadamente un 50% en el caso más eficiente, convirtiendo a los scripts en el
principal problema para la recuperación de información. La etapa de exploración del sitio afecto al prototipo
ya que no se logra visitar diversas páginas de un sitio Web, por lo que afecta tanto a la extracción de
información como a la recuperación de información y consecuentemente al poblado ontológico, sin embargo a
pesar de que un sitio tenga scripts se logra hacer una extracción de información eficiente tomando en cuenta
que esta tesis no considera el análisis de scripts.
La fase dos denominada extracción de información, se logró equilibrar la falla de la fase uno,
haciendo una buena identificación de elementos en el texto, a pesar de que la información en la Web es
presentada de diversas formas, tratándose de la misma cosa, por lo que se optó por usar diversos autómatas,
patrones, bolsas de palabras e identificadores que se adaptan a las diversas estructuras con las que es
presentada la información teniendo como base un etiquetador lingüístico (FreeLing), el cual no se entrenó y a
pesar de esto presentó buenos resultados ya que se trata de uno de los mejores etiquetadores para el lenguaje
en español hasta el momento.
La ontología se aborda en la última etapa, la cual se modificó y depuró en algunas ocasiones durante
Capitulo 6.- Conclusiones y trabajos futuros
Everardo Munguía Aguilar 62 | P á g i n a
el desarrollo de la metodología por su desarrollador [Vargas 2011] ya qué la elaboración de la ontología no fue
parte de esta metodología, pero si parte de su funcionamiento, convirtiéndose en la clave para saber qué tipo
de información se debe recuperar y con esto el inicio de la redundancia de los elementos instanciados y la
conformación de tripletas en la ontología, haciendo uso de Apis como SimMetrics para la comparación de
instancias, un encriptado para facilitar la instanciación de los elementos recuperados en la ontología y el
proceso del poblado ontológico con la API de jena TDB, que permite a la ontología ser trasportable y
manejable, además de solucionar muchos casos de redundancia de sus elementos.
Con base a los resultados generales de cada fase, se obtuvo un resultado de efectividad de la fase 1-
“recorrido del sitio” que oscila entre 98% y 11% de efectividad, el cual fue afectado principalmente por los
scripts de los diversos sitios. La fase dos, “Extracción de información” oscila de 92% a un 7% de efectividad,
siento afectado rotundamente por la cantidad de enlaces que no fueron visitados en la fase 1, limitando mucho
la recuperación de información y consecuentemente la extracción de información. Por último la fase tres
“Poblado ontológico” oscila entre un 85% y 4% de efectividad, a pesar de algunas fallas encontradas al
relacionar los diferentes elementos recuperados y algunas otras en la redundancia de cada elemento
Con base en estas tres fases se calcula una efectividad por sitio y posteriormente se obtiene un
promedio del resultado de los seis sitios para sacar la medida armónica entre Precisión y Recuerdo,
obteniendo la efectividad de la metodología implementada en la herramienta denominada RExPO presentada
en esta tesis, teniendo un 45% de efectividad en general tras haber logrado su objetivo principal el cual era
desarrollar una metodología para poblar una ontología organizacional mediante el análisis de contenido
textual de páginas Web.
Capitulo 6.- Conclusiones y trabajos futuros
Everardo Munguía Aguilar 63 | P á g i n a
6.2 Trabajos futuros
En esta sección se abordan los trabajos futuros que son factibles y necesarios para complementar esta
metodología desarrollada para realizar un poblado de ontológico.
Implementar un modulo para el análisis de scripts: este módulo no fue implementado a causa de
que las limitaciones de esta tesis y el tiempo que requiere su análisis, sin embargo el
implementarlo incrementaría el número de enlaces que se visitan en la fase de IR. Y
consecuentemente mejoraría la IE y el número de instancias en la ontología.
Ampliar los lenguajes de programación: este módulo es necesario para ampliar la IR de la
metodología teniendo más cobertura en más sitios web, en la que sólo se abordan los lenguajes
más comunes.
Realizar IE e IR en diferentes idiomas: Este módulo daría más amplitud a la metodología la cual
sólo está desarrollada para el lenguaje español.
Complementar y mejorar FreeLing, entrenándolo: este módulo proporcionaría mejor exactitud al
etiquetado del texto y consecuentemente a la extracción de información.
Implementar expresiones regulares en lugar de autómatas y elaborar más expresiones regulares
para ampliar la IR.: en este caso no se usaron expresiones regulares ya que cuando se pretendía
implementarlas el prototipo ya se encontraba en la última fase, por lo que falto tiempo para
implementar los expresiones regulares y ampliar la cobertura de los autómatas.
Implementar un módulo que se adapte a cualquier ontología organizacional sin necesidad de
hacer cambios.: este módulo es ambicioso, pero muy útil ya que proporcionaría una portabilidad
excepcional a la metodología, permitiéndole poblar cualquier ontología de un dominio
específico.
Mejorar el aspecto de la herramienta.: Este módulo no se complementó por causa de tiempo, a
pesar de eso se tiene en cuenta mejorar el aspecto de la herramienta haciéndola más amigable y
manejable.
Mejorar el porcentaje de efectividad: para cumplir con esta meta se tiene que mejorar las tres
fases de la metodología, para lo cual es necesario cumplir con la mayoría de los trabajos
futuros.
Mejorar la bolsa de palabras o sustituirla por algún tipo de herramienta o metodología.: Se
pretende mejorar la bolsa de palabras ampliándola y eligiendo palabras clave para detectar mejor
la información o en otro caso emplear un método para no limitar la recuperación de información
sólo a una bolsa de palabras.
Mejorar el proceso de relación de elementos recuperados: En este proceso se pretende mejorar la
relación de objetos, ya que en muchos casos es difícil decidir la relación de dos objetos extraídos
de un texto plano.
Capitulo 6.- Conclusiones y trabajos futuros
Everardo Munguía Aguilar 64 | P á g i n a
Referencias
[Appelt 1999]
Appelt, D.E., 1999. Introduction to information extraction. AI
Commun., 12(3), pp.161–172.
[Blum et. al. 2008]
Blum, C., Aguilera, M.J.B. & Roli, A., 2008. Hybrid
metaheuristics: an emerging approach to optimization, Springer
Verlag.
[Buttler et al. 2001]
Buttler, D., Liu, L. & Pu, C., 2001. A fully automated object
extraction system for the World Wide Web. En Distributed
Computing Systems, 2001. 21st International Conference on. pp.
361–370.
[M. Vargas-Vera &
D. Celjuska 2004]
Celjuska, David & Vargas-Vera, Maria, 2004. Ontosophie: A
Semi-Automatic System for Ontology Population from Text.
http://eprints.aktors.org/416/
[Cimiano 2006] Cimiano, 2006. Ontology Learning and Population from Text:
Algorithms, Evaluation and Applications, Dordrecht: Springer.
[Cimiano et al. 2004] Cimiano, P., Handschuh, S. & Staab, S., 2004. Towards the self-
annotating web. En Proceedings of the 13th international
conference on World Wide Web. pp. 462–471.
[Clark & Guillemot
2011]
Clark, A. & Guillemot, M., 2011. NekoHTML.
http://nekohtml.sourceforge.net/
[Craven et al. 1999] Craven, M. et al., 1999. Learning to Construct Knowledge Bases
from the World Wide Web H.
[Davalcu et al. 2003] Davalcu, H. et al., 2003. OntoMiner: bootstrapping and
populating ontologies from domain-specific Web sites. IEEE
Intelligent Systems, 18(5), pp.24– 33.
[Oren Etzioni et al.
2005]
Etzioni, Oren et al., 2005. Unsupervised named-entity extraction
from the Web: An experimental study. Artificial Intelligence,
165(1), pp.91–134.
[O. Etzioni et al.
2004]
Etzioni, O. et al., 2004. Web-scale information extraction in
knowitall:(preliminary results). En Proceedings of the 13th
international conference on World Wide Web. pp. 100–110.
[FreeLing s. f., 2011] FreeLing, home - FreeLing Home Page.
http://nlp.lsi.upc.edu/freeling/
[Gruber 1995] Gruber, T.R., 1995. Towards principles for the design of
Capitulo 6.- Conclusiones y trabajos futuros
Everardo Munguía Aguilar 65 | P á g i n a
ontologies used for knowledge sharing.
http://148.226.12.104/handle/123456789/10422
[Harris 1954] Harris, Z.S., 1954. Distributional structure. Word, 10, pp.146–
162.
[Hearst 2003] Hearst, M., 2003. What is text mining. Retrieved October, 18,
p.2005.
[Hearst, 1992] Hearst,, 1992. Automatic acquisition of hyponyms from large text
corpora. En Proceedings of the 14th conference on Computational
linguistics-Volume 2. pp. 539–545.
[Hepp et al. 2007] Hepp, M., De Leenheer, P. & de Moor, A., 2007. Ontology
management: semantic web, semantic web services, and business
applications, Springer-Verlag New York Inc.
[Hindle 1990] Hindle, D., 1990. Noun classification from predicate-argument
structures. En Proceedings of the 28th annual meeting on
Association for Computational Linguistics. pp. 268–275.
[HTML Parser 2006] HTML Parser, 2006. HTML Parser - HTML Parser.
http://htmlparser.sourceforge.net/
[Hyung-Geun Park
2008]
Hyung-Geun Park, S.-S., 2008. OPTIMA: An Ontology
Population System. Semantic Web Dog Food.
http://data.semanticweb.org/conference/iswc-
aswc/2007/tracks/posters-demos/papers/385
[Java 2011] Java, 2011. Oracle and Java | Technologies.
http://www.oracle.com/
[Jericho s. f., 2011] Jericho, M., Jericho HTML Parser.
http://jericho.htmlparser.net/docs/index.html.
[Lee 1999] Lee, L., 1999. Measures of distributional similarity. En
Proceedings of the 37th annual meeting of the Association for
Computational Linguistics on Computational Linguistics. pp. 25–
32.
[Liddy, 2001] Liddy, ED 2001. Procesamiento del Lenguaje Natural. En la
Enciclopedia de Bibliotecología y Ciencias de la Información, 2 ª
ed. Nueva York. Marcel Decker, Inc. Disponible en:
http://surface.syr.edu/istpub/63.
[B. Liu et al. 2008] Liu, B., Aguilera, M.J.B. & Roli, A., 2008. Hybrid
metaheuristics: an emerging approach to optimization, Springer
Verlag.
Capitulo 6.- Conclusiones y trabajos futuros
Everardo Munguía Aguilar 66 | P á g i n a
[Popov et al. 2003] Popov, B. et al., 2003. KIM – Semantic Annotation Platform. En
Dieter Fensel, K. Sycara, & J. Mylopoulos, eds. The Semantic
Web - ISWC 2003. Berlin, Heidelberg: Springer Berlin
Heidelberg, pp. 834–849.
http://www.springerlink.com/content/31l2tk95lcdv76py/
[Porter 1980] Porter, M.F., 1980. An algorithm for suffix stripping. Program:
electronic library and information systems, 14(3), pp.130–137.
[Protégé, 2011] Protégé, P., 2011. The Protégé Ontology Editor and Knowledge
Acquisition System. Protégé. http://protege.stanford.edu/
[Quick 2011] Quick, A., 2011. JTidy - JTidy. http://jtidy.sourceforge.net/
[Schütze 1998] Schütze, H., 1998. Automatic word sense discrimination. Comput.
Linguist., 24(1), pp.97–123.
[Semantic Web,
2008]
Semantic Web,, 2008. Topic ontology population. Available at:
http://semanticweb.org/wiki/Category:Topic_ontology_population
[SimMetrics 2011] SimMetrics, 2011. SimMetrics.
http://www.ohloh.net/p/simmetrics
[Studer et al. 1998] Studer, R., Benjamins, V.R. & Fensel, D., 1998. Knowledge
engineering: principles and methods. Data & knowledge
engineering, 25(1-2), pp.161–197.
[TDB, 2011] TDB, 2011a. Apache Jena - TDB. Apache Jena TDB.
http://incubator.apache.org/jena/documentation/tdb/index.html
[Vargas 2011] Vargas, 2011b. Rocío Vargas Arroyo, Modelo colaborativo para
la integración de sistemas. Tesis de doctorado en desarrollo. 2011
[Celjuska & Vargas-
Vera 2004]
Vargas-Vera, M. & Celjuska, D., 2004. Event recognition on
news stories and semi-automatic population of an ontology. En
Proceedings of the 2004 IEEE/WIC/ACM International
Conference on Web Intelligence. pp. 615–618.
[Yarowsky 1995] Yarowsky, D., 1995. Unsupervised word sense disambiguation
rivaling supervised methods. En Proceedings of the 33rd annual
meeting on Association for Computational Linguistics. pp. 189–
196
Anexos
Anexos
Everardo Munguía Aguilar 68 | P á g i n a
Anexo 1. Herramientas utilizadas
FreeLing
Desarrollador
TALP Research Center, y Universidad Politécnica de Catalunya
Descripción
FreeLing incluye diccionarios morfológicos, estos diccionarios se incluyen algunas lenguas latinas,
freeling toma en cuenta que muchos elementos del diccionario son reconocidos gracias a un módulo de
análisis sufijo, capaz de detectar formas como pronombre enclítico verbal y diminutivo / sufijo aumentativo,
sustantivos y adjetivos. También cuenta con él en anotador probabilístico sufijo de las categorías de una
palabra, en caso de que no se encuentra en el diccionario. El Diccionario en español contiene más de 550.000
formularios correspondientes a más de 76.000 combinaciones de lemas, los diccionario se extraen de
EuroWordNet.
Características relevantes
Tokenización de texto
Separación de sentencias
Análisis morfológico
Tratamiento sufijo, re-tokenización de los pronombres clíticos
Reconocimiento de varias palabras flexibles
Contracción de la división
Predicción probabilística de categorías de palabras desconocidas.
Detección de nombrado de entidad.
Reconocimiento de fechas, números, relaciones, dinero, y las magnitudes físicas (velocidad,
peso, temperatura, densidad, etc.).
Etiquetado PoS.
Clasificación del nombrado de entidad.
Uso de WordNet para la anotación base y desambiguación.
Dependencia basada en reglas de análisis.
Actualmente los idiomas admitidos son el español, catalán, gallego, italiano, Inglés, Galés,
portugués y asturiano.
Referencia:[FreeLing s.d.]
Otros etiquetadores similares son, OpenNLP [OpenNLP s.d] y TreeTagger[Helmut Schmid s.d], que también
admiten el idioma español.
Anexos
Everardo Munguía Aguilar 69 | P á g i n a
Rendimiento
Tabla 18.- Etiquetadores.
Analizador Texto analizado
Pepe pedro y juan esta bien locos .
OpenNLP AQ NC CC SPS DD NC AQ FP
TreeTagger NC nada CC nada DM NC ADJ FS
FreeLing NCMS NCM CC VMIP DD0FS NCMS AQ0MP FP
Como se puede ver en la Tabla 18 cada etiquetador identificó cada palabra de forma parecida pero en
este caso destaco más FreeLing ya que presenta mejores resultados al reconocer nombres, los cuales resultan
muy importantes en el desarrollo del prototipo, en el sitio oficial de FreeLing proporcionan una sección donde
se encuentra la clasificación de estas estiqeuetas como el que se puede apreciar en la Tabla 19, presentan la
posición de la letra, el atributo, valor y el código que representa.
Tabla 19.- Categoría Gramatical de nombres propios.
Posición. Atributo Valor Código
1 Categoría Nombre N
2 Tipo Común C
Propio P
3 Género Masculino M
Femenino F
Común C
4 Número Singular S
Plural P
Invariable N
5-6 Clasificación semántica
Persona SP
Lugar G0
Organización O0
Otros V0
7 Grado Aumentativo A
Diminutivo D
Anexos
Everardo Munguía Aguilar 70 | P á g i n a
Jericho
Desarrollador
(Jericho s. f.): Developer Web Hosting - Open Source Software
Descripción
Jericho HTML Parser es una biblioteca de Java de código abierto distribuido bajo la Licencia Pública
Eclipse (EPL) y la GNU Lesser General Public License (LGPL) que permite el análisis y la manipulación de
un documento HTML, incluyendo etiquetas lado-servidor, tratamiento de HTML no válido y un alto nivel de
manipulación HTML, es de uso libre para aplicaciones comerciales que estén sujetas a los términos detallados
en cualquiera de los documentos de licencia, presentan la documentación completa de toda la API, además de
ser una referencia muy útil sobre los aspectos de HTML y XML en general.
Características relevantes
La presencia de un HTML mal formato no interfiere con el análisis del resto del documento, lo
que lo hace ideal para su uso en el "mundo real".
ASP, JSP, PSP, PHP y Mason son etiquetas de servidor que están explícitamente reconocidos
por el analizador. Esto significa que HTML normal se analiza correctamente, incluso si hay
etiquetas de servidor dentro del código, que es muy común.
Una nueva corriente basada en el análisis de opciones con el StreamedSource, clase que permite
el procesamiento eficiente de la memoria de archivos de gran tamaño utilizando un iterador.
Esto es esencialmente una StAX, alternativa con la capacidad de procesamiento de HTML y
XML sin necesidad de validar, así como varias otras características no disponibles en otros
programas de análisis de streaming.
En su forma estándar no es ni un evento ni programa de análisis basado en arboles, sino que
utiliza una combinación de búsqueda de texto simple, un reconocimiento eficiente de etiquetas y
la posición de etiquetas en memoria caché. El texto del documento origen se carga por primera
vez en la memoria, y sólo entonces se buscan los segmentos relevantes de los caracteres
relevantes de cada operación de búsqueda.
En comparación del analizador basado en árboles como DOM, las necesidades de recursos de
memoria puede ser mejor si sólo pequeñas secciones del documento deben ser analizados o
modificado. Los HTML mal formados pueden ser fácilmente ignorados, a diferencia de los
analizadores basados en un árboles, que debe identificar todos los nodos en el documento de
arriba hacia abajo.
A comparación de un analizador basado en eventos como el SAX, la interfaz se encuentra en un
nivel mucho más alto y más intuitivo, y una representación de árbol jerárquico del documento se
crea fácilmente si es necesario.
Las posiciones de inicio y fin en el documento de origen de todos los segmentos analizados son
accesibles, lo que permite la modificación de determinados segmentos del documento sin tener
que reconstruir el árbol del documento.
El número de fila y columna de cada posición en el documento origen son de fácil acceso.
Proporciona una interfaz sencilla pero completa para el análisis y manipulación de los controles
de un formulario HTML, incluyendo la extracción y la población de los valores iníciales, y la
conversión de sólo lectura o modos de visualización de datos. El Análisis de los controles de
formulario también permite que los datos recibidos de un “form” puedan ser almacenados y
presentados de una manera apropiada.
Tipos de etiquetas personalizadas pueden ser fácilmente definidas y registradas para el
Anexos
Everardo Munguía Aguilar 71 | P á g i n a
reconocimiento por el intérprete.
Funcionalidad integrada para extraer todo el texto de código HTML, adecuado para la
alimentación en un motor de búsqueda en el texto, tales como Apache Lucene.
Funcionalidad integrada para devolver el formato HTML en formato de texto simple.
Funcionalidad integrada para formato de código fuente HTML para identificar elementos
acuerdo a su profundidad en la jerarquía del elemento del documento.
Funcionalidad integrada para el código HTML compacto mediante la eliminación de todos los
espacios en blanco innecesarios.
Otros etiquetadores similares son: CyberNeko [Clark & Guillemot 2011] HTML Parser[HTML Parser 2006],
Parser Java, y JTidy [Quick 2011].
Referencias: [Jericho s. f., 2011]
Tabla comparativa de los diferentes Analizadores HTML
Analizar HTML: Este aspecto de considera importante porque HTML es el lenguaje que se va a tratar y del
cual se extraerá la información.
Tolerante a errores de sintaxis o de anidamiento: Este se considera importante ya que es muy común encontrar
una página HTML con errores de sintaxis o anidamiento provocando problemas al recorrer el código HTML o
saber dónde termina una etiqueta entre otros aspectos.
Extracción: Este punto indica que proporciona herramientas adicionales para la extracción de información
además del análisis HTML.
Corrección: Este punto indica que algunos analizadores proporcionan la utilidad para arreglar errores de
sintaxis permitiendo un buen análisis del código HTML.
Anexos
Everardo Munguía Aguilar 72 | P á g i n a
Función Jericho JTedy Parser
Java CyberNeko HTMLParser
Analizar XML ● ● ● ●
Analizar las entidades sin DTD ● ● ●
Automáticamente validar XML
Analizar HTML ● ● ● ● ●
Tolerante a errores de sintaxis o de anidamiento ● ●
Proporcionar el inicio y fin las posiciones de caracteres de cada evento ●
Proporcionar texto original de cada evento ●
Manejar eventos de servidor de etiquetas ●
Manejar eventos de declaración de XML ●
Manejar eventos de comentario ●
Manejar CDATA sección de eventos ●
Manejar tipo de documento de declaración de eventos ●
Permitir agrupamiento de texto sin formato ●
Permitir la especificación de tamaño máximo de búfer ●
Extracción ● ● ●
Transformación Ordena ●
Corrección ● ● Tabla 20.- Tabla comparativa de Analizadores HTML.
Anexos
Everardo Munguía Aguilar 73 | P á g i n a
TDB
Base de datos especializada en almacenamiento de tripletas (TDB)
TDB [TDB, 2011] forma parte de Jena el cual es un Framework semántico para Java inicialmente
desarrollado por HP Labs y una comunidad de software libre, Jena soporta RDF, RDFS, OWL y SPARQL,
además de notaciones como RDF/XML, N3 y Ntriples y Cuenta con cinco componentes básicos: Model,
OWL-API, RDF-API, interfaz SPARQL y la API y motores de inferencia.
El Framework de Jena incluye tres tipos de almacenamiento para la información del modelo:
En memoria,
En DB relacional (SDB) y
En BD especializada en almacenamiento de tripletas (TDB)
También su almacenamiento en memoria es útil para probar pequeños ejemplos, en tanto que SDB y
TDB son implementaciones utilizadas para el almacenamiento persistente, con otras palabras su
implementación fue hecha para que la información del sistema pueda persistir “sobrevivir” durante el tiempo
que sea requerida.
TDB está basado en tripletas con el propósito de almacenar y recuperar metadatos RDF a través de
un lenguaje de consulta, cada almacén de tripletas está optimizado para el almacenamiento y recuperación de
tripletas con la estructura sujeto-predicado-objeto. Existen distintas formas de almacenamiento de tripletas,
algunos han sido construidos como motores de base de datos desde inicio en tanto que otros han sido
construidos sobre motores de bases de datos relacionales.
TDB permite almacenamiento de grandes volúmenes de datos RDF y no requiere de las bases de
datos tradicionales ya que cuenta con un motor puramente desarrollado en java.
Ventajas y desventajas de TDB
TDB es un motor java desarrollado por Jena Project y optimizado para el almacenamiento y consulta RDF.
Ventajas
TDB es un grafo no-SQL persistente.
Es un sistema puramente java (independiente de la plataforma y de manejadores de BD
relacionales).
Diseñado para hardware de 64 bits (almacena e indexa la información de las tripletas).
Tiene un alto desempeño para la carga y consulta ya que no tiene la sobrecarga de SQL y JDBC
(mejor desempeño y escala que SDB).
Desventajas
Es no-transaccional, de tal manera que es ideal como un almacén RDF de alto desempeño, pero
para ambientes distribuidos es necesario utilizarlo junto con un administrador de transacciones.
Anexos
Everardo Munguía Aguilar 74 | P á g i n a
Comparativas
Las pruebas se tomaron de [Bizer & Schultz 2009] donde presenta una comparativa del desempeño
de almacenes RDF nativos contra el desempeño de traductores SPARQL-tú-SQL en distintas arquitecturas, en
otras palabras el desempeño de Jena TDB y Jena SDB, en Bizer & Schultz presentan 3 pruebas distintas que
consisten en:
Tiempo de carga.- Se refiere al tiempo acumulado en el que se carga un conjunto de datos de
la fuente “ontología” al almacén de datos”TDB”. Incluye el tiempo empleado en construir los
índices de las estructuras internas y generar las estadísticas sobre el conjunto de datos para la
optimización de las consultas.
Consultas por segundo.- Evalúa el número de consultas de un tipo específico que fueron
respondidas dentro de un periodo de tiempo de 1 segundo.
Mezcla de consultas por hora.- Evalúa el número de mezclas de consultas que son respondidas
en un periodo de 1 hora.
Los resultados obtenidos y los resultados se inclinan hacia TDB mostrándola como la mejor opción
SimMetrics
SimMetrics [SimMetrics 2011] es una API de java para medir la similitud o distancia entre 2
cadenas, es de uso libre y fue desarrollado por Sam Chapman. SimMetrics está compuesto por los siguientes
algoritmos de similitud:
Levenshtein
CosineSimilarity
EuclideanDistance
MongeElkan
Cada uno de estos algoritmos permite comprar 2 cadenas para saber que tanta similitud existe entre
ellas, usando un umbral de 0 a 1 para determinar esa similitud. En RExPO es usando el algoritmo de
MongeElkan, por su rapidez y para mejorar la calidad y la repetición de datos en la ontología.
Encriptación.
Para el algoritmo de encriptación de texto, no se uso uno en particular, sólo usaron diversas técnicas
para lograr un encriptado, realizando una serie de multiplicaciones y variaciones de palabras.
Anexos
Everardo Munguía Aguilar 75 | P á g i n a
Autómatas
Teléfonos
El autómata de teléfonos fue implementado para reconocer números de 12, 10 y 7 dígitos, que
contenga o no paréntesis en la lada, con guiones o sin ellos, con espacios o sin ellos, como se puede apreciar
en la Figura 24.
Figura 24.- Autómata de teléfono
El autómata de twitter fue implementado para identificar una cuenta de twitter ya sea por el URL o
por el “@” que contiene toda cuenta de twitter. A continuación en la Figura 25, se muestra el autómata.
Figura 25.-Autómata de Twitter
Anexos
Everardo Munguía Aguilar 76 | P á g i n a
Correos electrónicos
El autómata de correos electrónicos reconoce cualquier correo electrónico encontrado en el texto. A
continuación en la Figura 26 se muestra el autómata.
Figura 26.- Autómata de correos electrónicos
Anexos
Everardo Munguía Aguilar 77 | P á g i n a
Anexo 2.- Bolsa de palabras y marcadores lingüísticos
Bolsa de palabras
Palabra Sinónimos
persona
empleado
directorio
Mapa del sitio
directiva
coordinador
personal
profesores Docencia, docentes, Investigadores, Investigador
Alumnos Estudiantes, Investigadores, Investigador
egresados
quienes somos
administración
servicios
dirección
coordinación
centro
laboratorio
posgrado Posgrados, maestrías
investigación investigar
doctorados
electrónica
computación
mecatrónica
ingeniería
mecánica
desarrollo desarrollar
ciencia
tecnología ciencia y tecnología
innovación
tecnológico
científico
Anexos
Everardo Munguía Aguilar 78 | P á g i n a
universidad
laboratorio
diplomados
licenciatura
Educación
Escuela
Computo
Ciencias Computacionales
Staff
MARCADORES LUIGUISTICOS
Redes Sociales
Orkut linkedin flickr tuenti
meneame tumblr facebook Blogspot
delicious myspace youtube twitter
Titulo de una persona
DR. PHD. DRA MTRO MTRA LIC M.C ING L.I Q.F.B
M.V.Z L.S.C.A L.R.I. ARQ. L.C.C I.S.C M.T.R.I.
Documentos
pdf zip rar jpg png cab afa deb 7z bzip2
tif gif bmp mng jpeg pic svg ico
Departamento
Departamento Dep Depa Depto división
ramo sección
Teléfonos
teléfono tel tels teléfonos fax
Anexos
Everardo Munguía Aguilar 79 | P á g i n a
Publicación
ISBN publicación Publicaciones ISSN No Vol pp "p.p.
Dirección
dirección Dir. domicilio colonia col. CP. postal # No Av.
avenida interior delegación Fraccionamiento manzana lote ESQ. Zona BLVD.
Locales local Calle Callejón CD Bulevar
Anexos
Everardo Munguía Aguilar 80 | P á g i n a
Anexo 3.- Catálogo de páginas Web
Institución Sitio Web CICESE http://www.cicese.edu.mx/index.php
Instituto Politécnico Nacional http://www.cic.ipn.mx/
Centro de Investigación y Desarrollo de la
Educación.
http://www.cide.cl/index.php
Conacyt http://www.conacyt.mx/Paginas/default.aspx
Centro de Investigaciones y Estudios Superiores en
Antropología Social
http://www.ciesas.edu.mx/
Cinvestav http://www.cinvestav.mx/
Instituto Politécnico Nacional http://www.ipn.mx/
Tecnológico de Monterrey http://www.itesm.edu
FIDETEL http://www.fidetel.gob.ve/
Universidad Autónoma de Baja California http://iide.ens.uabc.mx/blogs/iide/
Universidad Autónoma de San Luis Potosí http://www.uaslp.mx
Universidad Cuauhtémoc http://www.cuauhtemoc.edu.mx/
Universidad Pedagógica Nacional http://www.upn.mx/
Universidad Mesoamericana http://www.universidadmesoamericana.edu.mx/
Universidad Tangamanga http://www.universidadtangamanga.edu.mx/
Universidad de Valle de México http://www.uvmnet.edu/
Universidad La Salle http://www.ulsa.edu.mx/
Universidad Iberoamericana http://www.uia.mx/
Universidad Potosina http://www.campusup.edu.mx/univpotosina/
Universidad Autónoma de Chapingo http://www.chapingo.mx/
Centro de Investigación y Docencia en Humanidades
del Estado de Morelos
http://www.cidhem.edu.mx
Universidad Noroeste http://www.univer.edu.mx/
Universidad Autónoma de Guerrero http://www.uagro.mx/
Universidad Tecnológica de la Región Norte de
Guerrero
http://www.utrng.edu.mx/
Centro de ingeniería y Desarrollo Industrial http://cidesi.com/joomla/index.php
Centro Interdisciplinario de Investigación y
Docencia en Educación Técnica
http://www.ciidet.edu.mx/web/index.php
Cablemas http://www.cablemas.com.mx/
Nextel http://www.nextel.com.mx/index.htm
Instituto Tecnológico de Querétaro http://www.itq.edu.mx/
Anexos
Everardo Munguía Aguilar 81 | P á g i n a
Universidad Anáhuac http://www.anahuacqro.edu.mx/
Universidad del Golfo de México Norte http://www.ugm.edu.mx/
Universidad TEC Milenio http://www.tecmilenio.edu.mx/home.php
Benemérita Universidad Autónoma de Puebla http://www.buap.mx/
Centro Internacional de Prospectiva y Altos Estudios http://www.cipae.edu.mx/
Centro Universitario Interamericano http://www.interamericano.edu.mx/mid/
Centro Avanzado de Comunicación Eulalio Ferrer http://www.cadec.edu.mx/cadec/home.html
Universidad Itaca http://www.i.edu.mx/educacion.asp
Centro de Estudios en Ciencias de la Comunicación http://www.cecc.edu.mx/portal/