PLN y aprendizaje automático

Anuncio
PLN y aprendizaje automático
Índice
Introducción
Tareas, recursos y herramientas
Referencias
Introducción
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
Extracción de información
Se encarga de completar los campos de una
base de datos desde texto sin formato.
Comprende las siguientes etapas:
Segmentación
Clasificación
Asociación
Normalización
De-duplicación
Texto inicial
Las distintas etapas
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.
Es más fácil, barato y adaptable.
Un buen símil
Cuanto más lee una persona, mejor sabe:
expresarse
leer y comprender lo leído
Una rama muy importante del aprendizaje
automático sigue una filosofía similar:
Cuantos más ejemplos de un problema
tenga registrados una máquina, mejor
sabe:
resolver ese problema
Bases de datos de entrenamiento
Base de datos de un supermercado:
leche
cerveza
pañales
…
azúcar
agua
mantequilla
carne
pescado
sí
sí
no
…
no
no
no
no
no
no
no
sí
…
sí
sí
sí
no
sí
no
sí
sí
…
no
no
no
no
sí
no
no
no
…
no
sí
sí
sí
sí
no
no
no
…
sí
no
no
no
no
no
sí
sí
…
no
sí
sí
sí
no
no
sí
sí
…
no
sí
no
no
no
no
no
no
…
sí
no
sí
sí
no
…
…
…
…
…
…
…
…
…
no
no
no
…
sí
sí
sí
no
no
no
sí
sí
…
no
no
no
no
no
no
no
sí
…
no
no
no
no
no
Un estudio detectó que los viernes se compran
más pañales y cerveza.
Puede ayudar a la toma de decisiones.
¿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
Hay algoritmos de aprendizaje propios para el
procesamiento de textos, pero el esquema
general podría ser así:
Nuevo
ejemplo
Corpus
Extracción de
características
Entrenamiento
Base de
datos
Modelo
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
Corpus CLiC-TALP (UPC)
De
la
mano
de
un
tío
suyo
,
volvió
a
casa
una
tarde
,
fue
al
cuarto
…
de
el
mano
de
uno
tío
suyo
,
volver
a
casa
uno
tarde
,
ir
al
cuarto
SPS00
DA0FS0
NCFS000
SPS00
DI0MS0
NCMS000
DP3MS0
Fc
VMIS3S0
SPS00
NCFS000
DI0FS0
NCFS000
Fc
VMIS3S0
SPCMS
NCMS000
Reconocimiento de nombres
Corpus CoNLL-2002
El
presidente
del
Consejo
por
la
Paz
,
organismo
observador
de
Perú
,
Francisco
Díez
Canseco
,
consideró
…
O
O
O
B-ORG
I-ORG
I-ORG
I-ORG
O
O
O
O
B-LOC
O
B-PER
I-PER
I-PER
O
O
Análisis sintáctico superficial
Corpus CoNLL-2000
But
CC
analysts
NNS
reckon
VBP
underlying VBG
support
NN
for
IN
sterling
NN
has
VBZ
been
VBN
eroded
VBN
by
IN
the
DT
chancellor NN
's
POS
failure
NN
to
TO
announce VB
any
DT
…
O
B-NP
B-VP
B-NP
I-NP
B-PP
B-NP
B-VP
I-VP
I-VP
B-PP
B-NP
I-NP
B-NP
I-NP
B-VP
I-VP
B-NP
Determinación del significado
Corpus SemCor (vinculado a WordNet)
<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
TnT: Trigram Tagger
P(I-ORG|B-ORG)
I-ORG
P(B-ORG|O)
P(O|B-ORG)
B-ORG
...
O
...
P(B-LOC|B-ORG)
B-LOC
P(Extremadura|B-LOC)
...
P(Londres|B-LOC)
Extremadura
Londres
TreeTagger. Árboles de decisión
c1
c2
c3
c4
clase
2
6
4
11
A
3
5
3
12
A
1
6
1
1
B
...
...
...
...
...
10
6
1
5
A
c3<2
c3>=2
A
c1<3
B
c1>=3
A
fnTBL. Basado en transformaciones
TBL: Transformation Based (Error driven) Learning
W,T -> T’
W-1,T->T’
W-1,W,T->T’
…
Recursos
iniciales:
Corpus
etiquetado
del,VRB->NN
…
Reglas 1
Plantillas
de reglas
al,VRB->NN
del,VRB->NN
…
Reglas N
…
…
C0-simple
C1
CN
MBT. Basado en memoria
MBT: Memory Based Tagger
MBL: Memory Based Learning
Optimización del método de los k-vecinos más
cercanos
Referencias
Textos
General
Foundations 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/acmqueue-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
http://wordnet.princeton.edu/
Herramientas de etiquetado
TnT
http://www.coli.uni-saarland.de/~thorsten/tnt/
TreeTagger
http://www.ims.uni-stuttgart.de/projekte/corplex/TreeTagger/
fnTBL
http://nlp.cs.jhu.edu/~rflorian/fntbl/
MBT
http://ilk.uvt.nl/mbt/
Herramientas de extracción
GATE
http://gate.ac.uk/ie/annie.html
MALLET
http://mallet.cs.umass.edu
Road Runner
http://www.dia.uniroma3.it/db/roadRunner
MinorThird
http://minor third.sourceforge.net
Descargar