Martes 20 de Mayo

Anuncio
HACIA LA RECUPERACION DE INFORMACIÓN ESPECIFICA DE LA WEB
a
a
Delia Irazú Hernández Farías , Luis Ernesto Mancilla Espinoza , J. Guadalupe Ramos Díaz
b
a
División de Estudios de Posgrado e Investigación, Instituto Tecnológico de León, Avenida
Tecnológico S/N, C.P. 37290, [email protected], [email protected].
b
Departamento de Sistemas y Computación. Instituto Tecnológico de La Piedad, Av. Tecnológico
No. 2000, La Piedad, Mich., México C.P. 59300, [email protected]
RESUMEN:
Encontrar información de interés particular, en páginas web, con el fin de elaborar reportes
significativos es un problema típico de la Web. Para encarar este reto ha surgido la línea de estudio
de las ciencias computacionales denominada “recuperación de información”, del inglés information
retrieval (IR), cuyo fin es el descubrimiento de información específica a partir de grandes
volúmenes de datos.
En el caso de la Web existen estándares tales como: XML, OWL, RDF y otros más ligeros como:
Microdata, RDFa y Microformatos que permiten agregar metadatos a los documentos web y que
han dado lugar a la Web Semántica. Tales metadatos etiquetan el contenido de las páginas web de
modo que se posibilita la recuperación de información específica. Sin embargo, existen millones de
páginas que no contienen metadatos y para las cuales tales estándares no constituyen una
solución. En este sentido existen técnicas de computación suave (soft-computing) que permitirían
clasificar documentos web para descubrir, por ejemplo, el tópico expuesto en un documento web.
En el presente trabajo, introducimos una descripción acerca de los estándares de metadatos
disponibles para recuperar información. Del mismo modo, explicamos cómo pueden ayudar las
técnicas de computación suave en la recuperación de información. Finalmente, se documenta la
integración de un rastreador de información de la Web que descarga páginas web para su análisis
en una computadora local y que emplea tecnologías de código abierto.
1. INTRODUCCIÓN
Por años, la búsqueda de información relevante a partir de la Web ha seguido un patrón típico: se
consulta un servidor de búsqueda, se analizan los resultados devueltos y finalmente se discrimina
la información que puede ser útil al usuario. Este proceso, eminentemente manual, es insuficiente
para aprovechar la enorme cantidad de información presente en la Web.
Teniendo en cuenta un enfoque moderno para llevar a cabo el filtrado de documentos web, se
pueden explotar las anotaciones (etiquetas XHTML) presentes en la Web Semántica, ya que éstas
contienen suficientes descriptores a partir de sus metadatos. Sin embargo, existe gran cantidad de
documentos web que no tienen tales anotaciones. Consideramos que la incorporación de métodos
de clasificación automática de texto (que no requieren anotaciones semánticas), permitirían
encontrar páginas web asociadas a un tema específico y reducir el espacio de búsqueda. Así pues,
el uso o mejoramiento de técnicas de clasificación para descubrir información más específica, tal
como un producto con un posible precio, marca o características es un tema de interés general.
Creemos que ambas aproximaciones deberían considerarse en una herramienta de extracción de
información de la Web. El presente trabajo forma parte una tesis de Maestría en Ciencias en
Ciencias Computacionales que está en desarrollo.
En las secciones que siguen se enumeran las tecnologías que emplean metadatos, después se
presenta un resumen acerca de métodos de clasificación de texto y finalmente, se menciona un
ejercicio de integración de un rastreador de páginas web que formará parte, en un futuro, de un
sistema para recuperación de información de la Web.
2. DEFINICIÓN Y RECUPERACIÓN DE INFORMACIÓN EMPLEANDO METADATOS
El uso de metadatos está asociado a la Web Semántica, donde se define como objetivo
fundamental que los contenidos web incluyan metadatos que describan la información incorporada
en las páginas web1, para agregar significado y relaciones a los datos. La Web Semántica permite
la extracción precisa de información a partir del aprovechamiento de sus metadatos.
Entre las tecnologías para la Web Semántica sobresalen estándares tales como el lenguaje
extensible de marcado (XML del inglés extensible markup language), el marco de descripción de
recursos (RDF del inglés Resource Description Framework) y el lenguaje de ontologías web (OWL
del inglés Ontology Web Language). El primero proporciona un lenguaje de marcado de datos
universal, el segundo es propiamente un subconjunto de XML especializado para la descripción de
recursos de información y el tercero proporciona un medio para la definición de vocabularios
formales (ontologías) para emplear en la descripción de recursos.
Ejemplo 1: A continuación introducimos un ejemplo de un archivo escrito en RDF que describe
información de una persona y en la derecha, parte de la definición formal del vocabulario
empleado en la descripción (escrito en OWL y en RDF Schema, una extensión de RDF).
Código RDF que describe contenido
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf=http://xmlns.com/foaf/0.1/
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<foaf:Person>
<foaf:name>Juan Pérez</foaf:name>
<foaf:mbox rdf:resource="mailto:[email protected]" />
<foaf:homepage rdf:resource="http://www.jperez.com/" />
<foaf:nick>Juanito</foaf:nick>
<foaf:interest>
<rdf:Description rdf:about="http://www.abc.org"
rdfs:label = "ABC"/>
</foaf:interest>
<foaf:knows>
<foaf:Person><foaf:name>Luz Pérez</foaf:name></foaf:Person>
</foaf:knows>
</foaf:Person>
</rdf:RDF>
Vocabulario FOAF (en OWL y RDFSchema)
<rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Person"
rdfs:label="Person"
rdfs:comment="A person."
vs:term_status="stable">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
<rdfs:subClassOf>
<owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Class rdf:about =
"http://www.w3.org/2000/10/swap/pim/contact#Person"/>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Class rdf:about =
"http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
</rdfs:subClassOf>
...
</rdfs:Class>
En el ejemplo, el archivo inicia con la anotación rdf:RDF para indicar que se trata de una marca
XML para RDF. A continuación se introducen tres namespaces mediante la anotación xmlns. Las
anotaciones namespace tienen el mismo sentido que en XML, es decir, indican el contexto en el
cual dos prefijos (e.g., foaf) significan lo mismo, o mejor dicho, poseen la misma semántica. Por
ejemplo, si el prefijo rdf se encuentra en dos archivos distintos, pero en cada caso, al declarar el
namespace, hacen referencia a URIs (del inglés Uniform Resource Identifier) idénticos, entonces
tienen la misma semántica en ambos archivos (namespaces diferentes indicarían significado
distinto). Es común que el URI asignado al namespace haga referencia a alguna especificación
asociada al prefijo, por ejemplo, http://xmlns.com/foaf/0.1/ apunta a la especificación de la
ontología FOAF2 (del inglés Friend Of A Friend) que se emplea para describir datos y relaciones
entre personas. Posteriormente, en el ejemplo, aparece un conjunto de etiquetas autoexplicativas
que describen datos de la persona y sus relaciones con otras. Tales etiquetas forman parte del
vocabulario FOAF.
Recientemente, hay una tendencia hacia la incorporación de esquemas de marcado más ligeros
como lo son: RDFa, Microdata y Microformatos3. RDFa es un subconjunto de RDF, Microdata es
parte del estándar de HTML 5 y Microformatos es una iniciativa independiente impulsada por la
empresa Technorati. Tales esquemas permiten incorporar fragmentos de información enriquecidos
(rich snippets) que han dado lugar a la llamada web semántica en minúsculas4. A continuación un
ejemplo:
Microformatos
Microdata
RDFa
<h2> Eventos académicos </h2>
<div class="vevent">
Fecha:
<span title="2011-05-18" class= "dtstart">
Del 18 al 20 de mayo </span>
<span class="summary">
VIII Encuentro Participación de la Mujer
en la Ciencia </span>
<span class="location">
CIO, Centro de Investigación en Optica,
León Gto. </span>
<div class="description">
Es
un evento que promueve la
participación de la mujer en la ciencia y la
difusión de sus trabajos científicos. </div>
</div>
<div itemscope itemtype=
"http://data-vocabulary.org/Person">
<span itemprop="name">J. Guadalupe
Ramos Díaz </span>,
Y mi apodo es:
<span itemprop="nickname"> joguar
</span>.
Soy <span itemprop="title"> Ingeniero en
Sistemas Computacionales
</span> y trabajo como.
<span itemprop="role"> Profesor
Investigador </span>.
Del <span itemprop="affiliation">
Instituto Tecnológico de La Piedad
</span>.
</div>
<div xmlns:p = http://rdf.data-vocabulary.
org/# typeof = "p:Person">
<span property = "p:name"> J. Guadalupe
Ramos Díaz </span>,
Y mi apodo es:
<span property="p:nickname"> joguar
</span>
Soy <span property="p:title"> Ingeniero en
Sistemas Computacionales
</span> y trabajo como
<span property="p:role">Profesor
Investigador</span>
Del <span property="p:affiliation"> Instituto
Tecnológico de La Piedad
</span>
</div>
En los tres casos se emplean metadatos para describir el contenido que se presenta en una página
web. A partir de tales descriptores es fácil rescatar el título, el rol, o la afiliación de una persona, o
bien, determinar el resumen, localización o descripción de un evento.
3. TRATAMIENTO DE DOCUMENTOS WEB EN AUSENCIA DE METADADOS
El problema general de clasificación está constituido por dos subproblemas que corresponden:
primero, a determinar la clase a la que pertenece un objeto a partir de un conjunto de ejemplos de
objetos cuya clasificación es conocida; y segundo, se tiene un conjunto de objetos sin ninguna
agrupación y se desea determinar tanto el número de clases existente como a la que pertenece
cada objeto.
Podemos definir un sistema clasificador como un algoritmo que ubica nuevos objetos en una clase
perteneciente a un conjunto finito definido previamente, con base en la observación de los atributos
o características de los objetos. Las categorías a las que pertenecen los objetos pueden estar
definidas de antemano, de forma que existen etiquetas asociadas a cada clase representando
conceptos, en este caso, el aprendizaje realizado por el clasificador se considera como
supervisado. Sin embargo, las clases existentes pueden ser desconocidas, por lo cual, el
clasificador deberá determinarlas, efectuándose en este caso un aprendizaje no supervisado.
Una de las principales etapas de un sistema de clasificación es la extracción de características o
propiedades. La extracción de características es una de las etapas de la cual depende el
desempeño del sistema de reconocimiento. El objetivo principal de esta etapa es extraer la
información más discriminante eliminando la información innecesaria. La similitud entre las
representaciones de dos objetos debe estar en relación directa con la similitud con la que se
suelen percibir dichos objetos. Objetos de la misma clase deberían tener representaciones
similares, mientras que objetos de clases distintas deberían tener representaciones claramente
diferentes. El entrenamiento básicamente consiste en utilizar alguna forma de aprendizaje que le
permita al sistema aprender características que formarán el conjunto de entrenamiento. La
clasificación es la última etapa, donde el sistema determina a qué conjunto pertenece el nuevo
vector.
La Clasificación Automática de Textos tiene sus orígenes en IR y últimamente ha recibido más
atención debido al incremento en la cantidad de información disponible en formato electrónico. Es
por esta razón, que cada vez es mayor la necesidad de herramientas que ayuden a satisfacer las
necesidades del usuario en cuanto a la información que busca, y además encontrar ésta en un
tiempo adecuado. El objetivo de la clasificación automática de texto es categorizar documentos
dentro de un número fijo de categorías predefinidas en función de su contenido. Un mismo
documento puede pertenecer a una, varias, todas o ninguna de las categorías dadas. Cuando se
utiliza aprendizaje automático, el objetivo es aprender a clasificar a partir de ejemplos que permitan
hacer la asignación a la categoría automáticamente.
La construcción de un Clasificador Automático de Texto comienza con la recopilación y
clasificación manual de un conjunto de documentos (documentos de entrenamiento), después se
llevan los documentos a una representación adecuada para que finalmente se puedan aplicar
distintos algoritmos de clasificación y así obtener el clasificador.
Para realizar la Clasificación de Texto, lo más importante es contar con una forma consistente de
representarlo, de manera que esa representación pueda generarse de manera automática.
Existen diferentes formas de efectuar dicha representación como lo son: el modelo vectorial y la
estadística textual.
A continuación se describen brevemente algunos de los métodos de clasificación más
comúnmente utilizados en la clasificación de textos:
 kNN. El método de los k-vecinos o kNN es un método supervisado cuyo argumento principal es
