1. INTRODUCCI ´ ON

Anuncio
1.
1.1.
INTRODUCCIÓN
DEFINICIÓN PLN
Definición de PLN:
Desarrollo de modelos computacionales de determinados aspectos de lenguaje
humano.
Se pretende que a partir de esos modelos se puedan realizar “programas”
capaces de comprender o producir enunciados en lenguaje natural.
Se buscan modelos que den soporte a tareas humanas como:
• Lectura y comprensión de un texto.
• Escritura de cartas, informes, ...
• Mantenimiento de una conversación.
• Traducción de un documento.
• Búsqueda de información textual útil.
1.2.
APLICACIONES PRÁCTICAS DEL LENGUAJE NATURAL
Dos grandes grupos:
1. Procesamiento de texto escrito.
Ayudas a la producción de texto.
• correctores ortográficos y gramaticales (por ej. de estilo) y OCR.
Traducción automática de textos.
Extracción de información desde informes, etc...
• generación de resúmenes.
Clasificación, recuperación y filtrado de documentos y mensajes.
• buscadores WEB.
• filtros de correo.
Generación de informes textuales a partir de bases de datos estándar.
En los tres últimos casos, muchas de estas aplicaciones pueden realizarse (y de
hecho es normal) sin usar técnicas de PLN.
Sin embargo, las técnicas de PLN permiten soluciones más sofisticadas y
flexibles.
1
2. Interacción Hombre-Máquina.
Interfaces en lenguaje natural.
• para BBDD.
• aplicaciones educativas.
Reconocimiento y sı́ntesis de voz.
• servicios de atención a clientes.
• control de máquinas por la voz.
• interfaces para discapacitados.
1.3.
RELACIÓN CON OTRAS DISCIPLINAS
PLN es un campo multidisciplinar.
Toma conceptos básicos de:
Lingüı́stica: estudia el lenguaje en sı́.
Área especı́fica lingüı́stica computacional, estudia las aplicaciones informáticas
que tratan del lenguaje natural (a todos los niveles)
Psicolingüı́stica: pretende comprender y explicar los procesos de comprensión
y generación de las personas al comunicarse.
Filosofı́a: se centra en el significado de las palabras y sentencias. ¿Cómo las
palabras significan cosas?
Utiliza formalismos y técnicas de:
Inteligencia Artificial:
• Busca desarrollar modelos del razonamiento humano, incluyendo el
procesamiento de LN.
• Proporciona mecanismos de representación de conocimiento y de modelos
de razonamiento y transformación de ese conocimiento.
Teorı́a de los Lenguajes Naturales:
Proporciona un marco formal para modelar partes del lenguaje natural (el de
las gramáticas), ası́ como mecanismos y tácnicas para el procesado de dicho
lenguaje (autómatas y traductores formales).
1.4.
NIVELES DE ANÁLISIS DEL LENGUAJE
El estudio de los lenguajes naturales y de las técnicas para procesarlos puede
realizarse a varios niveles:
2
NIVEL LÉXICO (Morfologı́a)
Estudia las palabras de forma independiente:
• cómo reconocerlas y producirlas.
• no tiene en cuenta estructuras ni como aparecen en la frase.
Palabras: elementos constructivos básicos de todos los lenguajes tanto escritos
como hablados.
Objetivo: determinación de los tipos de palabras, componentes de las palabras
y como se produce la construcción de palabras.
NIVEL SINTÁCTICO (Sintaxis)
Estudia como se relacionan entre sı́ las palabras y como se estructuran (estudia
las relaciones entre palabras).
Uso de modelos computacionales (gramáticas formales) y algoritmos de
análisis.
NIVEL SEMÁNTICO (Semántica)
Estudia las relaciones funcionales entre las estructuras sintácticas (qué función
reañizan: sujeto, objeto directo, ...) y trata de dotarlas de significado.
Dos visiones:
• significado de las palabras componentes (semántica léxica).
• significado de la combinación de esos componentes (semántica
composicional).
En resumen: Estructura de la Sentencia + Significado de las Palabras →
Significado de la Sentencia.
Uso de técnicas de representación del conocimiento.
NIVEL PRAGMÁTICO Y DE DISCURSO
Estudia como interpretar las estructuras semánticas en relación al contexto.
Necesidad de conocimiento de sentencias anteriores y de resolución de
referencias.
Necesidad de conocimiento de mundos (dominios de discurso, entornos).
CADA TIPO DE APLICACIÓN ANALIZA HASTA UN NIVEL DISTINTO:
Recuperación de Información: léxico y algo de sintáctico.
Extracción de Información: Sintáctico (no profundo) y Semántico.
Traducción Automática: Sintáctico y/o Semántico.
3
1.5.
PROBLEMAS DEL PLN
1.5.1.
AMBIGÜEDAD
Uno de los principales problemas del PLN.
Distintos tipos de ambigüedades, asociados a los distintos niveles de
procesamiento del lenguaje natural.
Resolución de la Ambigüedad:
• En ocasiones se resuelve en el siguiente nivel, en otras no.
• Generalmente técnicas estadı́sticas.
AMBIGÜEDAD LÉXICA
Una palabra puede pertenecer a diversas categorı́as gramaticales.
Ej: “para” puede ser: a) preposición, b) forma verbo parar, c) forma verbo
parir.
Técnicas de desambigüación: reglas, técnicas estadı́sticas (modelos de Markov).
AMBIGÜEDAD SINTÁCTICA
Sentencias que pueden tener más de una estructura sintáctica asociada
(ambigüedad estructural).
Juan vio a un hombre con un telescopio
O
O
SV
SP
O
SN
SV
SP
SP
SN
n
SN
v p det
SN
SN
n
p
det
n
n
SP
SN
v p det
SN
n
p
det
n
Juan vio a un hombre con un telescopio
Juan vio a un hombre con un telescopio
Otros ejemplos:
“Leı́ la noticia sobre el accidente en el tren.”
“Vi a tu hermano volando hacia Parı́s.” (ı́bamos en el mismo avión o tu
hermano vuela)
4
Técnicas relacionadas:
• Construcción de múltiples árboles de análisis sintáctico (análisis sintactico
no determinista).
• Uso de gramáticas probabilı́sticas.
AMBIGÜEDAD SEMÁNTICA
1. Palabras con múltiples significados (por ej. banco significa “asiento” o “entidad
financiara”).
2. Una misma estructura sintáctica con diferentes significados.
“Todos los estudiantes de la escuela hablan dos lenguas”
cada uno habla dos lenguas.
sólo se hablan dos lenguas determinadas.
“Las autoridades rechazaron la autorización a los trabajadores porque preveı́an
disturbios”
“Las autoridades rechazaron la autorización a los trabajadores porque crearon
disturbios”
3. ambigüedad referencial: ¿a qué/quién se refiere un pronombre?
“Se compran libros” (el “se” puede ser impersonal o recı́proco)
TÉCNICAS
Word Sense Desambiguation.
Traza y resolución de referencias.
Uso de formalismos de representación + modelos de razonamiento (con lo que
se elimina, en parte, la ambigüedad).
1.5.2.
AMBIGÜEDAD LOCAL
Un tipo especı́fico de ambigüedad que ocurre de diferentes formas en cada nivel.
Principalmente en el sintáctico: Tiene lugar cuando una parte de una sentencia
es ambigua (tiene más de una representación sintáctica), aunque la sentencia
en su conjunto no es ambigüa. Es decir, tenemos una sentencia temporalmente
ambigüa durante el análisis.
5
“Juan le dijo al hombre que Pepe golpeó ... a su perro”.
“Juan le dijo al hombre que Pepe golpeó ... que se fuese de allı́”.
Al analizar la parte común a ambas frases, no sabemos todavı́a a donde alcanza
la frase subordinada: en el primer caso “que Pepe golpeó a su perro” y en el
segundo “que Pepe golpeó”.
La ambigüedad local también se da a nivel léxico (al usar autómatas finitos
como analizadores léxicos), en palabras que comienzan igual:
comer-∅ es un verbo, mientras que comer-cio es un sustantivo.
1.5.3.
OTROS PROBLEMAS
Variabilidad de los lenguajes
• Hay conceptos teóricos válidos en unos idiomas y en otros no.
• Se deben diferenciar dentro de un mismo idioma a) dialectos y b) formas
escritas vs formas orales.
coste computacional
• algoritmos y técnicas complejos computacionalmente.
• dificulta aplicaciones prácticas.
Escasez de recursos léxicos
• necesidad de conocimiento lingüı́stico (colecciones de textos, gramáticas,
muestras de voz...).
• ausencia de estándares.
• en especial para español/galego.
Alta dependencia del dominio
• desarrollos especı́ficos para una aplicación (ej no es lo mismo extraer
información de un periódico que de un boletı́n oficial).
• difı́cil extrapolar resultados.
Carácter interdisciplinar (distinta visión e intereses).
6
2.
2.1.
ANÁLISIS LÉXICO
PALABRAS
Bloques constructivos básicos de cualquier lenguaje (natural o artificial).
Menor unidad existente en un lenguaje con “significado completo”.
Cualquier área de PLN necesita extensos conocimientos de las palabras.
Léxico = conjunto de las palabras que forman parte de un lenguaje.
El léxico en LN es complejo:
• las palabras son entidades con una estructura muy elaborada.
• las formas ortográficas y fonéticas varı́an en función del entorno sintáctico.
• se combinan entre si para formar palabras compuestas y frases hechas.
• el léxico tiene un tamaño grande y es variable:
◦ generación de nuevas palabras (derivación de las existentes).
◦ incorporación de palabras (prestamos idiomáticos,
abreviaturas...)
siglas,
Dificultad para saber lo que es una palabra:
• separación de palabras.
• manejo de palabras compuestas (ej. idioma alemán).
Diferencia entre:
• Forma: palabra tal como aparece.
• Lema: “forma canónica” de la palabra.
Un lema representa un conjunto de palabras con la misma raı́z, misma
categorı́a léxica (tipo de palabra) y mismo sentido.
• Sentido: ≈ significado (circunscrito a palabras con una misma categorı́a
léxica).
Forma Lema Sentido
gatos
gato
animal
herramienta
gatitos gato
animal
barro
barrer limpiar
barro sustancia
corre
correr presente de indicativo
imperativo
7
Conceptos relacionados con el análisis léxico:
• Etiquetación: obtener la categorı́a léxica, tipo y rasgos gramaticales de la
palabra.
• Lematización: obtener el lema de un a forma.
• Tagset: conjunto de las posibles etiquetas asignables. Las etiquetas
codifican la información léxica y gramatical de un conjunto de palabras.
Indican:
◦ categorı́a léxica (part-of-speech POS): nombre, adjetivo, verbo...
◦ rasgos gramaricales: género, número, caso, tiempo verbal...
2.2.
MORFOLOGÍA
Estudia la construcción de las palabras.
Palabras simples son construı́das a partir de unidades más pequeñas
(morfemas).
Morfemas: Unidades mı́nimas con significado “parcial” en las que podemos
dividir una palabra.
Tipos:
• Raiz: Morfema principal que aporta el significado principal de la palabra.
• Afijos (prefijos, sufijos, infijos): añaden significados adicionales (rasgos
gramaticales).
2.2.1.
FORMACIÓN DE PALABRAS
Dos formas de construı́r palabras a partir de morfemas.
Flexión
• crea diferentes formas de un lema.
• las nuevas palabras mantienen su categorı́a léxica.
• especifica rasgos gramaticales: número, persona, tiempo verbal.
Ej.- gato/a/os/as... am/o/as/a/amos/ais/an...
8
Derivación
• crea nuevas palabras a partir de las existentes.
• normalmente supone un cambio de categorı́a léxica.
• cambia el significado (de forma predecible).
generar → generación
(v → s)
• nominalización:
preparar → preparación (v → s)
• verbalización:
relativo → relativizar
(adj → v)
abandono → abandonar (n → v)
razón → razonable
(n → adj)
• otros: razonable → razonablemente (adj → adv)
úitl → inútil
(adj → adj)
2.3.
MÉTODOS DE REPRESENTACIÓN Y ANÁLISIS LÉXICO
Objetivo: Representar el léxico de un lenguaje para realizar tareas de:
etiquetación (más importante).
lematización.
generación.
ETIQUETACIÓN
etiqueta(s)
LEMATIZACIÓN
lema(s)
Palabra
codifican:
- categoría léxica
- rasgos gramaticales
Partimos de conocimiento sobre:
Raı́ces/lemas presentes en el lenguaje y su categorı́a.
Tipos de afijos que admiten las raı́ces.
Información morfológica sobre formación de palabras.
• reglas de flexión y derivación.
Necesidad de arquitecturas de reconocimiento eficientes (rápidos).
Es posible usar una BD pero no es eficiente, especialmente en diccionarios
grandes.
9
Técnicas de modelado del léxico de un lenguaje.
Árboles de letras (letter tree).
Autómatas y traductores finitos.
Reglas de dos niveles.
La idea es recopilar todo ese conocimiento morfológico creando un modelo del léxico.
2.3.1.
ÁRBOLES DE LETRAS
Ejemplo:
c
e
a
a
n
m
n
c
t
a
...
n
o
a
ó
V1spi
V3spi
t
V3sppsi
r
b
VInf
a
r
V1spii
V3spii
í
a
s
i
m
s
o
V2spii
...
n
...
V3ppii
V2ppii
s
V1ppii
10
V1sci
V3sci
...
Ventajas: Rapidez.
• La complejidad del reconocimiento de una palabra lineal respecto a la
longitud de la palabra a analizar (O(n)).
• No depende del número de palabras presentes en el reconocedor.
Inconveniente: Alta Redundancia.
• Requisitos de memoria demasiado altos para diccionarios medio-grandes.
2.3.2.
AUTÓMATAS FINITOS
Usados en compiladores.
El PLN representan diccionarios qrandes y con alta ambigüedad.
Pueden ser vistos como árboles de letras minimizados (de hecho un árbol de
letras no es más que un AF).
Ventajas
• Mantienen la rapidez de los árboles de letras. La complejidad es lineal
con respecto a la longitud de la palabra e independiente del número de
palabras del diccionario (O(n)).
• Reduce el consumo de memoria repsecto a los árboles de letras.
Inconvenientes:
• Posibilidad de sobregeneración (posibilidad de generación de formas
inexistentes y/o incorrectas)
Ej.- azul → azulista, azulizar, azulable...
• No es nada trivial añadir palabras.
i
s
d
r
e
e
m
u
o
d
t
n
i
c
n
v
g
s
a
l
Al añadir “removal” podemos sobregenerar “discoval”, “recoval”,
“dismoval”...
11
2.3.3.
MORFOLOGÍA DE 2 NIVELES
Modelo general utilizado en la construcción de Analizadores Léxicos a partir
de las reglas morfológicas de flexión y derivación.
Es un modelo general aplicable a lenguas con encadenamiento de morfemas.
Válido para análisis y generación de formas.
Basado en la distinción que hacen los lingüistas entre nivel superficial y nivel
léxico.
• Nivel Léxico (o Teórico): conjunto de morfemas y orden en que aparecen.
• Nivel Superficial: distintas formas que toman los morfemas en las palabras
del lenguaje.
Ej:
cadena superficial: quiero querer feliz felices
quer+o
quer+er
feliz
feliz+s
cadena léxica:
querer+V1spi querer+Vinf feliz N Sing feliz N Pl
donde “quer” y “quier” son alomorfos de un mismo morfema.
En
estos
modelos
cualquier palabra se representa mediante una correspondencia directa letra
a letra entre la cadena superficial y la teórica.
IMPLEMENTACIÓN SIMPLE
Componentes:
• Sistema Léxico: conjunto de morfemas del lenguaje (raı́ces, sufijos,
prefijos...)
• Reglas: determinan la relación entre formas superficiales y léxicas.
1. Reglas Morfológicas:
◦ Expresan las relaciones entre letras (superficie) y morefemas.
◦ Permiten la descomposición de una cadena de caracteres en una
estructura morfémica.
camión → camiones
Ej:
niño
→ niños
donde -s y -es son morfemas de plural.
2. Reglas de Deletreo (Spelling Rules):
◦ Describen alteraciones al nivel de las letras que constituyen una
forma.
Ej: feliz → felices: cambio z → c
12
3. Reglas Gramaticales de la Palabra (Word Grammar Rules):
◦ Describen como afecta la composición entre morfemas a las
propiedades léxicas de la palabra.
◦ Abstraen los detalles de las cadenas concretas.
◦ Definen a) secuencias de morfemas concretos, b) concatenaciones
válidas y c) categorı́a léxica de la palabra resultante.
Conversión de las reglas a Traductores de Estado Finito (TEF).
• TEF es un AF con dos alfabetos asociados (de entrada y salida).
• Las transiciones están definidas para dos caracteres.
• Permiten modelar las transformación de la cadena principal a la cadena
léxica (y viceversa).
Ej: Etiquetación con TEF.
v:v
e:e
a:a
l:l
+VBZ:s
+VB:_
e:e
a:_
+VBD:t
v:f
e:_
leave ≡ leave+VB (infinitivo)
leaves ≡ leave+VBZ (3a persona sing. presente)
left
≡ leave+VBD (pasado)
• En el traductor existirá, para cada palabra, un camino que contiene la
forma flexionada superficial y la forma teórica a nivel léxico (en el ejemplo
anterior un par (lema, etiqueta)).
• Posibilidad de concatenar TEFs para implementar reglas de dos niveles.
feliz + N +Pl
Nivel Léxico
Reglas Morfológicas
y Gramaticales
TEF
feliz + s
Nivel Superficial
TEF1
...
felices
13
TEFn
Reglas de Deletreo
Extensiones:
• Emisión de una única cadena de salida o múltiples cadenas, lo que permite
el tratamiento de ambigüedades léxicas.
• Asociación de pesos, mediante la incorporación de información numérica a
los estados, lo que permite el uso de probabilidades de emisión de formas.
HERRAMIENTAS PARA MORFOLOGÍA DE 2 NIVELES
MMORH
Compilador de reglas morfológicas de 2 niveles de libre distribución.
Desarrollado en el marco del proyecto Multitext.
Parte de un o varios ficheros que especifican las reglas morfológicas y un
diccionario de morfemas, generando como resultado un reconocedor/generador.
MMORPH hace uso de Descripciones Morfosintácticas (MSD):
• Especificación de las categorı́as léxicas (tipos) y los rasgos gramaticales
(atributos) que tienen asociadas las formas.
noun [gender=fem case=accusative]
noun [gender=neuter case=accusative|nominative]
Donde “noun” es una categorı́a, “gender” y “case” son atributos y “fem”,
“accusative”... son valores.
Fichero de especificación:
1. Lexicón: Compuesto de pares (MSD, Forma).
verb[form=base] "want"
prep[type=time|place] "between"
Incluye formas irregulares.
noun[num=pl] "mice"="mouse"
verb[form=pp] "gone"="go"
14
2. Gramática Morfológica
Especificación de reglas morfológicas y gramaticales.
• Declaración de tipos, atributos y valores.
@attributes
@types
numb : sing pl
noun : gender num case
person : 1p 2p 3p
verb : tense num
• Declaración de reglas.
@grammar
noun[numb=pl gender=$GEN] <- noun[numb=sing gender=$GEN]
noun_suffix[numb=pl]
“Un nombre en plural se forma con un nombre en singular
concatenando un sufijo de plural”.
• Declaración de afijos.
"s" noun:suffix[numb=pl]
“s” es un “noun suffix” que indica plural.
3. Spelling Rules
• Especificación de reglas no concatenativas.
• Usadas cuando hay discrepancias entre la forma superficial y la forma
léxica.
Ej: big+er = bigger, box+s = boxes
a) Declaración de clases de caracteres (ayuda a la legibilidad)
@classes
vowel : a e i o u
sxz : s x z
b) Declaración de pares forma léxica/forma superficial.
@pair
Inserted_E : e/<>
Double_Cons : <bb>/b <dd>/d <gg>/g
donde “<>” indica vacı́o y la primera parte de cada par es la forma
superficial y la segunda la léxica.
15
c) Reglas de 2 niveles
• Especifican las transformaciones.
• Por defecto cada carácter se corresponde consigo mismo, por lo
que no se especifica.
Ej: box+s → boxes
Simple_Add_E: <=> sxz - Inserted_E - *s
donde “Simple Add E” es el nombre de la regla, “<=>” es el
operador “sxz” es el contexto izquierdo, “Inserted E” el foco y “*s”
es el contexto derecho. “*”marca el lı́mite entre dos segmentos de
palabra.
16
Descargar