Índice
Introducción
Tareas, recursos y herramientas Referencias
Un caso real
En 2001, el Ministerio de Trabajo de los EEUU
decidió construir un sistema web para buscar las ofertas de formación en todo el país.
Los requisitos eran:
Soportar búsquedas sobre todas las ofertas según distintos criterios.
Recopilar automáticamente las ofertas desde los diferentes sitios web.
Analizar la base de datos obtenida para encontrar patrones comunes o tendencias.
Los problemas
Múltiples fuentes de información.
Casi ningún sistema ofrecía interfaces a sus bases de datos internas.
El apoyo más útil era el de los aspectos de presentación (tablas, columnas, marcas HTML).
La información podía aparecer en texto sin formato.
Las soluciones
Buscadores de documentos.
Clasificadores de documentos.
Wrappers: extractores basados en formatos (HTML, CSV, tablas).
Extracción de información
Segmentación Clasificación Asociación Normalización De-duplicaciónSe encarga de completar los campos de una base de datos desde texto sin formato.
FlipDog.com
Extrae ofertas de trabajo de unos 60.000 sitios web de empresas.
En poco tiempo dobló el número de ofertas de Monster (uno de los líderes en EEUU).
Produce un informe mensual de tendencias analizando su base de datos.
ZoomInfo.com
Extrae información de personas y empresas de las páginas de todo el mundo (>30 millones).
Genera informes automáticamente.
Permite a los interesados añadir información a esos informes.
MediClaim de Verity
Escanea formularios de solicitudes a seguros médicos.
Se apoya en la regularidad de esos formularios para extraer la información relevante.
Cubre el proceso papel -> base de datos ahorrando costes.
CiteSeer
Extrae información de citas desde la cabecer de artículos científicos.
Puede identificar los artículos semilla en cada campo o calcular índices de impacto.
Cumple además una función de buscador de documentos científicos.
Cómo no se hace esto
Se puede hacer una extracción simple con expresiones regulares.
Para casos un poco más complejos se pueden usar reglas apoyadas en características como el tipo de letra o la posición en la página.
En ambos casos se necesita cierta regularidad. En cuanto la variedad es grande ninguna de las soluciones es viable.
Hasta que llegue la Web Semántica, enfrentarse al Lenguaje Natural parece la única vía …
… y el aprendizaje automático una buena opción.
Aprendizaje automático
Se basa en algoritmos que producen automáticamente reglas.
El criterio para producirlas es su adaptación a los ejemplos disponibles.
Ahora ya no hay que escribir reglas, hay que buscar ejemplos.
Un buen símil
Cuanto más lee una persona, mejor sabe: expresarse
leer y comprender lo leído
Cuantos más ejemplos de un problema tenga registrados una máquina, mejor sabe:
resolver ese problema
Una rama muy importante del aprendizaje automático sigue una filosofía similar:
Bases de datos de entrenamiento
Base de datos de un supermercado:
… … … … … … … … … … … … … … … … … … … … … no no no no no sí no no no no no no no sí sí no no no sí sí sí no no no no sí sí no sí no no no no no no sí no sí sí no no sí sí sí no sí sí no no no no no sí no no no sí sí sí sí no no no no sí no no no no sí sí no sí no sí sí sí sí no no no no no no no no sí sí pescado carne mantequilla agua azúcar pañales cerveza leche
Un estudio detectó que los viernes se compran más pañales y cerveza.
¿Y en el PLN?
Nos centraremos en el PLN escrito.
En este contexto los ejemplos vienen incluidos en textos. Las “bases de datos” utilizadas son
colecciones de documentos y se denominan corpus:
Un corpus puede estar “anotado” o no
Conexión PLN – Aprendizaje automático
Corpus
Hay algoritmos de aprendizaje propios para el procesamiento de textos, pero el esquema
general podría ser así:
Base de datos Extracción de características Entrenamiento Modelo Nuevo ejemplo Resultado
Nada es perfecto
Los límites actuales de las diversas tareas
involucradas en la extracción de información son: - Reconocimiento de nombres: 80%-90%
- Asociación de nombres: 60% - De-duplicación: 70%-80%
Herramientas para extraer
Herramientas de software libre para extraer información:
- GATE - MALLET - MinorThird - Road Runner
Tareas, recursos
y herramientas
Clasificación de documentos
<corpus><documento> <id> 1001 </id>
<clase> deporte </clase> <texto>
La Agencia Tributaria ha decretado el embargo preventivo de los ingresos televisivos y publicitarios del Atlético de Madrid y 7 equipos de Segunda, entre ellos el recién ascendido Albacete. La cantidad que se embargaría asciende a 43,5 millones de euros debido al "riesgo de impago" de la deuda que tienen contraídos dichos clubes con el Ministerio de Hacienda.
</texto> </documento>
<documento>
<id> 1005 </id>
<clase> nacional </clase> <texto>
El presidente de la Generalitat, Jordi Pujol, ha asegurado que el pasado sábado, fecha en la que se constituyeron los ayuntamientos tras las municipales del 25-M, obligó al candidato de CiU de El Vendrell a no presentarse para evitar ser reelegido con el voto de la plataforma xenófoba.
</texto> </documento> </corpus>
Etiquetado morfo-sintáctico
De de SPS00 la el DA0FS0 mano mano NCFS000 de de SPS00 un uno DI0MS0 tío tío NCMS000 suyo suyo DP3MS0 , , Fcvolvió volver VMIS3S0
a a SPS00
casa casa NCFS000 una uno DI0FS0 tarde tarde NCFS000 , , Fc fue ir VMIS3S0 al al SPCMS cuarto cuarto NCMS000 …
Reconocimiento de nombres
El O presidente O del O Consejo B-ORG por I-ORG la I-ORG Paz I-ORG , O organismo O observador O de O Perú B-LOC , O Francisco B-PER Díez I-PER Canseco I-PER , O consideró O … Corpus CoNLL-2002Análisis sintáctico superficial
But CC O analysts NNS B-NP reckon VBP B-VP underlying VBG B-NP support NN I-NP for IN B-PP sterling NN B-NP has VBZ B-VP been VBN I-VP eroded VBN I-VP by IN B-PP the DT B-NP chancellor NN I-NP 's POS B-NP failure NN I-NP to TO B-VP announce VB I-VP any DT B-NP … Corpus CoNLL-2000Determinación del significado
<s snum=2>
<wf cmd=ignore pos=DT>The</wf>
<wf cmd=done pos=NN lemma=farmer wnsn=1 lexsn=1:18:00::>farmer</wf> <wf cmd=ignore pos=POS>'s</wf>
<wf cmd=done pos=NN lemma=life wnsn=2 lexsn=1:26:02::>life</wf> <wf cmd=ignore pos=MD>must</wf>
<wf cmd=done pos=VB ot=notag>be</wf>
<wf cmd=done pos=VB lemma=arrange wnsn=0 lexsn=2:36:04::>arranged</wf> <wf cmd=ignore pos=TO>to</wf>
<wf cmd=done pos=VB lemma=meet wnsn=6 lexsn=2:41:02::>meet</wf> <wf cmd=ignore pos=DT>the</wf>
<wf cmd=done pos=NN lemma=demand wnsn=5 lexsn=1:09:00::>demands</wf> <wf cmd=ignore pos=IN>of</wf>
<wf cmd=done pos=NN lemma=crop wnsn=1 lexsn=1:20:00::>crops</wf> <wf cmd=ignore pos=CC>and</wf>
<wf cmd=done pos=NN lemma=livestock wnsn=1 lexsn=1:05:00::>livestock</wf> <punc>.</punc>
</s>
TnT. Modelos de Markov
B-ORG I-ORG O B-LOC ... ... P(I-ORG|B-ORG) Extremadura ... Londres P(Extremadura|B-LOC) P(O|B-ORG) P(B-LOC|B-ORG) P(Londres|B-LOC) P(B-ORG|O) TnT: Trigram TaggerTreeTagger. Árboles de decisión
A 5 1 6 10 ... ... ... ... ... B 1 1 6 1 A 12 3 5 3 A 11 4 6 2 clase c4 c3 c2 c1 c3<2 c3>=2 c1<3 c1>=3 B A AfnTBL. Basado en transformaciones
Corpus etiquetado W,T -> T’ W-1,T->T’ W-1,W,T->T’ … Plantillas de reglas Recursos iniciales: C0-simple del,VRB->NN … Reglas 1 C1…
CN al,VRB->NN del,VRB->NN … Reglas N…
MBT. Basado en memoria
MBT: Memory Based Tagger MBL: Memory Based Learning
Optimización del método de los k-vecinos más cercanos
Textos
GeneralFoundations of Statistical Natural Language Processing
http://nlp.stanford.edu/fsnlp/promo/
Extracción de información:
Information Extraction. Distilling Structured Data from Unstructured Text
http://www.cs.umass.edu/~mccallum/papers/acm-queue-ie.pdf
Clasificación automática:
Machine Learning in Automated Text Categorization
http://citeseer.ist.psu.edu/518620.html
Text Categorization and Prototypes
http://www.illc.uva.nl/Publications/ResearchReports/ MoL-2001-08.text.pdf
Recursos
Corpus CLic-TALP
http://clic.fil.ub.es/
Corpus análisis sintáctico superficial
http://www.cnts.ua.ac.be/conll2000/chunking/
Corpus reconocimiento de nombres
http://www.cnts.ua.ac.be/conll2002/ner/
Corpus determinación de significado
http://multisemcor.itc.it/
WordNet