Title: Procesamiento Autom
1Procesamiento Automático del Lenguaje Natural
Realizado por José Eduardo Rivera
Cabaleiro Salwa Al Atassi González
2Introducción I
- Procesador Lingüístico traduce del Lenguaje
Natural (LN) a una representación formal
equivalente. - Sistemas Expertos, Programas de Razonamiento
realizan operaciones lógicas sobre esa
representación.
3Introducción II
- Existen volúmenes inmensos de información en LN
- Se realizan operaciones sobre la información
tales como búsqueda, comparación, traducción, - Los computadores son más capaces de procesar la
información que las personas, pero, son capaces
de entenderla?
4El Lenguaje como Codificador-Descodificador
5Procesador Lingüístico
- Traduce la información entre la representación
textual y la representación formal equivalente - Estructura (refleja la del lenguaje)
- Módulo fonético y fonológico
- Módulo morfológico
- Módulo sintáctico
- Módulo semántico y pragmático
6Módulo Morfológico I
- Diccionarios lista de palabras de una lengua,
junto con diversas informaciones morfología,
definición, etimología, estadísticas, - Lexicón forma típica de la entrada de los
diccionarios que contiene información fonológica,
morfológica, sintáctica y semántica - Formalismo de representación para codificar los
datos - Ejemplos los bilingües o multilingües recogen la
correspondencia entre destintas lenguas
7Módulo Morfológico II
- Diccionarios electrónicos
- Elementales Léxico desplegado (inmanejable)
- Lengua de expresión compleja el lexicón
proporciona la raíz y la información gramatical
asociada, y un componente morfológico genera las
posibles formas (ayuda a inferir funciones
sintácticas)
8Módulo Sintáctico I
- Las estructuras sintácticas se construyen con una
gramática, una especificación mediante reglas de
reescritura de las estructuras permitidas en el
lenguaje. - El tipo más común de gramáticas son las de
contexto libre (CFGs) - CFG es una cuádrupla (N,T,R,S)
- N conjunto de símbolos No-Terminales
- T conjunto de símbolos Terminales
- R conjunto de Reglas de la forma a ? ß, a ? N,
ß ? (N U T) - S axioma (No-Terminal)
9Módulo Semántico y Pragmático II
- La semántica estudia el significado del texto y
desarrolla los métodos para formar este
significado a través de una serie de
representaciones sintácticas de las oraciones. - La pragmática estudia cómo las intenciones del
autor del texto están expresadas en el texto, es
decir, en un contexto dado
10Problemas Generales
- Ambigüedad Léxica, sintáctica,
- Conocimiento lingüístico conocimiento léxico y
conocimiento general - Conocimiento extralingüístico información obvia
omitida - Diccionarios de relaciones entre objetos y de
escenarios de las relaciones típicas - Métodos de aprendizaje semiautomático
11PLN CON PROLOG
- Características iniciales
- Gramática como Reconocedor
- Entrada lista de átomos (palabras)
- Diccionario léxico desplegado
- Sintaxis Uso de CFG con difference list
- Sin uso de Semántica ni Pragmática
12Ejemplo I (Inicial) gram1.pl
o(Entrada,Resto) - sn(Entrada,Parte),
sv(Parte,Resto). sn(Entrada,Resto) -
det(Entrada,Parte), n(Parte,Resto). sv(Entrada,Res
to) - v(Entrada,Resto). sv(Entrada,Resto) -
v(Entrada, Parte), sn(Parte,Resto). det(Entrada,R
esto) - terminal(that, Entrada,
Resto). det(Entrada,Resto) - terminal(those,
Entrada, Resto). n(Entrada,Resto) -
terminal(boy, Entrada, Resto). n(Entrada,Resto)
- terminal(cakes, Entrada, Resto). v(Entrada,Rest
o) - terminal(ate, Entrada, Resto). v(Entrada,Res
to) - terminal(slept, Entrada,
Resto). terminal(Palabra,PalabraResto,Resto).
o(that,boy,slept,). o(X,).
13Ejemplo II gram2.pl
- Entrada texto natural
- Usamos una función leer_texto(X) que nos
convierta una cadena de entrada en una lista de
atomos - ?- leer_texto(X),o(X,).
14Ejemplo III gram3.pl
- Restricciones de número y transitividad
o(Entrada,Resto) - sn(Entrada,Parte),
sv(Parte,Resto). sn(Entrada,Resto) -
det(Numero,Entrada,Parte), n(Numero,Parte,Resto).
sv(Entrada,Resto) - v(_,Entrada,Resto). sv(Entrad
a,Resto) - v(transitivo,Entrada, Parte),
sn(Parte,Resto). det(singular,Entrada,Resto) -
terminal(that, Entrada, Resto). det(plural,Entrada
,Resto) - terminal(those, Entrada,
Resto). n(singular,Entrada,Resto) -
terminal(boy, Entrada, Resto). n(plural,Entrada,Re
sto) - terminal(cakes, Entrada,
Resto). v(transitivo,Entrada,Resto) -
terminal(ate, Entrada, Resto). v(intransitivoEntra
da,Resto) - terminal(slept, Entrada,
Resto). terminal(Palabra,PalabraResto,Resto).
o(those,boy,ate,that,cakes,). o(X,).
15Ejemplo IV
- Restricciones semánticas
- Introducimos otra utilidad, generar estructuras
de la oración Parser
o(o(SN,SV),Entrada,Resto) - sn(SN,Entrada,Parte),
sv(SV,Parte,Resto),not(SVsv(_,SN))
. Rest. Sem. sn(sn(Det,N),Entrada,Resto) -
det(Det,Numero,Entrada,Parte),
n(N,Numero,Parte,Resto). sv(sv(v(V)),Entrada,Resto
) - v(v(V),_,_,Entrada,Resto). sv(sv(v(V),SN),Ent
rada,Resto) - v(v(V),Rasgo,transitivo,Entrada,
Parte), sn(SN,Parte,Resto),
SNsn(_,n(N)),T..Rasgo,N,call(T).
16Ejemplo IV gram4.pl
det(det(that),singular,Entrada,Resto) -
terminal(that, Entrada, Resto). det(det(those),plu
ral,Entrada,Resto) - terminal(those, Entrada,
Resto). n(n(boy),singular,Entrada,Resto) -
terminal(boy, Entrada, Resto). n(n(cakes),plural,E
ntrada,Resto) - terminal(cakes, Entrada,
Resto). propiedad semantica de los
nombres comible(cakes). v(v(ate),comible,transit
ivo,Entrada,Resto) - terminal(ate, Entrada,
Resto). v(v(slept),_,intransitivo,Entrada,Resto)
- terminal(slept, Entrada, Resto). terminal(Pala
bra,PalabraResto,Resto).
17Añadiendo reglas morfológicas
Plural(Sing, Plur) - convert (Sing, Singlista),
concat(Base,C,y,SingLista),
not(vocal(C)), concat(Base,C,i,e,s,Plu
rlista), convert(Plur,Plurlista). vocal(C)
- in(C,a,e,i,o,u). plural(chil,children) -
!. plural(mouse,mice) - !.
18DCG Definitive Clause Grammar
- Formalismo desarrollado por Pereira y Warren
(1980) - Reglas gramáticas
- Parte_izq ? Parte_der (como Prolog)
- El sistema se encarga del manejo de la entrada y
de las difference list (elimina la necesidad de
los dos predicados de análisis) - Usar
- Para los predicados con el formalismo propio
de Prolog - Para los nodos terminales (predefinido por
el sistema)
19DCG Ejemplo DCG.pl
o(o(SN,SV)) --gt sn(SN), sv(SV),not(SVsv(_,SN)).
sn(sn(Det,N)) --gt det(Det,Numero),
n(N,Numero). sv(sv(v(V))) --gt v(v(V),_,_). sv(sv(v
(V),SN)) --gt v(v(V),Rasgo,transitivo), sn(SN),
SNsn(_,n(N)),T..Rasgo,N,call(T). det(det(
that),singular) --gt that. det(det(those),plural)
--gt those. n(n(boy),singular) --gt
boy. n(n(cakes),plural) --gt cakes. v(v(ate),co
mible,transitivo) --gt ate. v(v(slept),_,intransi
tivo) --gt slept. comible(cakes).
20Aplicacion DC Traductor
- Podemos crear nuevas aplicaciones sustituyendo la
información de la estructura por otra que queramos
-use_module(input). -use_module(output). traduci
r - leer_texto(X), o(Y,X,), write_word(Y). o(O
) --gt sn(SN,Numero), sv(SV,Numero),not(SV_SN)
, concatena(SN,SV,O). sn(Det,N,Numero) --gt
det(Det,Numero,Genero), n(N,Numero,Genero). sv
(V,Numero) --gt v(V,_,_,Numero). sv(VSN,Nume
ro) --gt v(V,Rasgo,transitivo,Numero),
sn(SN,_), SN_N,T..Rasgo,N,ca
ll(T).
21Aplicacion DCG MiTraductor.pl
diccionario con correspondencia al
español det(aquel,singular,masculino) --gt
that. det(aquella,singular,femenino) --gt
that. det(aquellos,plural,masculino) --gt
those. det(aquellas,plural,femenino) --gt
those. n(niño,singular,masculino) --gt
boy. n(niña,singular,femenino) --gt
girl. n(pasteles,plural,masculino) --gt
cakes. comible(pasteles). v(comio,comible,tr
ansitivo,singular) --gt ate. v(comieron,comible
,transitivo,plural) --gt ate. v(durmio,_,intran
sitivo,singular) --gt slept. v(durmieron,_,intr
ansitivo, plural) --gt slept.
22Aplicacion DC Eliza Eliza.pl
- Escrito por Joseph Weizenbaum en1960,
- Demuestra varios aspectos de PLN, por lo que
adquirió bastante popularidad - Simula una entrevista con un doctor psicoanalista
neutral para que el paciente revele sus
pensamientos y sentimientos de forma espontánea
23Conclusiones sobre el uso de CFG
- Dan lugar a algoritmos eficientes para muchas
tareas de tratamiento del lenguaje - Unen la simplicidad, con la capacidad de
expresión de una gran variedad de construcciones
del lenguaje - Pero necesitan multiplicar las reglar para añadir
características tales como género y número (y las
restricciones semánticas en su caso) - Dependencias de larga distancia. Ejemplo wh-
pueden servir como sintagma nominal
24Aplicaciones de PALN
- Comprensión del lenguaje
- Ayuda en preparación de texto
- Búsqueda y minería de texto
- Interfaces en LN
- Traducción automática
- Procesamiento de voz
- Generación de texto
- Conducción del diálogo
25Comprensión del Lenguaje
- Tarea final de la ciencia del análisis del texto
- Comprensión del texto transformación del mismo a
una representación formal. - Resultados prácticos relativamente modestos
- Avance en los sistemas del laboratorio, debido al
esfuerzo principal que le dirige la lingüística
computacional
26Ayuda en Preparación de Texto
- Ejemplo herramientas de Microsoft Word
- Guiones
- Ortografía
- Gramática
- Estilo
- Hechos y coherencia lógica
27Búsqueda y Minería de Texto
- Desde encontrar documentos concretos, hasta
descubrir conocimiento nuevo no escrito en
ninguno de ellos - TIPOS
- Búsqueda de documentos
- Responder preguntas
- Extracción de información
- Minería de texto
28Interfaces en LN
- El único modo de comunicarse con los computadores
es mediante los lenguajes de programación - La educación computacional cuesta mucho dinero, y
no es fácil de aprender - Alternativa enseñar a un computador nuestro
idioma y copiar el programa a los demás - Ejemplo sistema TRAINS de J.Allen
29Traducción Automática
- Traducir un texto consiste en entender ese
texto y luego generarlo en otro idioma - Los traductores automáticos entienden algunas
partes del texto y las traducen en el orden en
que aparecen en el texto fuente - Ejemplo Juan le dio a María un pastel. Lo comió
30Procesamiento de Voz
- El modo más natural para un ser humano es hablar
y escuchar - La voz representa más información que el texto
escrito - Existen grandes problemas técnicos de convertir
los sonidos de la voz a las palabras - Existen grandes avances sistemas capaces de
hablar con los usuarios (ej. por teléfono)
31Generación de Texto
- El segundo componente de la comunicación es la
capacidad de producir el texto o el habla - Es una tarea más simple que la comprensión
- Dificultad no hacer el texto aburrido,
incoherente y a veces no entendible - expresiones que se usan en un contexto dado
(métodos de planificación contextual)
32Conducción de Diálogo
- La computadora aprende a entender y producir
texto, puede conversar con las personas? - Problemas el contexto y el conocimiento general
sobre los tipos de situaciones
33El Futuro del PALN
- Semántica y pragmática
- Lingüística de texto
- Hablar saber pensar
- Los computadores hablan con nosotros
- Los computadores hablan entre sí (paradigma de
programación orientada a agentes)
34Conclusiones
- El PLN es fácil de entender, posible y tiene gran
importancia en nuestra época de información - Presenta dificultades, pero se desarrolla
dinámicamente con grandes inversiones
35Bibliografía
- PROLOG for Natural Language Processing. Annie
Gal, Guy Lapalme, Patrick Saint-Dizier and Harold
Somers. - Avances y perspectivas de procesamiento
automático de lenguaje natural (Cuento de una
Máquina Parlante). Alexander Gelbukh, Igor
Bolshakov. Laboratorio de Lenguaje Natural,
Centro de Investigación en Computación,
Instituto Politécnico Nacional (México). No
responden. - http//www.gelbukh.com/CV/Publications/2000/IPN-P
roc-Leng-Nat.htm - Procesamiento de Lenguaje Natural. Lourdes
Araujo.Universidad Complutense de Madrid. - http//www.fdi.ucm.es/profesor/lurdes/nlp/cap1
.pdf