Curso de Lingüística Computacional. Heiner Mercado Percia.

22
Curso de Lingüística Computacional. Heiner Mercado Percia

Transcript of Curso de Lingüística Computacional. Heiner Mercado Percia.

Page 1: Curso de Lingüística Computacional. Heiner Mercado Percia.

Curso de Lingüística Computacional. Heiner Mercado Percia

Page 2: Curso de Lingüística Computacional. Heiner Mercado Percia.

¿Qué hacer para que una máquina reconozca y genere LN? Debemos encontrar los medios técnicos y

conceptuales para resolver este problema de manera automática.

La Ingeniería de software busca un procedimiento ejecutable de manera automática que resuelva este problema -> busca un algoritmo.

Page 3: Curso de Lingüística Computacional. Heiner Mercado Percia.

Algoritmo es el conjunto finito de instrucciones que configuran el procedimiento paso a paso para resolver un determinado problema en un tiempo finito.

Un programa de computadora es un algoritmo que le dice a la computadora los pasos específicos para llevar acabo una tarea. Los algoritmos son rigurosamente definidos para que la computadora pueda interpretarlos.

Page 4: Curso de Lingüística Computacional. Heiner Mercado Percia.

Los algoritmos pueden escribirse en pseudocódigo, lo que también los hace fáciles de entender.

También pueden representarse de forma sencilla por medio de diagramas de flujo. De esta manera, los algoritmos son más "universales", pues no dependen de un lenguaje de programación específico.

En programación, los algoritmos se implementan en forma de sentencias en algún lenguaje de programación. La forma de escribir los algoritmos dependen del lenguaje de programación. Estos son los algoritmos que pueden ser interpretados por una computadora y así ser ejecutados.

Page 5: Curso de Lingüística Computacional. Heiner Mercado Percia.

Problema: Quiero saber cuantas veces aparece la palabra “automático” en un corpus. Leer caracteres de un archivo Reconocer una palabra Comparar una palabra con “automático” Contar el número de ocurrencias

Page 6: Curso de Lingüística Computacional. Heiner Mercado Percia.

Un DF es una representación gráfica de la secuencia de pasos que se realizan para obtener un resultado.

Page 7: Curso de Lingüística Computacional. Heiner Mercado Percia.

Nb Ocurrencias = 0PARA todos los caracteres del texto HACER

palabra detectada =“”leer un carácteradjuntar carácter

EN TANTO QUE no fin de palabra HACERleer un carácteradjuntar carácter a palabra detectada

FIN TANTO QUESI palabra detectada =“automático”ENTONCES Nb ocurrencias + 1

FIN PARA

Esto debe traducirse en un lenguaje de

máquina o un lenguaje de alto nivel (PHP,

PERL, C++, etc.)Los lenguajes de alto nivel son programas

que traducen órdenes escritas en lenguaje

humano.

Page 8: Curso de Lingüística Computacional. Heiner Mercado Percia.

La IA y la Traducción Automática buscan algoritmos que permitan tratar automáticamente el LN. Comienza el problema de la calculabilidad o

computabilidad (Teoría de la complejidad computacional)

Un problema es computable si tiene una solución algorítmica.

Un computador no puede resolver un problema si no hay una solución algorítmica

Page 9: Curso de Lingüística Computacional. Heiner Mercado Percia.

¿Se puede resolver cualquier problema de manera automática?

¿Podrá existir una máquina que logre resolver todo tipo de problemas automáticamente? Limitaciones de orden teórico (problema con solución

–calculable-) Limitaciones técnicas Evaluación de la complejidad (cantidad de recursos

necesarios: tiempo de ejecución, uso de memoria, eficiencia, etc.)

El estudio de los procesos computacionales conduce a

una clasificación de los problemas en

solucionables y no solucionables.

Pensemos por un momento en problemas que queremos resolver.

Page 10: Curso de Lingüística Computacional. Heiner Mercado Percia.

Problema 1: contar en un corpus las ocurrencias de la palabra “lenguaje”

Problema 2: contar las veces en que aparecen las palabras “lenguaje” y “natural”

Solución 1: lectura secuencial de un archivo con un contador y una comparación.

