Procesamiento Automático del Lenguaje Natural Realizado por: José Eduardo Rivera Cabaleiro Salwa Al Atassi González.

Slides:



Advertisements
Presentaciones similares
“Los secretos de mi ordenador”
Advertisements

¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
PARTES DE LA GRAMÁTICA.
TERMINOLOGÍA EN ESPAÑOL
Lenguaje Lic. Carlos Marenales
© Rocío Lineros Quintero
TEMA 1: Fundamentos Temario: Introducción a la informática
¿Cómo hacer para que una máquina comprenda el LN?
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
Resolución de Problemas Algoritmos y Programación
Propiedades textuales
RUTAS DEL APRENDIZAJE.
Traducción dirigida por la Sintaxis
CAPITULO 2 La Representación del Conocimiento
La lingüística como ciencia cognitiva
METODOLOGIA DE LA PROGRAMACION
MARCO COMUN EUROPEO DE REFERENCIA PARA LAS LENGUAS
La estructura de la oración Sintaxix Luis Villaseñor Pineda Laboratorio de Tecnologías del Lenguaje Coordinación de Ciencias Computacionales, Instituto.
Funciones del Lenguaje
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
Conceptos Fundamentales
PROGRAMACIÓN LÓGICA.
Sistemas Evolutivos Introduccion.
TRADUCTOR DE UN PROGRAMA
Alicia Romero de Cutropia
Problemas, algoritmos y programas: Modelar: Simular o programar su solución en un computador. Algoritmos: Es un conjunto finito, y no ambiguo de etapas.
LENGUA ESPAÑOLA Introducción.
ANALISIS SINTACTICO Parte I
Inteligencia artificial

Procesamiento Práctico del lenguaje Natural Capítulo XXIII.
FORMACIÓN BÁSICA – NIVEL I y II. Índice. Los Bloques y documentos adjuntos. Análisis de un bloque de contenidos. Partes y metodología. Los Ámbitos en.
Lectura compartida Objetivos:
Introducción al Análisis Sintáctico
TEMA 2 1.EL LÉXICO Y LOS DICCIONARIOS 2.Distintos tipos de tExtos
4/27/2015Lingüística Computacional1 LEXICONES Y CORPUS Carlos Mario Zapata J.
Profesor: Rubén Rodríguez (c) PhD
PROPUESTAS METODOLÓGICAS PARA TRABAJAR LAS COMPETENCIAS DESDE LA MATERIA DE LENGUA CASTELLANA Y LITERATURA.
Modelo de la Gramática Generativa Transformacional (1965)
INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
Lenguajes de Programación
COMUNICACIÓN ORAL Y ESCRITA
Clase #1: Conceptos y modelos
UNIVERSIDAD LATINA (UNILA)
PREESCOLAR.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Metodología de la programación
Teoría de lenguajes y compiladores
Sobre el Lenguaje Rodrigo Jurado, MA*
Prof. Flor Narciso Departamento de Computación
Heiner Mercado Curso de Lingüística Computacional
JUDITH MEECE ESTRADA GARCÍA RUTH GONZÁLEZ PADILLA MIRIAM NOEMI
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
Lineamientos Curriculares El eje del proyecto es el referido a los procesos de interpretación y producción de textos, ya que este eje en particular orienta.
DIRECCION DE EDUCACION ESPECIAL
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
ENFOQUE TRABAJO POR TAREAS
C ONCEPTOS GENERALES DE LA LINGÜÍSTICA COMPUTACIONAL Ana María Tangarife Patiño.
Lingüística computacional unidad 2. lexicones y corpus
Tecnologías del lenguaje
Inteligencia Artificial El procesamiento del Lenguaje Natural
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Valle del Momboy Carvajal, Trujillo Alumnas Luzmila.
¿Qué es la sociolingüística?
TECNICATURA ANALISTA PROGRAMADOR
RUTAS DEL APRENDIZAJE.
FUENTES PARA LA SELECCIÓN DE CONTENIDOS. Contenido Genérica Primer bloque (Usos y formas de la comunicación oral) Conceptos Epígrafes: >, >, > y >
Sandra Parada Mesa y Jesica Alejandra Alarcón
Conalep 150 Tehuacán inmi 309 soma
1 MÁS QUE PALABRAS. 2 Más que palabras ¿Qué han de aprender a manipular mentalmente los niños para ser competentes gramaticalmente hablando?
Basado en el libro Léxico del español como segunda lengua: aprendizaje y enseñanza, de Mª Victoria Romero Gualda (2008).
Transcripción de la presentación:

Procesamiento Automático del Lenguaje Natural Realizado por: José Eduardo Rivera Cabaleiro Salwa Al Atassi González

Introducció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.

Introducció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?

El Lenguaje como Codificador-Descodificador

Procesador 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

Mó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

Mó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)

Mó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 α → β, α є N, β є (N U T)  S = axioma (No-Terminal)

Mó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

Problemas 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

PLN 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

