Curso de procesamiento del lenguaje natural

Documentos relacionados
Curso de procesamiento del lenguaje natural

César Antonio Aguilar Facultad de Lenguas y Letras 12/06/2012 Cesar.Aguilar72@gmail.com

Clase 1 Excel

Administración de la producción. Sesión 9: Hojas de cálculo (Microsoft Excel)

El avance de proyectos con MS Project

FORMATO CONDICIONAL EN EXCEL

Microsoft Office Word

Microsoft Excel 2013 Avanzado

CAPÍTULO 5. TIPOS DE VISTAS

PREPARACION OLIMPIADA MATEMATICA CURSO

Manual de OpenOffice Impress

E j e r c i c i o n º 12 Notas de Alumnos

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

ING. GUILLERMO RODRIGUEZ - GIMNASIO DEL CALIMA

Sistema de Gestión y almacenamiento de archivos en el Campus Virtual

Cómo Calcular la Demanda de Compra de Inmuebles

CRITERIOS DE EVALUACIÓN Y CONTENIDOS MÍNIMOS 1º ESO

ACCESS XP. Objetivos. Duración. 64 horas. Contenidos. Módulo 1: Introducción. Parte 1 Bienvenida Certificado MOUS Resumen

1. Los pesos (en Kgs.) de los niños recién nacidos en una clínica maternal durante el último año han sido:

Elementos esenciales de Power- Point

SISTEMA DE BLOGS UNIVERSIDAD DE LEÓN

SILABO. Se requiere el manejo de Windows a nivel usuario y el trabajo con listas de datos. Un nivel de Excel básico sería deseable pero no obligatorio

CURSO INTENSIVO DE K2

Manual Power Point Trabajar con formas

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 3: Elementos esenciales del formulario

Cómo depurar código Python con PyScripter

CÓMO USAR EL EDITOR ATTO

CONSIDERACIONES GENERALES DEL FUNCIONAMIENTO DEL PROGRAMA

MOODLE 1.9 BASE DE DATOS

Guía del Curso Experto en Microsoft Excel 2016, VBA y Business Intelligence

UNIDAD 9 TIPOS DE DATOS

MICROSOFT EXCEL 2010

Introducción a la Computación Sistemas de Control de Versiones (VCS)

Manual de Cargos Automáticos

Introducción a Swing. Taller de Programación 2016

Cómo manejar el editor HTML de Moodle?

Lección 11: Fracciones. Equivalencia y orden

Manual Power Point Trabajar con gráficos

Departamento de Inglés Ciclo Administrativo

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

BASIC LEVEL Mejora tu nivel de inglés y descubre nuevas oportunidades

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

GUÍA DE REFERENCIA PARA USUARIOS PORTAL DE TRANSACCIONES ELECTRÓNICAS E.O.C. México

MICROSOFT ACCESS 2007 (COMPLETO)

Propósitos por Ciclos

DEPARTAMENTO DE INGLÉS CURSO CONTENIDOS MÍNIMOS PRUEBAS EXTRAORDINARIAS DE SEPTIEMBRE 1º ESO

LABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison

1

Informática y Computación III Guía de Estudio (50 reactivos)

Código: ING-143. Horas Semanales: 4

Introducción a la programación del robot moway

VISUAL BASIC.NET. NIVEL COMPLETO

* Este archivo sólo pretende ser un complemento a las clases, no sustituye en su totalidad la formación impartida en el aula.

Conceptos de Arquitectura de Computadoras Curso 2015

WESTLAW INTERNATIONAL. Guía de uso

Excel 2010 Introducción al entorno de trabajo

MANUAL DE PROCESOS!!!!!!!!!!!!!!! V Sensei 2011 ESTADO DE FLUJOS DE EFECTIVO

INSTITUCIÓN EDUCATIVA COLEGIO NUESTRA SEÑORA DEL PILAR DANE: Licencia de funcionamiento resolución N del 08 de octubre 2007

UTILIZAMIENTO DE PLANILLA ELECTRÓNICA MS OFFICE EXCEL 2007

1.- CREACIÓN DE CONSULTAS.