la distancia entre instancias o prototipos. El método consiste básicamente en comparar la
nueva instancia a clasificar con los datos k más cercanos conocidos, y dependiendo del
parecido entre los atributos el nuevo caso se ubicará en la clase que más se acerque al valor
de sus propios atributos. La principal dificultad de este método consiste en determinar el valor
de k, ya que si toma un valor grande se corre el riesgo de hacer la clasificación de acuerdo a la
mayoría (y no al parecido), y si el valor es pequeño puede haber imprecisión en la clasificación
a causa de los pocos datos seleccionados como instancias de comparación. La distancia es el
criterio de comparación principal usado en los métodos basados en vecindad, por eso es
conveniente mencionar algunas de las diferentes formas usadas para su medición. Entre las
principales medidas de distancia que se utilizan encontramos: la Distancia Euclidiana,
Manhattan, de Chebychev y de Mahalanobis.
 NaiveBayes. Es un clasificador estadístico que pueden predecir tanto las probabilidades del
número de miembros de una clase, como la probabilidad de que una clase, como la
probabilidad de que una muestra dada pertenezca a una clase particular. Este tipo de
clasificadores, basados en el teorema de Bayes, han demostrado una alta exactitud y
velocidad cuando se han aplicado a grandes bases de datos textuales. La principal razón de
implementar el Teorema de Bayes en un problema de clasificación, es poder estimar las
probabilidades a priori de cualquier hipótesis consistente con el conjunto de datos de
entrenamiento para así escoger la más probable. Dado un ejemplo x, el clasificador se basa
en encontrar la hipótesis más probable que describa ese ejemplo. Podemos estimar la
probabilidad contando las veces que el ejemplo aparece en el conjunto de entrenamiento y
dividiéndolo por el número total de ejemplos que forman este conjunto. Este clasificador
asume que los valores de los atributos son condicionalmente independientes dado el valor de
la clase. También asume que el efecto de un valor del atributo en una clase dada es
independiente de los valores de los otros atributos. Esta suposición se llama independencia
condicional de clase.
4. INTEGRACIÓN DE UN CRAWLER PARA DESCARGAR DOCUMENTOS WEB
Para el análisis de contenido y recuperación de información de páginas web es necesario primero
construir un rastreador (del inglés crawler) de páginas web. El rastredor inicia con un conjunto de
URLs (del inglés Uniform Resource Locator), a partir de los cuales extrae y rastrea los hipervínculos existentes que coinciden con el nombre de dominio del URL inicial. De este modo
descarga un conjunto de documentos web, que quedan listos para el análisis. En nuestro caso,
descargamos el código libre de Yooreeka5, una librería para minería de datos que a su vez hace
uso de un conjunto de módulos de tecnología Apache™ (Lucene™, NekoHTML, Xerces,
HttpClient, Commons-logging, y Common-codec) que implementan un buscador de contenido web.
Integramos Yooreeka en un proyecto en el entorno de desarrollo Netbeans, la interfaz se muestra
enseguida.
Indicamos
como
dirección
de
inicio:
http://ciberconta.unizar.es/leccion/introduc/
482.HTM, un documento que contiene
información de agentes inteligentes.
Enseguida se lanzó una consulta con la palabra
“agente”, el resultado es el que se muestra
abajo.
Search results using Lucene index scores:
Query: agente
Document Title: Agentes inteligentes, por Carlos Serrano, Universidad de Zaragoza (España)
Document URL: http://www.ciberconta.unizar.es/leccion/INTRODUC/482.HTM --> Relevance Score: 0.036573372781277
5. CONCLUSIONES
En el presente trabajo se ha presentado un marco teórico compuesto por un lado, por estándares
asociados a la Web Semántica y por otro, técnicas de computación suave de clasificación de texto.
Ambos fundamentos constituyen un punto de partida acerca de los programas que se deben
construir para la extracción de información específica de la Web. Hemos introducido un ejercicio de
integración de un proyecto de código abierto (Yooreeka) para el rastreo de páginas web. El rastreo
es propiamente el primer módulo que se requiere en una herramienta para buscar información de
la Web. La literatura y tecnologías analizadas hasta el momento evidencian la relevancia del tema
y permiten concebir como posibles nuevas aplicaciones de análisis de información con un uso
potencialmente comercial.
BIBLIOGRAFÍA
1. T. Berners-Lee, J. Hendler, and O. Lassila, “The Semantic Web”, Scientific American
Magazine, May 2001.
2. L. Yu, Introduction to the Semantic Web and Semantic Web Services. Chapman &
Hall/CRC, 2007.
3. Google, “Rich snippets (microdata, microformats, and RDFa)”, Google webmaster central,
2011, http://www.google.com/support/webmasters/bin/answer.py?answer=99170
4. R. Khare, “Microformats: The Next (Small) Thing on the Semantic Web?,” IEEE Internet
Computing, vol. 10, no. 1, pp. 68–75, 2006.
5. H. Marmanis, D. Babenko, "yooreeka: A library for data mining, machine learning, soft
computing, and mathematical analysis", 2011, http://code.google.com/p/yooreeka/
6. René Venegas, Clasificación de textos académicos en función de su contenido léxicosemántico. Revista Signos V. 40, N. 63. Valparaíso, Chile.
7. Carlos G. Figuerola, José L. Alonso Berrocal, Ángel F. Zazo Rodríguez, Emilio Rodríguez,
Algunas técnicas de Clasificación Automática de Documentos. Universidad de Salamanca.
Grupo REINA.
8. Juan Etxeberría, Eduardo García, Javier Gil, Gregorio Rodríguez, Análisis de Datos y
Textos, Editorial RAMA.
Descargar