¿Cómo hacer para que una máquina comprenda el LN?

Slides:



Advertisements
Presentaciones similares
Algoritmos y Programas
Advertisements

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
PROF. ING. JULIO CESAR CANO RAMIREZ
Secuencia finita, ordenada y lógica de instrucciones (ó pasos), los cuales permiten realizar una ó varias tareas.
Tema: Decibilidad Integrantes: Ileana Rdguez Soto
LAS MAQUINAS DE TURING.
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
DESARROLLO DE PROGRAMAS
UNIDAD II: ALGORITMOS Y LENGUAJES
Resolución de Problemas Algoritmos y Programación
Lenguajes de programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Técnico en programación de Software
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Ramas de la Lingüística
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
CAPITULO 2 La Representación del Conocimiento
METODOLOGIA DE LA PROGRAMACION
Sistemas Evolutivos Introduccion.
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Proceso de información en la computadora
FORMULACIÓN DE ALGORITMOS
Teoría de lenguajes y compiladores
Fundamentos de programación
Problemas, algoritmos y programas: Modelar: Simular o programar su solución en un computador. Algoritmos: Es un conjunto finito, y no ambiguo de etapas.
ALGORITMOS, CONCEPTOS BASICOS.
Introducción al análisis de algoritmos

 Fue en el año 1945 cuando el matemático Jhon Von Neumann, fascinado por las posibilidades del ENIAC, demostró que una computadora podía tener una estructura.
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
FUNDAMENTOS DE PROGRAMACION
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Teoría de Autómatas y Lenguajes Formales Informática Técnica de Gestión ESCUELA SUPERIOR DE INFORMATICA Universidad de Castilla-La Mancha Tema 1. Introducción.
COMPUTO III Ing. Jimmy Ojeda Arnica.
Autómatas de Pila (Pushdown Automatón)
Representación de Algoritmos
Algoritmos y pseudocódigos
Programación de Sistemas FEI – 2008
Unidad 1. Introducción a los Compiladores.
Lenguajes de Programación
PROGRAMAS INFORMATICOS
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Prof. Flor Narciso Departamento de Computación
Algoritmos..
Heiner Mercado Curso de Lingüística Computacional
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
Elaboración de algoritmos usando lógica de programación
Lenguaje programación
M.S.C. Ivette Hernández Dávila
Metodología de la programación
Dirección General de Educación Superior Tecnológica Instituto Tecnológico de Salina Cruz CARRERA INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES.
Algoritmos Programación
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Curso: Programación I Grado: 4to. Bachillerato Prof. Gerardo Barrientos.
Lenguaje estructurado
FUNDAMENTOS DE PROGRAMACIÓN
TEMA 4: MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Valle del Momboy Carvajal, Trujillo Alumnas Luzmila.
Fundamentos de Programación Unidad I Conceptos Básicos.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
Transcripción de la presentación:

¿Cómo hacer para que una máquina comprenda el LN? Curso de Lingüística Computacional. Heiner Mercado Percia

problema ¿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.

Algoritmos 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.

Algoritmos 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.

Ejemplo 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

Algoritmo (Diagrama de flujo) Inicio Paso1 : Leer caracteres Paso 2: Reconocer palabras Paso 3: Comparar cada palabra con “automático” Paso 4: Contar el número de ocurrencias Fin Un DF es una representación gráfica de la secuencia de pasos que se realizan para obtener un resultado.

Algoritmo (pseudocódigo) 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. Nb Ocurrencias = 0 PARA todos los caracteres del texto HACER palabra detectada =“” leer un carácter adjuntar carácter EN TANTO QUE no fin de palabra HACER adjuntar carácter a palabra detectada FIN TANTO QUE SI palabra detectada =“automático” ENTONCES Nb ocurrencias + 1 FIN PARA

Algoritmos y el LN 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

Pensemos por un momento en problemas que queremos resolver. 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. Computabilidad ¿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.)

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

Algoritmos y el LN 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

Algoritmos y el LN 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.

Estudio de los lenguajes 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

Estudio de los lenguajes 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

Estudio de los lenguajes 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:

Gramática formal 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)

Jerarquía de las gramáticas de Chomsky Chomsky clasificó los lenguajes en una jerarquía inclusiva de cuatro grados: Máquinas que pueden analizar cada lenguaje

Jerarquía de las gramáticas de Chomsky 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)

Jerarquía de las gramáticas de Chomsky 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. xz -> xz

Jerarquía de las gramáticas de Chomsky 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

Jerarquía de las gramáticas de Chomsky 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)

Empleo de gramáticas 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)