Microsoft Excel 2007 completo

Depurar programas

Unidad 2. Elementos de Word2007 (I)

CREACIÓN Y MANEJO DE TABLAS Instructivo N 1

Entregable: Este deberá ser una y media cuartilla, con letra tipo Times New Roman, con espaciado de 1.15, indicando Nombre completo y cuatrimestre.

TUTORIAL SOBRE HOJAS DE CALCULO

COMO REALIZAR CONSULTAS CON EL CONSTRUCTOR DE GEOCONSULTAS DEL SIG GUADUA.

Pasos para la creación de un gráfico en Excel 2007

Materia: Matemática de Octavo Tema: Conjunto Q (Números Racionales)

EJERCICIOS CON REFERENCIAS RELATIVAS Y ABSOLUTAS

Gestión de bases de datos de mysql desde Dreamweaver

MICROSOFT EXCEL 2016 Intermedio

Cálculo de Precio por Kilo WhitePaper Agosto de 2007

Qué más puedo hacer en el cuadro de búsqueda?

ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00820B)

Tutorial sobre EndNote

SENA CURSO COMPLEMENTARIO PREVENCION, MANTENIMIENTO Y CONSTRUCCION DE OBRAS DE ARTE PARA VIAS ESCALAS

Qué es una tabla dinámica? Para qué sirve una tabla dinámica?

INGLÉS AVANZADO 1º ESO CONTENIDOS

MANUAL DE USUARIO SAP R/3 CONTABILIZACIONES DE DEUDORES

a) Factoriza el monomio común. En este caso 6 se puede dividir de cada término:

DISTRIBUCIÓN N BINOMIAL

Funciones básicas del depurador

Visual Basic.net Completo

José María Torreblanca Perles

PRÁCTICA No. 2 FORMA POLAR DE UN NUMERO COMPLEJO. Otra forma de expresar un número complejo es la forma polar o forma módulo-argumento,

Microsoft Office Outlook NIVEL: BÁSICO Duración: 7 horas

RED DE BIBLIOTECAS PÚBLICAS DE ARAGÓN

Herramientas para investigadoras e investigadores sociales

PILDORAS. PILDORAS La solución ofimática a su medida. Barcelona Madrid Palma de Mallorca

INTRODUCCIÓN a la Web 2.0

Gestión Financiera I en Microsoft Dynamics AX 4.0

INGLES: ATENCION AL PUBLICO

Ronaldo could play basketball when he was ten years old. (Ronaldo podía jugar basketball cuando el tenia diez años de edad).

INFORMÁTICA Y COMUNICACIONES

Profesor(a): M. A. Zeferino Galarza Hernández

UNIDAD 4. MODIFICAR TABLAS DE DATOS

PROGRAMAS PARA LA CLASSPAD MANAGER.

PROPUESTA DE ACCIÓN FORMATIVA

Transcripción:

Curso de procesamiento del lenguaje natural César Antonio Aguilar Facultad de Lenguas y Letras 24/09/2013 Cesar.Aguilar72@gmail.com

Etiquetado morfo-sintáctico (1)

Etiquetado morfo-sintáctico (2)

Funciones de los corpus con anotado POST (1)

Etiquetando documentos (1) Ahora bien, en el caso del NLTK, como repositorio de corpus cuenta con los siguientes:

Etiquetando documentos (2) Para que nos sirven estos corpus? Precisamente para insertar etiquetas en documentos que no las tienen, p. e.:

Etiquetando documentos (3) Qué tipos de etiquetas tenemos? Veamos un ejemplo tomado del Corpus Brown:

