César Antonio Aguilar
Facultad de Lenguas y Letras
14/03/2013
Curso de procesamiento del
lenguaje natural
PLN: ¿qué es? (1)
PLN: ¿qué es? (2)
<CD num= “1"> <PP tippp= "Aut"> M. Godron y G. Merriam </PP> entre otros, quienes <PVD><VD lema= "considerar" args= "3" mdo= "fin"> consideran </VD> a la <TERM term= "L" tipterm= "fn"> Ecología del Paisaje </TERM> <NX tipnx= "adv"> como </NX> </PVD> <MTD mdef= "dp" mt= ""> : </MTD> <DEF tipdef= "GD"> "la ecología de los sistemas movibles y heterogéneos, estudiando entonces la influencia de la estructura del paisaje sobre los procesos ecológicos, tanto a escala local como regional " </DEF> </CD>
PLN: ¿qué es? (3)
Siglo XVIII
Siglo XIX
Siglo XX
PLN: ¿qué es? (4)
El test de Turing (1)
Alan Turing (1912-1954), escribió un artículo famoso titulado “Computer Machinery and Intelligence”.
En este artículo, se plantea que si una máquina es capaz de comprender y generar lenguaje humano, entonces se puede considerar que se trata de una máquina inteligente.
Ahora bien, el problema no es tanto diseñarla (según Turing), sino probar que realmente este conocimiento es una prueba de cierta inteligencia.
¿Qué pensarían si su computador platicara con ustedes?
El test de Turing (2)
El Dr. Chandra platica con Sal, la hermana de Hal
Uno de los ejemplos más creíbles que podemos ver en el cine sobre lo que es la
interacción de tipo humano-máquina lo podemos ver en una película hecha por
Stanley Kubrick en 1968: 2001: A Space Odyssey. En ella, vemos como el Dr.
Sivasubramanian Chandrasegarampillai (o el Dr. Chandra) desarrolla en computador
más avanzado de su tiempo, Hall 9000, capaz de realizar varias tareas complejas,
entre ellas dialogar con astronautas.
Nueve años después, Hall tiene una hermana, Sal 9000, la cual en esencia tiene
los mismos atributos que su hermano mayor. Un ejemplo de su funcionamiento lo
pueden ver en la liga que anoté en la página del curso.
C-3PO Relaciones Interhumanas,
también C-3PO Relaciones
Cibernético-humanas, comúnmente
C-3PO.
Se trata de un droide de
protocolo, diseñado para
interactuar con seres pensantes.
Puede hablar y entender más de
seis millones de formas de
comunicación (¿idiomas?) .
Su principal función como droide
de protocolo es ayudar a explicar
las costumbres, de otras
culturas, la traducción, etc. Es
muy leal a sus amos. Desde su
creación, ha servido a más de
cuarenta.
¿Se acuerdan de Threepio?
Mayor información, ver:
http://starwars.wikia.com/wiki/C-3PO
Cosas más reales (1)
Threepio, a pesar del avance tecnológico actual, es todavía parte de la ciencia-ficción. ¿Qué podemos hacer hoy en día con las tecnologías del lenguaje?
Para tener una mejor idea de lo que son las actuales tecnologías del lenguaje, pueden ver en la página del curso un video en donde Emily Brender (University of Whashington) explica de forma muy breve qué es el PLN.
Igualmente, un ejemplo de aplicación es el sistema de traducción automática Verbmobil, desarrollado bajo el auspicio del Ministerio Federal Alemán para la Educación, la Ciencia, la Investigación y la Tecnología en 1996.
Liga al video:
www.youtube.com/watch?v=noZBab-Lmss
Mayor información sobre Verbmobil:
http://verbmobil.dfki.de/
Existe una considerable cantidad de recursos computacionales que permiten identificar y obtener información específica desde enormes cantidades de textos:
TAKMI (Text Analysis and Knowledge Mining)
www.trl.ibm.com
Cosas más reales (2)
Nota: esto no es una mera cuestión de ingenieros en cómputo, matemáticos, informáticos, empresarios, etc. También se requiere una participación directa de lingüistas. Para darnos una idea, revisemos algunas de las ofertas de trabajo que hoy podemos revisar en la página The Linguist List, un repositorio electrónico para lingüistas, en el cual podemos identificar esta clase de avisos.
Cosas más reales (3)
http://linguistlist.org/jobs/browse-jobs.cfm
Entre lo simple y lo complejo (1)
Reconocimiento de Entidades nombradas =
¿Y qué puedo buscar?:
• Nombres de personas
• Lugares
• Periodos históricos
• Empresas
• Áreas de trabajo
• Etc., etc, y más etc.
¿Quién, cuándo, dónde, cómo?
Tarea = Identificar elementos valiosos que contengan información potencial dentro de un texto.
Entre lo simple y lo complejo (2)
Location
Organization
Date Location
Location
La apuesta es: hacer esta clase de búsquedas de manera eficiente y automática.
Incluso en situaciones en donde se tenga que trabajar con idiomas desconocidos para un usuario.
Ejemplo propuesto por Micth Marcus (UPenn)
Entre lo simple y lo complejo (2)
Inteligencia artificial
Deducción y razonamiento
Representación del conocimiento
Aprendizaje automático
Percepción Creatividad
Inteligencia social Cibernética y robótica
Procesamiento del lenguaje natural
Procesamiento de texto Procesamiento de voz
Estableciendo equivalencias (1)
¿Lingüística computacional?
Lingüística teórica
Fonética/ Fonología Morfología Lexicología Sintaxis Semántica
Análisis del discurso
Pragmática
Estableciendo equivalencias (2)
Estableciendo equivalencias (3)
¿Ingeniería lingüística?
Lingüística aplicada
Psicolingüística
Neurolingüística Adquisición y desarrollo del lenguaje
Enseñanza de lenguas
Traducción
Análisis político del discurso
Sociolingüística Lexicografía
Terapia del lenguaje
Terminología
Lingüística computacional
Procesamiento de voz
Lematización/tokenización
Lexicones Chunking/parsing
Relaciones semánticas
Representación del discurso
Inferencias pragmáticas
Estableciendo equivalencias (4)
Ingeniería lingüística
Reconocimiento/ generación de voz
Recuperación y extracción de
información
Extracción terminológica Resumen
automático
Traducción automática
Reconocimiento de entidades nombradas
Ontologías
Corpus lingüísticos
Lexicografía computacional
Clasificación de documentos
Sistemas pregunta-respuesta
Minería de textos
Estableciendo equivalencias (5)
Tomado de: Van Valin (2006): 264
¿La misma visión del mundo? (1)
Tomado de: Van Valin (2006): 282.
¿La misma visión del mundo? (2)
Tomado de: Copestake (2007)
¿La misma visión del mundo? (3)
¿Y qué hacemos? (1)
Como buenos computólogos, siguiendo la propuesta de Turing o Von Neumann, queremos ocupar ese conocimiento lingüístico para
crear máquinas inteligentes.
Como todo buen lingüista, nos interesa estudiar, describir y
modelar las formas y las funciones que operan en toda
lengua humana.
Un rasgo particular de los lingüistas computacionales
respecto a los colegas lingüistas, es que ponemos
énfasis en desarrollar modelos formales a partir de datos
empíricos
Un rasgo que distingue a los lingüistas computacionales de los colegas
computólogos, es que trabajan con fenómenos dinámicos, que se ven afectados
por un entorno social.
¿Y qué hacemos? (2)
1. Modelar una realidad lingüística basándonos en métodos simbólicos y numéricos.
2. Ofrece una base empírica sólida, que muestra el funcionamiento real de una lengua natural.
¿Y qué hacemos? (3)
Métodos basados en reglas lingüísticas: el lenguaje natural sigue una serie de reglas que sirven para construir estructuras con patrones regulares.
Métodos estadísticos: el lenguaje natural, al presentar cierta regularidad, ofrece un margen de probabilidad estadística para determinar si es viable que se genere o no cierta estructura lingüística.
¿Y qué hacemos? (4)
¿Y qué hacemos? (5)
Lenguaje = ¿reglas y combinaciones? (1)
Verdad de Perogrullo: El lenguaje natural es un sistema combinatorio de signos (SCS).
Lingüistas: “Una lengua humana es un sistema muy, pero muy complejo como para reducirlo a puras fórmulas, ¿o sí?”
Computólogos: “Sí es así, una lengua humana opera como cualquier lenguaje artificial, ¿no?”
¿Qué es lo que entienden computólogos por SCS?
Lenguaje L =
1. Conjunto de caracteres
2. Cadenas
3. Variables
4. Operadores
Si combinamos todo esto, entonces creamos algoritmos capaces de analizar patrones.
Lenguaje = ¿reglas y combinaciones? (2)
Por su parte, los lingüistas (una buena parte), considera que SCS es un conjunto de signos (desde fonemas hasta palabras), los cuales operan bajo determinados principios y parámetros propios de una lengua.
Lenguaje = ¿reglas y combinaciones? (3)
¿Por qué no hacen las cosas bien?
Dadas estas diferencias de enfoques sobre la forma de abordar un mismo objeto de estudio, vale la pena preguntarse: ¿por qué los computólogos y los lingüistas no se entienden (muchas veces), y se ven con desconfianza (normalmente)?
Postura de los ingenieros en cómputo
Postura de los lingüistas
Pānini: Es el autor de la gramática del sánscrito (Vyakarana), la cual se puede considerar como la primera gramática “formal” que se conoce hasta ahora (S. 8 A.C.). Se trata de un modelo de descripción y generación de construcciones en sánscrito que atiende 4 niveles: fonético, morfológico, sintáctico y semántico.
X Files (1)
Pregunta: ¿quién es el primer “lingüista computacional” de la historia?
El sánscrito, según Pānini, opera como un sistema que genera patrones regulares:
*8.2.23 padasyaGen sa¸yog‡ntasyaGen lopa˛ Nom
*8.2.24 padasyaGen sa¸yog‡ntasyaGen r‡tAbl sasyaGen lopa˛ Nom
*8.2.25 dhiLoc sasyaGen lopa˛ Nom
*8.2.26 jhaloAbl jhaliLoc sasyaGen lopa˛ Nom
*8.2.27 hrasv‡dAbl aÔg‡tAbl jhaliLoc sasyaGen lopa˛ Nom
*8.2.28 iÒa˛Abl „ÒiLoc sasyaGen lopa˛Nom
*8.2.29 sko˛GenDu sa¸yog‡dyorGenDu jhaliLoc lopa˛Nom
*8.2.29 sko˛GenDu sa¸yog‡dyorGenDu padasyaGen anteLoc lopa˛Nom *8.2.30 co˛Gen jhaliLoc ku˛Nom
*8.2.30 co˛Gen padasyaGen anteLoc ku˛Nom
X Files (2)
Representación de la gramática de Pānini según Paul Kiparsky:
www.stanford.edu/~kiparsky/
X Files (3)
Lo curioso es que la idea de Pānini ha influido a varios tipos:
Aristóteles (384-322 A. C.) Grammaire de Port-
Royal (1660) René Descartes
(1596-1650)
Fco. Sánchez de las Brozas (1523-1600)
Charles Babbage (1791-1871)
Wilhelm von Humboldt (1767-1835)
George Boole (1815-1864)
Ada A. Byron (1815-1852)
X Files (4)
Las sospechas de Mulder (1)
Todos ellos han planteado algunas cosas:
Tal regularidad es el fruto de un uso rutinario por parte de sus hablantes. Dicha rutina, con el tiempo, da lugar a una gramática
Lenguas humanas sistema de signos
Permiten expresar información sobre el mundo y las personas
Se codifican siguiendo reglas y patrones regulares
¿Qué podemos hacer con una lengua viéndola como un sistema de signos?
Establecer modelos gramaticales
Hacer comparaciones entre distintas lenguas
humanas
Deducir reglas y patrones
Aprovechar esos modelos para desarrollar sistemas de cómputo capaces de generar y comprender una lengua
Las sospechas de Mulder (2)
Una forma de ver las cosas, y que ha dejado mucho dinero a algunos, es utilizar el lenguaje natural para hacer búsquedas de información.
Las sospechas de Mulder (3)
Algunas referencias
Sitios WEB:
1. Página electrónica de Daniel Jurafsky: www.stanford.edu/~jurafsky, Stanford University.
2. Página electrónica de James Martin: www.cs.colorado.edu/~martin/csci5832/, University of Colorado.
3. Linguistic Data Consortium: www.ldc.upenn.edu/, University of Pennsylvania.
4. Natura Language Tool-kit (NLTK): www.nltk.org.
5. General Architecture for Text Engineering (GATE): http://gate.ac.uk/, University of Sheffield
6. The Stanford Natural Language Processing Group: http://nlp.stanford.edu/, Stanford University.
Libro básico: Jurafsky, Daniel y James H. Martin (2008): Speech and Language Processing, New York, Prentice-Hall.
Blog del curso:
http://cesaraguilar.weebly.com/curso-de-
procesamiento-del-lenguaje-natural.html
Gracias por su atención