Universidad de ChileFacultad de Ciencias Físicas y Matemáticas
Departamento de Ciencias de la Computación
Charla Tesis IMagíster en Ciencias mención computación
"Estimación de Confiabilidad de Sucesos Futuros Extraídos desde "Estimación de Confiabilidad de Sucesos Futuros Extraídos desde Fuentes de Noticias y su Utilización en un Motor de Búsqueda”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 elXVIII Campeonato Mundial de Fútbol, en Alemania
El año 2009 estará disponible una vacuna contra la Malaria
En el año 2011 se cierra la línea de explotación desulfuros en la mina de El Salvador
07/07/2007: Se publica la séptima y última entregade la serie de libros Harry Potter
11 de Julio de 2010. Eclipse Total de Sol en laIsla de Pascua. Hora: 16:10:57.Duración 4 minutos 44 segundos
En el primer trimestre de 2006, Sky Airlines iniciará 7 vuelossemanales a Madrid
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
NewsDownloading
News Text Extraction
Temporal EntitiesDetection &Annotation
Inverted IndexInverted Index
Time SegmentsTime SegmentsIndexIndex
SearchSearchEngineEngine
RankingCalculation
Confidence LevelCalculation
ConfidenceLevel: 45 %
Future EventsExtraction
Future events
Event IndexEvent Index
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
Una expresión temporal se define como trozos de texto que expresan alguna información temporal explícita o inferida.
Ejemplos:
Proceso: Extracción de Expresiones Temporales
In July Next day after the meeting In several weeks Friday at noon Next Winter Before Christmas During the World Cup
October 15th, 2006 13/03/2006 3 p.m. On Sunday This Week-end Next year 2007-2008 Tomorrow
Las expresiones temporales pueden clasificarse en:
Explícitas October 24th 200703-13-2006
Relativas Tomorrow
next Monday
next Year
Vagas after Christmasin several weeksby the end of the day
Tipos de Expresiones Temporales
Resolución de Expresiones Temporales Un aproximación es utilizando expresiones
regulares. Por ejemplo, si se considera:
Categoría Términos
baseterm day, week, weekday, month, monthname, quarter, season, year, decade
indexical yesterday, today, tomorrow
internal beginning, end, early, late, middle
determiner this, last, next, previous, the
temporal in, on, by, during, after, until, since, before, after
postmodifier of, to
numeral one, two, …
ordinal first, second, …
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:
fC G1 G2 (i1, i2, …) NG2
Por ejemplo:
fC Gmonth Gday (2006, 3) 31
fC Gmonth Gday (2006, 2) 28
fC Gyear Gday (2006) 365
fC Gyear Gmonth (2006) 12
Definiciones : G T T Retorna el punto de inicio de un elemento de granularidad G
: G T TRetorna 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-2006tomorrow
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.”
"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>.”
Ejemplo
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/NN on/IN alert/NN as/IN protesters/NN go/VB on/IN march/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%.
Ejemplo de Autómata Finito No determinístico
"… the Pluto System …"DET + NOUN + NOUN
"… the small planet …"DET + ADJ + NOUN
s1 s2 s3
NOUN
ADJ
DET NOUN
NG
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 + NOUNNG = DET + ADJ + NOUNNG = NG + PREP + NG
Plantillas de Eventos Una manera de describir un evento es con uso de
plantillas
Evento 5758
Fecha Evento <TIMEX2 VAL='07-XX-2015' NON-SPECIFIC="yes"/>
Fecha Extracción <TIMEX2 VAL='03-12-2006'/>
Duración
Sujeto New Horizons
Predicado flies through Pluto system
Modificadores
Fuente http://www.universetoday.com/am/publish/pluto_moons_born_together.html?1332006
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 MergeFecha Evento
<TIMEX2 VAL='07-XX-2015' NON-SPECIFIC="yes"/>
Sujeto New HorizonsPredicado flies through Pluto systemFuente http://www.universetoday.com/am/
publish/pluto_moons_born_together.html?1332006
Fecha Evento
<TIMEX2 VAL='07-14-2015 11:59:00 UTC'/>
Duración <TIMEX2 VAL='P2D'/>
Sujeto A spacecraftPredicado flies by PlutoFuente http://www.spaceref.com/news/
viewsr.html?pid=19795
merge
Fecha Evento
<TIMEX2 VAL='07-14-2015 11:59:00 UTC'/>
Duración <TIMEX2 VAL='P2D'/>
Sujeto New HorizonsPredicado flies by PlutoFuente http://www.spaceref.com/news/
viewsr.html?pid=19795
http://www.universetoday.com/am/publish/pluto_moons_born_together.html?1332006
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:
Evento Deportivo 00263
Fecha Evento <TIMEX2 VAL='07-XX-2015' NON-SPECIFIC="yes"/>
Fecha Extracción <TIMEX2 VAL='03-12-2006'/>
Deporte Fútbol
Competidor Alemania
Competidor Costa Rica
Torneo Copa Mundial de Fútbol FIFA
Lugar Berlin, Alemania
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.
deporte
economía
política
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
Confiabilidad Cantidad de Referencias: Si un evento es
descrito por muchas fuentes de información, es más confiable que otro que aparece en un sola fuente.
Tópico del Evento: Eventos de ciertos tópicos tienen una mayor probabilidad de ocurrencia por naturaleza, e.g.: suceso astronómico v/s precio de una acción
Confiabilidad Historial del predictor: Eventos
pronosticados por una fuente que en promedio predice eventos correctos es más confiable que otros.
Morfología utilizada: Si la descripción del
evento puede clasificarse como un anuncio formal o una afirmación, es más confiable que una opinión personal o una pregunta.
Confiabilidad Eventos en conflicto: Si un evento tiene
conflicto con otro, o es la negación de otro evento, entonces ambos tienen baja confiabilidad.
Eventos obsoletos: Si un evento baja
drásticamente su frecuencia de aparición, entonces su confiabilidad también baja.
Confiabilidad Eventos dependientes: Si la ocurrencia de
un evento depende de un evento previo, su confiabilidad debe ser similar a la de éste.
Cercanía al Evento: Eventos lejanos en el
tiempo son menos confiables que los más cercanos.
Nivel de Confiabilidad El nivel de confiabilidad de un evento es
una estimación de la probabilidad de que el evento ocurra en el tiempo pronosticado.
Este nivel puede ser en un dominio discreto y/o cualitativo (e.g. alta, media, baja)
ó en una escala numérica(1.0 = certeza absoluta 0.0= indeterminado)
Persistencia de un evento Un evento será procesado y anexado al
sistema, pero ¿por cuánto tiempo estará vigente?
Hasta que llegue la fecha del evento Hasta que la confiabilidad de un evento
sea menor a un umbral predeterminado Hasta que un evento nuevo implique su
cancelación (confiabilidad 0)
Nivel de Confiabilidad
Dado un evento e Sea Te el tópico del evento Sea Ne la cantidad de artículos desde
donde se menciona este mismo evento Sea De el conjunto de eventos de los
cuales depende Sea Ae el conjunto de agentes que
pronosticaron el evento
Nivel de Confiabilidad: 0 ≤
γ(e) ≤ 1
γ( e ) ~ max ( γ( Ae ) )
* min ( γ( De ) )
* ( 1 - )
* γ( Te )
* ( 1 – max γ( Ee ) )
1Ne
i
i confiabilidad dequien predice
confiabilidad de eventosde los que depende
cantidad de menciones
confiabilidad del tópico
confiabilidad del eventoscontradictorios o en conflicto
Otros criterios de Confiabilidad Cercanía al evento
γ( Te ) γ( Te, te – tref )
Morfología utilizada
γ( Verbos(e ) ) = ∏ γ( Vi ) Vi
Verbos(e )
Obsolescencia
γ( e ) ~ (ttoday - max(tref ) )-1
Ordenamiento de Resultados Una vez determinada la confiabilidad de los eventos
extraídos, en un algoritmo de ranking de resultados tras una query (de texto y tiempo):
Aquellos eventos más confiables aparecerán sobre los menos confiables
Si un documento incluye varios eventos de distinta confiabilidad, su relevancia puede estimarse según la confiabilidad de los eventos que coinciden con el segmento de tiempo requerido (periodo)
Prototipo
http://www.dcc.uchile.cl/~irivera/prototipo
Fin de la Presentación
¿ Preguntas ?
volver
volver