Solución 2a: lectura secuencial de un archivo con 1 bucle, 2 contadores y 2 comparaciones (El # de operaciones depende del número de palabras)

Solución 2b: 2 lectores secuenciales con 1 contador (El doble de operaciones pero utiliza sólo un contador - memoria)

Page 11: Curso de Lingüística Computacional. Heiner Mercado Percia.

Se buscan algoritmos capaces de manipular series de símbolos y cadenas de símbolos (caracteres)

Algoritmos que permitan a una máquina reconocer, interpretar y generar LN.

Máquina de Turing

Page 12: Curso de Lingüística Computacional. Heiner Mercado Percia.

Reconocimiento: (teoría de los autómatas) se buscan algoritmos que permitan, dado un lenguaje L y una cadena x determinar si x є L o x є L

Interpretación: tiene que ver con la semántica de los lenguajes. Se intenta formalizar el significado de las sentencias de un lenguaje

Generación: consiste en encontrar mecanismos que permitan enumerar las cadenas que pertenecen a un lenguaje. Estos mecanismos son las gramáticas.

Page 13: Curso de Lingüística Computacional. Heiner Mercado Percia.

Tradicionalmente el estudio de los leguajes se divide en dos partes: el análisis de la estructura de las frases (gramática) y el estudio de su significado (semántica).

A su vez, el estudio de la gramática se subdivide en morfología, sintaxis, y fonética.

En los años 50 Chomsky introdujo la teoría de las gramáticas transformacionales o teoría de lenguajes formales que convirtió la lingüística en una ciencia.

Esta teoría facilitó el estudio tanto de la LN como la formalización de los lenguajes de programación para computadores

Page 14: Curso de Lingüística Computacional. Heiner Mercado Percia.

Un Lenguaje L es: Conjunto infinito de oraciones Número finito de símbolos

(palabras) Número finito de

combinaciones bien formadas Reglas que organizan las

combinaciones posibles de formación

Page 15: Curso de Lingüística Computacional. Heiner Mercado Percia.

Una gramática formal es un objeto o modelo matemático que permite especificar un lenguaje o lengua, es decir, es el conjunto de reglas capaces de generar todas las posibilidades combinatorias de ese lenguaje.

La expresión «gramática formal» tiene dos sentidos: gramática de un lenguaje formal descripción formal de parte de la gramática de un

lenguaje natural o sintaxis. Hay distintos tipos de gramáticas formales que

generan lenguajes formales, veamos:

Page 16: Curso de Lingüística Computacional. Heiner Mercado Percia.

Un lenguaje L está formado por el cuádruplo VN, VT, P, O en el que: VN conjunto finito de símbolos no-terminales o

variables (categorías sintácticas) VT conjunto finito de símbolos terminales (palabras) P conjunto finito de reglas de producción que suelen

adoptar la forma -> donde y pueden ser VT y VN

O símbolo inicial o axioma (Oración)

Page 17: Curso de Lingüística Computacional. Heiner Mercado Percia.

Chomsky clasificó los lenguajes en una jerarquía inclusiva de cuatro grados:

Máquinas que pueden analizar cada lenguaje

Page 18: Curso de Lingüística Computacional. Heiner Mercado Percia.

Gramática tipo 0: pertenece a la semántica de los lenguajes naturales y artificiales. No tienen restricción alguna. Está relacionado con todos los problemas computables o recursivamente enumerables (solucionables por la máquina de Turing)

Page 19: Curso de Lingüística Computacional. Heiner Mercado Percia.

Gramática tipo 1: Lenguajes sensibles al contexto. Introducen algunas limitaciones en la estructura gramatical, aunque permite que el valor sintáctico de las palabras dependa de la posición en la frase, es decir, de su contexto. Ejemplo: Lengua africana bambara y el alemán-suizo.

xz -> xz

Page 20: Curso de Lingüística Computacional. Heiner Mercado Percia.

Gramática tipo 2: Lenguajes independientes del contexto. El valor sintáctico de una palabra es totalmente independiente de su posición en la frase. Ejemplo: todos los lenguajes de computadores.

El término libre de contexto se refiere al hecho de que el símbolo no terminal V puede siempre ser sustituido por w sin tener en cuenta el contexto en el que ocurra.

V -> w

Page 21: Curso de Lingüística Computacional. Heiner Mercado Percia.

Gramática tipo 3: Lenguajes regulares. Se suelen describir mediante expresiones regulares. Sus palabras contienen regularidades. Una ER describe un conjunto de cadenas sin enumerar sus elementos. Por ejemplo, el grupo formado por las cadenas Handel, Händel y Haendel se describe mediante el patrón "H(a|ä|ae)ndel".

VT -> VN (A->t) VT -> VN VT (A->tN)

Page 22: Curso de Lingüística Computacional. Heiner Mercado Percia.

Aplicaciones: Traducción Automática Comprensión y reconocimiento del lenguaje oral Interfaces de LN para comunicación hombre – máquina Búsqueda de datos en bd. Enseñanza asistida por ordenador Comprensión y tratamiento de textos (lo más utilizado)