César Antonio Aguilar
Facultad de Lenguas y Letras
14/03/2013
Curso de procesamiento del
lenguaje natural
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>
Siglo XVIII
Siglo XIX
Siglo XX
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 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:
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 deEntidades 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
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 Aprendizajeautomático Percepción Creatividad
Inteligencia social Cibernética y robótica
Procesamiento del lenguaje natural
Procesamiento de texto Procesamiento de voz
¿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 (3)
¿Ingeniería lingüística?Lingüística aplicada
Psicolingüística Neurolingüística Adquisición y desarrollo del lenguaje Enseñanza de lenguas TraducciónAnálisis político del discurso
Sociolingüística
Lexicografía
Terapia del lenguaje
Lingüística computacional
Procesamiento
de voz Lematización/tokenización Lexicones Chunking/
parsing semánticas Relaciones
Representación del discurso
Inferencias pragmáticas
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 textosEstableciendo 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)
¿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
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.
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.
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.
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
¿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.
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.
¿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)
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
Representación de la gramática de Pānini según Paul Kiparsky: www.stanford.edu/~kiparsky/
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
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.
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.