WHISK Extracción automática de información por Francisco Javier Márquez López
Índice WHISK Introducción Fundamentos WHISK en funcionamiento Debilidades Conclusiones Bibliografía
Índice WHISK Introducción Fundamentos WHISK en funcionamiento Debilidades Conclusiones Bibliografía
¿De qué hablamos? Nuestro objetivo: Automatizar el manejo de esa información Dotar a los sitios web de APIs Imprescindible poder extraer información de esos sitios
Extracción de información Nombre Título Dirección Edad DocumentosExtractor de informaciónAtributos Reglas de extracción
¿Qué es WHISK? Stephen Soderland 1999 Basado en expresiones regulares Sistema de inducción de reglas supervisado Valido para lenguajes estructurado y lenguaje natural Extrae relaciones
Índice WHISK Introducción Fundamentos WHISK en funcionamiento Debilidades Conclusiones Bibliografía
Conjunto de entrenamiento WHISK Conjunto de entrenamiento Documentos a etiquetarDocumentos
Expresiones regulares “*(Number) *..*>(*):(*).*>(*)</” Regla:
Clases semánticas “* (Marcas):*<a” Marcas = (Ford | Renault | Citroën | FIAT | Opel | Toyota) En WHISK hay dos clases semánticas predefinidas: Digit y Number
Número de errores de extracción + 1 Número de intentos de extracción Bondad de una regla L = “* (Marcas):*<a” OK Error laplaciano:
Índice WHISK Introducción Fundamentos WHISK en funcionamiento Debilidades Conclusiones Bibliografía
Página de profesores del LSI Queremos extraer: Nombre Categoría Teléfono Despacho Correo Página personal Asignaturas
… TAGS Profesor {Nombre Bernárdez Jiménez, Beatriz} {Categoria Profesor Asociado} {Telefono } {Despacho F1.47} {Correo {Pagina {Asignatura Bases de datos} {Asignatura Diseño de Bases de Datos} {Asignatura Ingeniería del Software III} {Asignatura Introducción al Desarrollo de Sistemas Software} Etiquetando
Creación de reglas Un profesor por página: Reglas particulares para cada dato. ID:: 1 Pattern:: * (*) Output:: Profesor {Nombre $1} Una regla para cada etiqueta no cubierta Bernárdez Jiménez, Beatriz
Regla inicial: “* ( * ) *” Formas de anclaje: Usando los elementos alrededor del dato: “* (*) *” Usando los elementos dentro del dato a extraer: “*(Number)*” Anclaje de reglas Teléfono
Ahora tenemos dos reglas candidatas: “* (*) *”“*(Number)*” Bernárdez Jiménez, Beatriz Datos personales Categoría Profesor Asociado Teléfono Ninguna de las dos hará una extracción correcta Hay que ampliar las reglas ¡No funcionan los anclajes!
“* (*) ” “* * (*) ” “*Bernárdez* (*) ” “* * (*) ” “*Jiménez* (*) ” “*,* (*) ” “* * (*) ” … Conjunto de entrenamiento L1 L2 L3 L4 L5 L6 … Ampliando las reglas Error laplaciano más pequeño
Anclaje exterior Anclaje interior Conjunto de entrenamiento L1 L2 Eligiendo anclaje Error laplaciano más pequeño
“*Teléfono* (*) ” La mejoramos hasta: No se encuentra ninguna mejora en el error laplaciano La regla creada cubre todas las etiquetas Alcanzamos un límite Seguimos ampliando reglas
Cubiertas todas las reglas del conjunto de entrenamiento El conjunto de reglas Podado Reglas más generales Menos solapamiento
Ciclo de vida de WHISK Ampliación de anclajes Anclaje Ampliación de reglas
Publicaciones científicas: DBLP Queremos extraer: Título Autores Conferencia o revista Año
Varias publicaciones por página: Reglas particulares para cada publicación en vez de para cada dato ID:: 1 Pattern:: *(Number) *..*>(*):(*).*>(*) Output:: Publicacion {Agno $1}{Autores $2}{Titulo $3}{publicadoEn $4} Varios atributos en una regla Asociación implícita de atributos Reglas multislot
Anclaje multislot Anclamos los slots de uno en uno: “*(*)*(*)*(*)*(*)*”“*(*)*(*)*(*)*(*)*” Y así sucesivamente… “*(Number) *(*)*(*)*(*)*”“*>(*) *(*)*(*)*(*)*” “*(Number) *(Roger*Smith)*( *)*(*)*” “*(Number) *>(*):*(*)*(*)*”
Índice WHISK Introducción Fundamentos WHISK en funcionamiento Debilidades Conclusiones Bibliografía
Datos compuestos La etiqueta de autores quedaría: {Autores Roger A. Golliver, Silvia M. Müller, Stuart F. Oberman, Martin S. Schmookler, Debjit Das Sarma, Andrew Beaumont-Smith}
Datos compuestos (soluciones) Hacer reglas para cada dato, en vez de reglas multislot: Autores = Autor + Autor + Autor + Autor Si se hiciera esto con reglas multislot habría explosión de reglas Se rompen las relaciones entre datos pero se pueden rehacer de nuevo mediante un ontologizador Llamar al algoritmo de manera recursiva
Un dato y varias etiquetas
Datos con más de un significado
Otras debilidades Poco eficiente en páginas web grandes Cambios de posición: Explosión de reglas Registros intercalados
Índice WHISK Introducción Fundamentos WHISK en funcionamiento Debilidades Conclusiones Bibliografía
En resumen… Algoritmo todoterreno Extrae relaciones, pero usar un ontologizador es adecuado Cubre la necesidad de extraer información de un sistema wrapping
Índice WHISK Introducción Fundamentos WHISK en funcionamiento Debilidades Conclusiones Bibliografía
Enlaces Stephen Soderland Machine learning (Learning information extraction rules) Kluwer Acedemic Publishers Rafael Corchuelo Info extraction Seminario TDG-Seville 11/05/07
THE END Gracias por su atención