Ejercicio (1) Vamos a tratar de etiquetar un documento usando las etiquetas que manera el módulo POS de NLTK. Primero, importemos los siguientes módulos: >>> import nltk >>> import re >>> import os Una vez hecho esto, vamos a trabajar con nuestro documento en TXT sobre el Test de Turing: Cadena_Turing01 = open( Escritorio/turing01.txt', 'ru').read()

Ejercicio (2) Finalmente, desarrollemos el siguiente código: 1. Tokenizar con la opción que NLTK da default: Tokens_Turing01 = nltk.word_tokenize(cadena_turing01) 2. Insertar etiquetas POS default desde NLTK: Tagged_Turing01 = nltk.pos_tag(tokens_turing01) 3. Mostrar algunos resultados: Tagged_Turing01[0:100] Qué resultados les arroja? Consideran pertinente o no la asignación de etiquetas?

Explorando corpora en NLTK (1) Ahora que hemos visto cómo podemos analizar nuestros propios textos, vamos a explorar algunos de los corpus que contiene NLTK. Empecemos por el Brown Corpus. En la siguiente tabla, podemos ver un ejemplo de su contenido:

Explorando corpora en NLTK (2) A través del intérprete de Python, podemos importar el corpus Brown de la librería de NLTK usando la siguiente instrucción: from nltk.corpus import brown Para saber qué tenemos en el Brown, podemos usar la siguiente instrucción, que nos muestra sus géneros literarios: brown.categories()

Explorando corpora en NLTK (3) Veamos el resultado: Ahora, probemos las siguientes instrucciones: 1. brown.words(categories='news') 2. brown.words(fileids=['cg22']) 3. brown.sents(categories=['news', 'editorial', 'reviews'])

Explorando corpora en NLTK (4) Veamos los resultados: De acuerdo con esto, podemos consultar el contenido del Brown usando dos clases de objetos: palabras y oraciones, y mostrar en pantalla los resultados de nuestras consultas.

Explorando corpora en NLTK (5) Veamos un código un poco más complicado, con el cual podremos ver la distribución de verbos modales dentro del Brown. Para ello, necesitamos importar de la librería de NLTK la función Conditional FreqDist (o distribución de frecuencia condicional): cfd_brown01 = nltk.conditionalfreqdist( (genre, word) for genre in brown.categories() for word in brown.words(categories=genre)) Nota: Fíjense en las expresiones for y in: para qué las estamos ocupando?, qué estamos con ellas al intérprete de Python?

Explorando corpora en NLTK (6) Una vez que hemos especificado que queremos calcular frecuencias de palabras dentro de los textos del Brown (considerando su género literario), ahora lo que debemos haces es especificar los objetos que vamos a buscar y contar, esto es: 1. genres = ['news', 'religion', 'hobbies', 'science-fiction', 'romance', 'humor'] 2. modals = ['can', 'could', 'may', 'might', 'must', 'will', 'shall']

Explorando corpora en NLTK (7) Y el resultado es: Obviamente, estamos trabajando con un ejercicio de juguete, pero lo importante es que estamos obteniendo datos de un corpus con estos códigos, y que podemos modificar nuestras consultas tal cual lo necesitemos.

Explorando corpora en NLTK (8) Lo que obtuvimos es una tabla sencilla que nos muestra cómo aparecen distribuidos estos modales en todos los documentos del Brown. También podemos mostrar estos datos con un gráfico. Para esto, vamos a usar un corpus llamado Inaugural Address Corpus, el cual es una recopilación de los discursos que han dado los presidentes de Estados Unidos al asumir su cargo. Para esto, necesitamos de la instrucción: from nltk.corpus import inaugural Veamos el contenido de este corpus con los siguientes comandos: 1. inaugural.fileids() 2. [fileid[:4] for fileid in inaugural.fileids()]

Explorando corpora en NLTK (9) Primer resultado: Segundo resultado:

Explorando corpora en NLTK (10) Pasemos entonces a hacer nuestro gráfico, para lo que necesitamos de nuevo la función Conditional FreqDist. Del mismo modo, vamos a visualizar la frecuencia del uso de 3 palabras: democracy, economy y power. >>> cfd_inaugual01 = nltk.conditionalfreqdist( (target, fileid[:4]) for fileid in inaugural.fileids() for w in inaugural.words(fileid) for target in ['democracy', 'economy', 'power'] if w.lower().startswith(target)) >>> cfd_inaugural01.plot() Veamos el resultado en la siguiente lámina:

Explorando corpora en NLTK (11)

Gracias por su atención Blog del curso: http://cesaraguilar.weebly.com/curso-deprocesamiento-del-lenguaje-natural.html