Ejemplo I (Inicial) gram1.pl gram1.pl o(Entrada,Resto) :- sn(Entrada,Parte), sv(Parte,Resto). sn(Entrada,Resto) :- det(Entrada,Parte), n(Parte,Resto). sv(Entrada,Resto) :- v(Entrada,Resto). sv(Entrada,Resto) :- v(Entrada, Parte), sn(Parte,Resto). det(Entrada,Resto) :- 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,Resto) :- terminal(ate, Entrada, Resto). v(Entrada,Resto) :- terminal(slept, Entrada, Resto). terminal(Palabra,[Palabra|Resto],Resto). %o([that,boy,slept],[]). %o(X,[]). Gramática simple

Ejemplo II gram2.pl 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,[]).

Ejemplo III gram3.pl gram3.pl 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(Entrada,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,Resto) :- terminal(cakes, Entrada, Resto). v(transitivo,Entrada,Resto) :- terminal(ate, Entrada, Resto). v(intransitivoEntrada,Resto) :- terminal(slept, Entrada, Resto). terminal(Palabra,[Palabra|Resto],Resto). %o([those,boy,ate,that,cakes],[]). %o(X,[]). Restricciones de número y transitividad

Ejemplo 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(SV=sv(_,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),Entrada,Resto) :- v(v(V),Rasgo,transitivo,Entrada, Parte), sn(SN,Parte,Resto), SN=sn(_,n(N)),T=..[Rasgo,N],call(T).

Ejemplo IV gram4.pl gram4.pl det(det(that),singular,Entrada,Resto) :- terminal(that, Entrada, Resto). det(det(those),plural,Entrada,Resto) :- terminal(those, Entrada, Resto). n(n(boy),singular,Entrada,Resto) :- terminal(boy, Entrada, Resto). n(n(cakes),plural,Entrada,Resto) :- terminal(cakes, Entrada, Resto). % propiedad semantica de los nombres comible(cakes). v(v(ate),comible,transitivo,Entrada,Resto) :- terminal(ate, Entrada, Resto). v(v(slept),_,intransitivo,Entrada,Resto) :- terminal(slept, Entrada, Resto). terminal(Palabra,[Palabra|Resto],Resto).

Añadiendo reglas morfológicas Plural(Sing, Plur) :- convert (Sing, Singlista), concat(Base,[C,y],SingLista), not(vocal(C)), concat(Base,[C,i,e,s],Plurlista), convert(Plur,Plurlista). vocal(C) :- in(C,[a,e,i,o,u]). plural(chil,children) :- !. plural(mouse,mice) :- !. …

DCG: 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)

DCG: Ejemplo DCG.pl DCG.pl o(o(SN,SV)) --> sn(SN), sv(SV),{not(SV=sv(_,SN))}. sn(sn(Det,N)) --> det(Det,Numero), n(N,Numero). sv(sv(v(V))) --> v(v(V),_,_). sv(sv(v(V),SN)) --> v(v(V),Rasgo,transitivo), sn(SN), {SN=sn(_,n(N)),T=..[Rasgo,N],call(T)}. det(det(that),singular) --> [that]. det(det(those),plural) --> [those]. n(n(boy),singular) --> [boy]. n(n(cakes),plural) --> [cakes]. v(v(ate),comible,transitivo) --> [ate]. v(v(slept),_,intransitivo) --> [slept]. comible(cakes).

Aplicacion DC: Traductor :-use_module(input). :-use_module(output). traducir :- leer_texto(X), o(Y,X,[]), write_word(Y). o(O) --> sn(SN,Numero), sv(SV,Numero),{not(SV=[_|SN]), concatena(SN,SV,O)}. sn([Det,N],Numero) --> det([Det],Numero,Genero), n([N],Numero,Genero). sv([V],Numero) --> v([V],_,_,Numero). sv([V|SN],Numero) --> v([V],Rasgo,transitivo,Numero), sn(SN,_), {SN=[_|[N]],T=..[Rasgo,N],call(T)}. Podemos crear nuevas aplicaciones sustituyendo la información de la estructura por otra que queramos

Aplicacion DCG MiTraductor.pl MiTraductor.pl %diccionario con correspondencia al español det([aquel],singular,masculino) --> [that]. det([aquella],singular,femenino) --> [that]. det([aquellos],plural,masculino) --> [those]. det([aquellas],plural,femenino) --> [those]. n([niño],singular,masculino) --> [boy]. n([niña],singular,femenino) --> [girl]. n([pasteles],plural,masculino) --> [cakes]. comible(pasteles). v([comio],comible,transitivo,singular) --> [ate]. v([comieron],comible,transitivo,plural) --> [ate]. v([durmio],_,intransitivo,singular) --> [slept]. v([durmieron],_,intransitivo, plural) --> [slept].

Aplicacion DC: Eliza Eliza.pl 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

Conclusiones 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

Aplicaciones 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

Comprensió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

Ayuda en Preparación de Texto Ejemplo: herramientas de Microsoft Word Guiones Ortografía Gramática Estilo Hechos y coherencia lógica

Bú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

Interfaces 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

Traducció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ó”

Procesamiento 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)

Generació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)

Conducció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

El 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)

Conclusiones 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

Bibliografí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. Procesamiento de Lenguaje Natural. Lourdes Araujo.Universidad Complutense de Madrid.