690 likes | 1.03k Views
Charla Tesis I Magíster en Ciencias mención computación. "Estimación de Confiabilidad de Sucesos Futuros Extraídos desde Fuentes de Noticias y su Utilización en un Motor de Búsqueda”. Iván M. Rivera Jofré Profesor Guía: Dr. Ricardo Baeza-Yates Marzo 2006. Contenido de la Charla.
E N D
Charla Tesis IMagíster en Ciencias mención computación "Estimación de Confiabilidad de Sucesos Futuros Extraídos desde Fuentes de Noticias y su Utilización en un Motor de Búsqueda” Iván M. Rivera Jofré Profesor Guía: Dr. Ricardo Baeza-Yates Marzo 2006
Contenido de la Charla • Motivación y Objetivos • Descripción del Proceso • Trabajo Previo • Desarrollo • Prototipo
El futuro… El 9 de Junio del año 2006 comienza el XVIII Campeonato Mundial de Fútbol, en Alemania En el primer trimestre de 2006, Sky Airlines iniciará 7 vuelos semanales a Madrid En el año 2011 se cierra la línea de explotación de sulfuros en la mina de El Salvador 11 de Julio de 2010. Eclipse Total de Sol en la Isla de Pascua. Hora: 16:10:57. Duración 4 minutos 44 segundos 07/07/2007: Se publica la séptima y última entrega de la serie de libros Harry Potter El año 2009 estará disponible una vacuna contra la Malaria
Motivación • Toda esta información fue extraída de la Web. • Sin embargo, no es simple llegar a esta información, debo saber dónde buscar y prácticamente saber qué es lo que busco.
Motivación • Conocer sucesos del futuro puede influir en: • una decisión de inversión • un programa político • un viaje • una planificación de un evento • una postulación a un trabajo • etc. • Pero además se requiere saber qué tan confiable es la información
Oportunidad • Recuperar desde fuentes confiables en la Web, información sobre eventos futuros y su contexto. Catalogarlos e indexarlos. • Incorporar este índice de eventos futuros en un motor de búsqueda permitiendo la búsqueda por contenido o por fecha o lapso de tiempo
Ejemplo • Query: materia: "cobre Chile", periodo: "hoy – 2015" • - Cierre de planta de sulfuros de El Salvador para el año 2011 • - El año 2013 se inicia el Proyecto Chuquicamata Subterránea • - La producción de cobre chileno se expandirá 26% al año 2012 • - Codelco comienza la explotación de la mina Gaby el próximo año • Codelco aumentará la inversión a 1.7 billones de US$ este año • En Octubre, el precio del cobre caerá a US$1.25 … más otros 50 eventos aproximadamente
Recuperación del Futuro • En "Searching the future" (Baeza-Yates, 2005) se define el problema "Recuperación del Futuro". • Recuperar información descriptiva de eventos que tienen asociada una ubicación temporal en el futuro, desde artículos de noticias, para luego utilizarlos en un sistema de Recuperación de Información que responda a consultas que combinen texto y tiempo. • Se reformula el ordenamiento de los resultados recuperados definiendo un nivel de confiabilidad(estimación numérica)para cada uno de estos eventos R. Baeza-Yates. "Searching the future". ACM SIGIR Workshop MF/IR 2005.
Objetivo de la Tesis Obtener una implementación de un sistema de Recuperación del Futuro y un algoritmo de estimación de un coeficiente de confiabilidad de un documento basado en técnicas de Procesamiento de Lenguaje Natural, con el fin de que este coeficiente se incluya en un algoritmo de ordenamiento de resultados de un sistema de Recuperación de Información
News Downloading News Text Extraction Inverted Index Search Engine Time Segments Index Temporal Entities Detection & Annotation Future Events Extraction Event Index Future events Confidence Level: 45 % Confidence Level Calculation Ranking Calculation
Antecedentes • Extracción de Información(Information Extraction, IE)- Se enfoca en encontrar información específica en documentos relativamente no estructurados - Típicamente se reconocen ciertos patrones lingüísticos y se procesan. Además el análisis no se realiza sobre todo el documento, sino que en forma parcial.
Proceso: recuperación del texto • El proceso se inicia con la recuperación de artículos de noticias (típicamente páginas HTML). • Problemas: • Texto del artículo no viene incluido en RSS • Editores dificultan la extracción de texto • Comentarios de lectores a veces más extensos que el artículo • Límites del texto difícil de detectar • Extracción de Fecha de Publicación
Proceso: Extracción de Expresiones Temporales • Una expresión temporal se define como trozos de texto que expresan alguna información temporal explícita o inferida. • Ejemplos: • October 15th, 2006 • 13/03/2006 3 p.m. • On Sunday • This Week-end • Next year • 2007-2008 • Tomorrow • In July • Next day after the meeting • In several weeks • Friday at noon • Next Winter • Before Christmas • During the World Cup
Tipos de Expresiones Temporales • Las expresiones temporales pueden clasificarse en: • ExplícitasOctober 24th 2007 03-13-2006 • RelativasTomorrow next Monday next Year • Vagasafter Christmas in several weeks by the end of the day
Resolución de Expresiones Temporales • Un aproximación es utilizando expresiones regulares. Por ejemplo, si se considera:
Reconocimiento de Expresiones Temporales • Este autómata permite encontrar diversas expresiones que incluyen el mes, por ejemplo: "by August 14th, 2006"
Resolución de Expresiones Temporales • Una vez detectada la expresión temporal se debe encontrar la fecha o período al que hace referencia si es que la expresión no fuese explícita. • Reglas: • "tomorrow" • "next week" fecha actual + 1 día Periodo : [ primer día próxima semana; último día próxima semana], / fecha_actual = '17/03/2006'
Definiciones • Sea t un instante, definido como un elemento dentro de un conjunto de instantes T, línea de tiempo global. Un intervalo ti, tk T, ti < tk es un conjunto de instantes{ tj,tj | i ≤ j ≤ k }
Definiciones • Sea G una granularidad, definida como una unidad básica de tiempo para un calendario dado. • Por ejemplo, en el calendario gregoriano es posible definir las granularidades: Gyear, Gmonth, Gweek, Gday • En un contexto financiero se puede definir una granularidad: Gquarter • En un contexto deportivo se puede definir una granularidad: Gseason
Definiciones • Sea C un calendario, definido como una tripleta < T, , > donde: T es la línea de tiempo global de C, es el conjunto de granularidades de C, es un conjunto de funciones de conversión entre las granularidades. • Por ejemplo, en un calendario gregoriano, las funciones de permiten definir cuántos días tiene un mes, o cuántos meses un año.
Definiciones • Las funciones de conversión de son del tipo: fCG1 G2(i1, i2, …) NG2 • Por ejemplo: fCGmonth Gday(2006, 3) 31 fCGmonth Gday(2006, 2) 28 fCGyear Gday(2006) 365 fCGyear Gmonth(2006) 12
Definiciones • : G T T Retorna el punto de inicio de un elemento de granularidad G • : G T T Retorna el punto de inicio del siguiente elemento de granularidad G • L: GINT T Retorna el instante desplazado hacia la izquierda en la línea del tiempo en n unidades de la granularidad G • R: GINT T Retorna el instante desplazado hacia la derecha en la línea del tiempo en n unidades de la granularidad G
Ejemplos • Si tr es la fecha actual (Gweek, tr ) = 03-13-2006 (Gmonth, tr ) = 04-01-2006 (Gtuesday, tr ) = 03-21-2006 (Gquarter, (Gmonth, tr ) ) = 07-01-2006 R (Gday, 1, tr ) = 03-18-2006 tomorrow
Resolución de expresiones temporales utilizando funciones matemáticas • Expresión: "en tres meses más" • Fecha de Referencia: 2006-03-17 R (Gmonth, 3, tr ) = = R (Gday, fC Gmonth Gday(y(tr), m(tr) + k), tr ) = R (Gday, (31 + 30 + 31), tr ) = 2006-06-17 2 k=0
Tagging de expresiones temporales • Terminada a la resolución de las expresiones temporales, se suele anotar cada una de estas fechas o duraciones en el texto, para su posterior análisis. • Existen especificaciones de anotación de expresiones temporales (fechas, períodos y duraciones): TIMEX, TIMEX2, TIMEX3, TimeML
Ejemplo "The draw at the FIFA Congress in August will determine whether Australia plays the home or away leg first in its critical World Cup playoffs against the fifth-placed South American team. Australia has been given permission to quit the Oceania Football Confederation (OFC) and join the Asian Football Confederation (AFC) from January 1st next year.”
Ejemplo "The draw at the FIFA Congress <TIMEX2 VAL='08-XX-2005' NON-SPECIFIC="yes"> in August </TIMEX2> will determine whether Australia plays the home or away leg first in its critical World Cup playoffs against the fifth-placed South American team. Australia has been given permission to quit the Oceania Football Confederation (OFC) and join the Asian Football Confederation (AFC) <TIMEX2 VAL='01-01-2006' MOD='START'>from January 1st next year</TIMEX2>.”
Extracción de Información del Evento:Procesamiento de Lenguaje Natural (NLP) • El paso siguiente a la detección de la expresión temporal es la extracción del evento futuro en sí. • La complejidad radica es que el evento es descrito en lenguaje natural. Ejemplos:"New Horizons was launched on Jan. 19, 2006, and will fly through the Pluto system in July 2015" "Troops on alert as protesters go on march"
NLP • 2 enfoques • Simbólico • Consiste de un conjunto de reglas para la manipulación de símbolos • e.g. reglas gramaticales • Análisis estadístico del lenguaje: Empírico • Implica obtener un modelo del lenguaje desde grandes recopilaciones de texto (corpora), tales como fuentes de noticias o páginas Web
NLP • Para extraer la descripción del evento mismo, se requiere conocer las partes básicas de una oración. El sujeto y el predicado. • Se requiere reconocer de qué clase léxica es cada una de las palabras de la oración. (En inglés: Part of Speech) "New Horizons will fly through the Pluto system in July 2015" PROP NOUN AUX + VERB DET + NOUN + NOUN PREP+NOUN+ #
Part-Of-Speech (POS) Tagging • El objetivo de este proceso es etiquetar cada palabra. Sin embargo, el conjunto de posibles clases léxicas o Part-Of-Speech puede variar. Sustantivo, Verbo, Adverbio, Adjetivo • Nombres Propios, Preposición, Artículo, Pronombre, Conjunciones, Verbos Auxiliares, Numerales • Para este proceso se requiere escoger un conjunto estándar de tags para trabajar. El más común es "UPenn Treebank tagset", que define 45 tags
Ejemplo de POS-tagging Troops on alert as protesters go on march Troops/NNon/INalert/NNas/INprotesters/NNgo/VBon/INmarch/NN
POS-Tagging • Básicamente existen 2 enfoques para resolver este problema: • Simbólico: Aplicando reglas • Estocástico: Utilizando un modelo probabilístico del lenguaje (e.g.: Hidden Markov Model)
POS-tagging mediante reglas • Cada palabra la etiqueto con todos los posibles tags que puede tener. Estas posibles etiquetas las obtengo de un diccionario (lexicon). • Aplicando reglas (típicamente gramaticales), se decide cuál es la etiqueta correcta. I PRP promise VB NN it PRP Regla: después de un PRP no puede haber un NN
POS-tagging mediante probabilidades • Cada palabra la etiqueto según un criterio probabilístico, e.g. ¿cuál es el tag más probable? the DET race VB NN began VBN En un corpus dado, "race" es 90% de las veces un sustantivo, y 10% un verbo
POS-tagging • Utilizando Hidden Markov Models, es posible revisar la probabilidad de ocurrencia de un posible tag conociendo el tag anterior. . • Por ejemplo, dado un artículo (the) un modelo de markov predice que la siguiente palabra es un sustantivo con un 40% de probabilidad, un adjetivo con 40% y un número con 20%.
POS-tagging • No sólo puede conocer la probabilidad del tag precedente, sino que 2 ó 3 ó más tags: • bi-gram • tri-grams • N-grams • Estas probabilidades se obtienen calculándolos desde un corpus existente.
Extracción del Evento • Una vez identificado el Part-Of-Speech de cada palabra, se procede a recuperar la descripción del evento. Se requiere entre otras cosas el sujeto o los sujetos del evento, el verbo y otras posibles descripciones esenciales de cada evento: July 2015: "New Horizons flies through Pluto system"
Extracción del Evento • La información puede ser extraída aplicando expresiones regulares para detectar expresiones sin mayor dificultad gramatical, por ejemplo: NOUN + VERB NOUN + VERB + NOUN DET + NOUN + VERB + ADVERB + NOUN Etc. • Para ello es posible utilizar Autómatas Finitos, el cual ha alcanzado niveles de reconocimiento y precisión de alrededor 70%.
NG Ejemplo de Autómata Finito No determinístico • "… the Pluto System …" DET + NOUN + NOUN • "… the small planet …" DET + ADJ + NOUN ADJ DET NOUN s1 s2 s3 NOUN
Extracción del Evento • "Codelco, which is owned by Chilean government, will increase his production in 23%" NG RELPRO VG* donde RELPRO calza con los pronombres relativos "who" y "which" • Cada evento puedo describirlo en forma sencilla en base al sujeto (NG) y la acción en el evento (VG)
Extracción del Evento • Lamentablemente algunas oraciones en inglés requieren un procesamiento más profundo y que ya no puede ser procesado por expresiones regulares. • Un análisis con Gramáticas Libres de Contexto es más complejo pero permite procesar una mayor cantidad de expresiones. Por ejemplo, puedo definir un Noun Group (NG): NG = DET + NOUN NG = DET + ADJ + NOUN NG = NG + PREP + NG
Plantillas de Eventos • Una manera de describir un evento es con uso de plantillas
Plantillas de Eventos • Una ventaja del uso de plantillas es que un evento puede definirse aún sin llenar todos los posibles campos de la plantilla. • Si un mismo evento es descrito en otra fuente, generará una plantilla distinta, pero con algunas coincidencias. • Realizando un proceso de "merge" de plantillas se facilita el seguimiento de eventos, identificación de un mismo evento y complemento de información
Template Merge merge
Aprovechando conocimiento del dominio del evento • El proceso completo hasta ahora puede mejorarse aprovechando cierta información del dominio de los eventos • Part-of-Speech más refinados: • gun, grenade, missile, bomb /WEAPON • man, woman, child, kid, boy /PEOPLE • dollar, peso, GBP, euro /CURRENCY
Aprovechando conocimiento del dominio del evento • El reconocimiento de patrones lingüísticos puede reconocer reglas del dominio: • COMPANY SET-UP JOINT-VENTURE with COMPANY (en vez de NOUN VERB NOUN ADV NOUN) • NOUN attacked PEOPLE with DEVICE • SPACECRAFT will be launched TEMPORAL from PLACE • STOCKQUOTE price TREND to CURRENCY QUANTITY
Aprovechando conocimiento del dominio del evento • Plantillas más apropiadas al dominio:
Topic Clustering • Para lograr una extracción de eventos adaptada al dominio, se requiere conocer a priori el tópico del evento. Antes de realizar el proceso completo se puede clasificar cada documento según su tópico en clusters. política deporte economía
Confiabilidad de informaciónsobre el futuro • No es factible predecir con certeza que un evento ocurrirá en el futuro. • Pero si se puede definir que un evento es más confiable que otros según algunos criterios estadísticos y heurísticas