Python para PLN
Python para PLN
Python para PLN
María Claudia
Denicia Carral
¿Qué es Python?
• Python es un lenguaje dinámico, es decir, no
necesita declarar las variables previamente a la
asignación del valor, si no que cada variable
toma directamente el tipo del valor que se le
esté asignando.
• Es un lenguaje interpretado, es decir, el código
es interpretado por una máquina virtual que es
capaz de entender y ejecutar el código.
• Es un lenguaje de programación orientado a
objetos. Los objetos son entidades o instancias
de una clase. Las clases están formadas por
atributos, las variables que definen el objeto, y
por métodos, las funciones que operan con
estas variables.
Entornos de
programación
• Spyder. Es un potente editor para Python con
Esta foto de Autor desconocido está bajo licencia CC BY-SA
grandes posibilidades de personalización cuenta
con un explorador de variables y un inspector
de objetos entre otras muchas características.
• Es open source y multiplataforma
• Esta incluido en Anaconda un entorno de
programación para varios lenguajes y proyectos
relacionados con la ciencia de datos.
• http://docs.python.org.ar/tutori
al/3/index.html
• Ejercicio.
• Realice un programa que abra un
archivo de texto, lo muestre en
pantalla y escriba las palabras que
contiene y su frecuencia.
Solución
Ejercicio
Comandos interesantes en NLTK
• Los textos se representan usando listas ['Monty', 'Python’].
• Una palabra "token" es una apariencia particular de una palabra dada en un texto; una palabra "tipo" es la forma única de la
palabra como una secuencia particular de letras. Contamos tokens de palabras usando len(text) and tipos usando len(set(text)).
• Para obtener el vocabulario de un texto usar sorted(set(t)).
• Para trabajar con cada item de un texto usar [f(x) for x in text].
• ara derivar el vocabulario, contrayendo las distinciones entre mayúsculas y minúsculas e ignorando la puntuación, usar
set(w.lower() for w in text if w.isalpha()).
• Para procesar cada palabra de un texto se utiliza la sentencia for, por ejemplo, for w in t: or for word in text:. This must be
followed by the colon character and an indented block of code, to be executed each time through the loop.
• Para probar una condición usar, if len(word) < 5:. Esto debe ser seguido por el carácter dos puntos y un bloque de código con
sagria, que se ejecutará cada vez a través del bucle.
• Una distribución de frecuencia es una colección de elementos junto con sus conteos de frecuencia (por ejemplo, las palabras de
un texto y su frecuencia de aparición).
• Una función es un bloque de código al que se le ha asignado un nombre y se puede reutilizar. Las funciones se definen usando
la palabra clave def, por ejemplo, def mult(x,y), donde x, y son los parametros de la fución.
• Una función es llamada a través de su nombre, seguida de cero o más parametros entre parentesisi, por ejemplo, texts(), mult(3,
4), len(text1).
• 1. Realice un programa que resuelva lo que se pide en cada punto
• Imprima cuantas palabras hay en el texto 3 de los documentos de
prueba, también diga el tamaño del vocabulario, y cuantas
palabras hay sin repeticiones, muestre las palabras y su
frecuencia.
• Haga una grafica de dispersión de los personajes principales del
texto , los personajes son Elinor, Marianne, Edward y Willoughby.
Ejercicios del Observe la gráfica y responda lo siguiente:¿ Quienes son más
mencionados?, ¿Observas alguna diferencia significativa entre
tema
hombres y mujeres, explicala?, ¿Puedes identificar a las parejas?
• Encuentre todas las palabras en el Corpus de Chat ( texto5 ) que
comiencen con la letra c . Muéstrelas en orden alfabético.
• Encuentre todas las palabras de cuatro letras en el Corpus de
Chat ( texto5 ). Con la ayuda de una distribución de frecuencia
( FreqDist ), muestre estas palabras en orden decreciente de
frecuencia.
• ¿Qué hace el siguiente código de Python? sum(len(w) for w in
text1) ¿Puedes usarlo para calcular la longitud promedio de
palabra de un texto?