Giter Site home page Giter Site logo

macfernandez / seminario-gramaticas-formales Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fernandocar86/seminario-gramaticas-formales

0.0 0.0 0.0 40.33 MB

Repositorio con materiales para la cursada del seminario sobre implementación computacional de gramáticas formales en la carrera de Letras de la Facultad de Filosofía y Letras de la Universidad de Buenos Aires.

Home Page: https://fernandocar86.github.io/seminario-gramaticas-formales/

Jupyter Notebook 0.47% C 0.01% Lex 0.01% Objective-C 0.01% R 0.01% Ruby 0.01% Assembly 0.01% GAP 97.11% Makefile 0.01% Prolog 1.83% TeX 0.08% Perl 0.04% Python 0.43% HTML 0.01% CSS 0.01% Shell 0.01%

seminario-gramaticas-formales's Introduction

{% include head.html %}

Requerimientos técnicos

En la cursada vamos a utilizar diversos recursos computacionales, principalmente en los lenguajes de programación Python y Prolog, librerías como NLTK, Spacy y Delphin, entre otras, programas como Wish, y el sistema de control de versiones git. Para poder hacer las actividades y correr los códigos que se suban a esta repositorio, es necesario que los estudiantes tengan todo lo necesario instalado.

  • Quienes tengan mayores conocimientos de programación pueden instalarse todo lo necesario a partir de la lista que incluimos abajo. Es importante aclarar que la cátedra no va a hacer un seguimiento personalizado de los problemas de instalación que puedan surgir mediante este método, por lo que recomendamos hacer la instalación independiente solo en caso de tener experiencia en la instalación de este tipo de recursos.

  • Quienes no tienen experiencia en programación o en el manejo de la línea de comandos, pueden instalarse una máquina virtual especialmente diseñada para esta cursada. Una máquina virtual es una computadora huésped que corre dentro de la anfitriona. La computadora huésped tiene su propia memoria asignada y su propio sistema operativo. La presente máquina virtual tiene como sistema operativo Ubuntu y tiene ya instalado todo lo que vamos a usar en la cursada. Pueden acceder con el siguiente link

En las partes teóricas de las clases vamos a usar handouts en pdf. Puestos que algunos de estos documentos incluyen campos especiales que no son compatibles con todos los visualizadores de pdf (por ejemplo, no todas las versiones del acrobat reader), recomendamos utilizar evince. Pueden encontrar una versión para Windows aquí o aquí. No hemos probado ninguno de los dos links, por lo que agredecemos si nos pueden avisar si funcionan bien.

Instrucciones para los trabajos prácticos

Para cumplir con la regularidad en este seminario, es necesario realizar una serie de trabajos prácticos que serán oportunamente presentados durante la cursada. Para poder resolverlos, es necesario tener en cuenta estas instrucciones.

Cronograma de clases y materiales

Clase Fecha Temas Materiales
01 29/03/22
  • Presentación del equipo y del programa.
  • Dinámica de clases.
  • Presentación de trabajos prácticos.
02 05/04/22
  • Uso básico de git.
  • Formalización como matematización. Teoría de conjuntos y funciones. Nociones básicas de teoría de los lenguajes (lenguaje, alfabeto, etc.).
  • Introducción a Python.
03 12/04/22
  • Jerarquía de lenguajes formales. Gramáticas, autómatas y lenguajes. Equivalencia débil y equivalencia fuerte; teoría de la complejidad.
04 19/04/22
  • Gramáticas Independientes de contexto. Definición; axiomas de dominancia y de precedencia. Algunas limitaciones.
  • Parsers: RecursiveDescentParser (NLTK), Shift-ReduceParser (NLTK), ChartParser (NLTK).
05 26/04/22
  • Diferenciación entre reglas de precedencia lineal y reglas de dominancia inmediata, metarreglas, postulados de significado. Principios: la convención de Rasgo Nuclear (Head Feature Convention), principio del rasgo Foot (Foot Feature Principle), principio del control de la concordancia, Restricciones de Coaparición de Rasgos, reglas léxicas.
  • El declive de GPSG: insuficiencia del poder restrictivo de las gramáticas independientes de contexto, complejidad computacional de GPSG.
06 03/05/22
  • Repaso de la gramática generativa. El minimalismo. Operaciones básicas: ensamble interno, ensamble externo, agree. Teoría de X'. Teoría de la frase desnuda. Estructura básica de la cláusula.
  • Gramáticas minimalistas (Minimalist grammars). Las operaciones de selección, ensamble (Merge), el léxico y los ítems léxicos.
  • Implementación en Prolog: mgpx parser.
07 10/05/22
  • Gramáticas minimalistas con ensamble interno (movimiento de remanentes, movimiento de núcleos).
  • Implementación en Prolog y Python: mghapx parser e implementación del minimalismo de Alex Warstadt.
08 17/05/22
  • Gramática minimalista. Adjunción, los operadores >> y <<
  • Nociones básicas de las gramáticas de unificación y rasgos: matrices de rasgos, rasgos simples y complejos, unificación y subsunción.
09 24/05/22
  • Gramáticas de unificación y rasgos. Implementación mediante Feature-based grammars en NLTK
10 31/05/22
  • LFG: estructura-c, estructura-f, estructura-a, ecuación funcional y descripción funcional.
  • Implementaciones computacionales: XLE (demo).
11 07/06/22
  • Gramáticas de dependencias. La noción de dependencia. Motivaciones para las gramáticas de dependencias. Tipos de dependencias: semánticas, sintácticas y morfológicas.
  • Definición formal. Axiomas de las Gramáticas de dependencias: condición de raíz única, conectividad, no multidominancia, proyectividad.
  • Implementación computacional; Spacy, MaltParser, parser de dependencias de Freeling, PyStanford Dependencies.
12 14/06/22
  • Gramática de dependencias como cuádrupla: relaciones, terminales, categorías, funciones de asignación.
  • Implementación computacional: ProjectiveDependencyParser de NLTK en Python.
13 21/06/22
  • Gramáticas categoriales: Conectivas. Reglas: aplicación, asociatividad, composición, ascenso/Regla de Geech, división. Representación de la estructura sintáctica en términos de funciones y argumentos.
  • Implementación de una gramática categorial clásica con el parser NLTK. CCG en Python. Proyecto OpenCCG.
14 28/06/22
  • Notación lambda. Paralelismo entre la sintaxis y la semántica. Reglas léxicas.
  • Gramáticas categoriales generalizadas. Implementación en NLTK y CCG.
15 05/07/22

{% include change_href.html %}

{% include additional_content.html %}

seminario-gramaticas-formales's People

Contributors

macfernandez avatar fernandocar86 avatar pablozd avatar juliamendoim avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.