Algoritms that learn to Extract Information BBN: Description of the SIFT System as used for MUC-7 (Scot Miller et al.)
Jan 23, 2016
Algoritms that learn to Extract Information
BBN: Description of the SIFT System as used for MUC-7(Scot Miller et al.)
Extracción y Categorización de Información - 2004 - PLN - InCo
2
BBN Sistema para extracción de
información NE: Named Entity Recognition TE: Template Element Construction TR: Template Relation Construction
Basado en modelos puramente estadísticos, entrenados en corpus anotados
Extracción y Categorización de Información - 2004 - PLN - InCo
3
Statistics for Information from Text (SIFT) Mapeo de palabras a estructuras
semánticas Proceso estadístico unificado
POS tagging Búsqueda de entidades con nombre Análisis Sintáctico Búsqueda de relaciones
Dos niveles Nivel de Oración Nivel inter-oración (?)
Extracción y Categorización de Información - 2004 - PLN - InCo
4
Statistics for Information from Text (SIFT) Fuentes para el entrenamiento
PennTreeBank (marcado con anotaciones sintácticas)
Texto anotado con informaciones de dominio (entidades con nombre, descriptores, relaciones semánticas)
Extracción: a partir de un texto, se identifican nombres y descriptores de entidades relevantes, y sus relaciones (modelo a nivel de oración)
Posprocesamiento para obtener los templates (modelo inter-oraciones)
Extracción y Categorización de Información - 2004 - PLN - InCo
5
SIFT: Modelo a nivel de oración
Programa de búsqueda
Modelo Estadístico
Programa de Entrenamiento
anotaciones sintácticas
decodificación
interpretaciones
sintáctico/semánticas
entrenamiento
anotaciones semánticas
oraciones
Extracción y Categorización de Información - 2004 - PLN - InCo
6
SIFT: Modelo a nivel de oración Anotaciones semánticas
Nance , who is also a paid consultant to ABC News , said
employee relation
organization
person - descriptor
coreference
Extracción y Categorización de Información - 2004 - PLN - InCo
7
SIFT: Modelo a nivel de oración El algoritmo de entrenamiento requiere relaciones
semánticas definidas sobre la estructura de la oración: se necesitan árboles de análisis sintáctico anotados (!)
Anotar el PennTreebank a mano? No. 1. Entrenar el modelo sobre los árboles sintácticos del
corpus 2. Aumentar el arbol sintáctico con anotaciones
semánticas• Aplicar el modelo para analizar sintácticamente
(permitiendo sólo análisis consistentes con las anotaciones semánticas)
• Aumentar el árbol 3. Reentrenar el modelo con el resultado
Extracción y Categorización de Información - 2004 - PLN - InCo
8
SIFT: Modelo a nivel de oración 1. Entrenar el modelo sobre los árboles
sintácticos del corpus Constraints:
• Al hacer el análisis, las entidades con nombre y sus descriptores no pueden subdividirse
• Cuando hay coreferencia entre entidades que aparecen juntas o separadas por una coma, estas entidades sólo pueden separarse en el análisis si de otra forma no hay parsing posible
Extracción y Categorización de Información - 2004 - PLN - InCo
9
SIFT: Modelo a nivel de oración 2. Aumentar el arbol sintáctico con anotaciones
semánticas Insertar nodos al árbol para distinguir nombres y
descriptores no identificados en el parsing. Agregar etiquetas semánticas a nodos que correspondan
a entidades con nombres o descriptores Agregar etiquetas semánticas para identificar relaciones
entre nodos tales que uno no es modificador sintáctico del otro
Insertar nodos en el árbol sintáctico para distinguir los argumentos de cada relación
Insertar etiquetas puntero para asociar entidades con relaciones, cuando las entidades no son descendientes en el arbol de la relación
Extracción y Categorización de Información - 2004 - PLN - InCo
10
Ejemplos
np vp
sbar
vp np
pp
np whnp advp np np
nnp , whp vbz rb det vbn nn to nnp nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
11
Ejemplos
np vp
sbar
vpper-desc-r/np
pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp , whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
12
Ejemplos
per/np vp
sbar
vpper-desc-r/np
pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp , whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
13
Ejemplos
per/np vp
per-desc-of/sbar-lnk
sbar
vpper-desc-r/np
emp-of/pp-lnk
pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp , whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
14
Ejemplos
per/np vp
per-desc-of/sbar-lnk
per-desc-ptr/sbar
per-desc-ptr/vpper-desc-r/np
emp-of/pp-lnk
org-ptr/pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp , whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
15
SIFT: Modelo a nivel de oración 3.Reentrenar el modelo con el resultado
Extracción y Categorización de Información - 2004 - PLN - InCo
16
SIFT: Modelo a nivel de oración Modelo Estadístico
Los árboles de análisis se generan eligiendo cada nodo a partir de una distribución estadística
Se genera primero el head Se generan luego los modificadores Se generan las heads de cada modificador, con sus
etiquetas POS y sus características semánticas El proceso se repite hasta generar el árbol
Extracción y Categorización de Información - 2004 - PLN - InCo
17
Ejemplos
per/np vp
per-desc-of/sbar-lnk
per-desc-ptr/sbar
per-desc-ptr/vpper-desc-r/np
emp-of/pp-lnk
org-ptr/pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp , whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
18
Ejemplos
per/np vp
per-desc-of/sbar-lnk
per-desc-ptr/sbar
per-desc-ptr/vpper-desc-r/np
emp-of/pp-lnk
org-ptr/pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp , whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
19
Ejemplos
per/np vp
per-desc-of/sbar-lnk
per-desc-ptr/sbar
per-desc-ptr/vpper-desc-r/np
emp-of/pp-lnk
org-ptr/pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp , whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
20
Ejemplos
per/np vp
per-desc-of/sbar-lnk
per-desc-ptr/sbar
per-desc-ptr/vpper-desc-r/np
emp-of/pp-lnk
org-ptr/pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp, whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
21
Ejemplos
per/np vp
per-desc-of/sbar-lnk
per-desc-ptr/sbar
per-desc-ptr/vpper-desc-r/np
emp-of/pp-lnk
org-ptr/pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp, whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
22
Ejemplos
per/np vp
per-desc-of/sbar-lnk
per-desc-ptr/sbar
per-desc-ptr/vpper-desc-r/np
emp-of/pp-lnk
org-ptr/pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp, whp vbz rb det vbn per-desc/nn to org/nnp org/nnp , vbd
Nance , who is also a paid consultant to ABC News , said
Extracción y Categorización de Información - 2004 - PLN - InCo
23
Ejemplos
per/np vp
per-desc-of/sbar-lnk
per-desc-ptr/sbar
per-desc-ptr/vpper-desc-r/np
emp-of/pp-lnk
org-ptr/pp
per-r/np whnp advp per-desc/np org-r/np
per/nnp, whp vbz rb det vbn per-desc/nn to org/nnp org/nnp ,
Nance , who is also a paid consultant to ABC News ,
Extracción y Categorización de Información - 2004 - PLN - InCo
24
SIFT: Modelo a nivel de oración Estructura de Probabilidades
Cada categoría se predice basada en los elementos ya generados.
Ej: P(tm|cm,chp,cm-1,wp) P(per/nnp|per/np,vbd,said)
En general P(tree)=Productoria(P(e|h)), con e en tree
Extracción y Categorización de Información - 2004 - PLN - InCo
25
SIFT: Modelo a nivel de oración Entrenamiento del Modelo
Las estimaciones de probabilidades se realizan observando las frencuencias en el corpus de entrenamiento.
Como los datos son demasiado escasos, estas probabilidades se suavizan utilizando estimadores de menor nivel.
Por ejemplo, para los modificadores• P’(cm|cp,chp,cm-1,wp) = 1P(cm|cp,chp,cm-1,wp)
+2P(cm|cp,chp,cm-1)
Extracción y Categorización de Información - 2004 - PLN - InCo
26
SIFT: Modelo a nivel de oración Búsqueda en el modelo
Dada una oración a analizar, el programa busca la interpretación sintáctico/semántica más probable (el árbol aumentado más probable).
La salida de este proceso es una estructura de árbol que codifica tanto la estructura sintáctica como la semántica de la oración, por lo que las entidades y relaciones pueden extraerse directamente de este árbol
Extracción y Categorización de Información - 2004 - PLN - InCo
27
SIFT: Modelo inter-oración Este modelo utiliza información estructural y
contextual para identificar relaciones entre elementos no mencionados en la oración.
Busca el 10-20% de las relaciones Considera parejas de entidades en un mensaje
que podrían estar relacionadas. Estima la probabilidad de que estén relacionadas
y de que no lo estén, basado en ciertas características. Si la relación entre ambas es mayor a 1, descubre una relación
Extracción y Categorización de Información - 2004 - PLN - InCo
28
SIFT: Modelo inter-oración Características consideradas
Características estructurales• Distancia: las entidades aparecen en la misma oración, en
oraciones adyacentes, o en oraciones más remotas• Topic Sentence: una de las entidades de la relación aparece
en la primera oración del texto Características de contenido
• Las entidades ya aparecieron relacionadas en el entrenamiento
• Una entidad que comparte un descriptor con el primer argumento, estuvo relacionada en el entrenamiento con otra que comparte un descriptor con el segundo (Ej: General/Army)
• Uno de los argumentos estuvo relacionado con una entidad que no comparte un descriptor con la segunda (Ej: empleado/IMM)
Extracción y Categorización de Información - 2004 - PLN - InCo
29
SIFT: Resultados Template Extraction:
precision: 84% recall: 83% F: 83.49%
Relation Extraction precision: 81% recall: 64% F: 71.23%
Extracción y Categorización de Información - 2004 - PLN - InCo
30
IDENTIFINDER Sistema para extraer entidades con
nombre Basado en HMM
PERSON
ORG
NOT-A-NAME
start end
Extracción y Categorización de Información - 2004 - PLN - InCo
31
IDENTIFINDER
Utiliza un modelo estadístico basado en bigramas
Utiliza el algoritmo Viterbi para buscar, entre todas las asignaciones nombre/clase, la que maximiza la probabilidad conjunta de palabras/características/clases
Extracción y Categorización de Información - 2004 - PLN - InCo
32
IDENTIFINDER Interesante: cada clase tiene sus
probabilidades. Las clases tienen ciertos comportamientos
estereotípicos respecto a las palabras y como aparecen (ej: los montos incluyen una moneda)
Algunas palabras sugieren límites y clases de expresiones (ej: Sr. en general indica comienzo de un nombre)
Extracción y Categorización de Información - 2004 - PLN - InCo
33
Resultados F: 90.44 Otras pruebas:
Sin mayúsculas 87.6% Speech Normalized Orthographic
Representation 85.5%
Efecto del tamaño del corpus de entrenamiento 91.000 a 176.000 – 92.5% a 94% 176.000 al doble - 94% a 95%
Extracción y Categorización de Información - 2004 - PLN - InCo
34
Conclusiones
NE: 89% R 92% P 90.44% F TE: 83% R 84% P 83.49% F TR: 64% R 81% P 71.23% F
Parece que anduvo bien...
Parece que no les llevó demasiado tiempo...