180 likes | 321 Views
NLTK y el acceso a textos, El control Día 13, 12 ene 14. Cultura computacional en español SPAN 4350 Harry Howard Tulane University. Organizaci ón del curso. Las grabaciones y las presentaciones están disponibles en: http://www.tulane.edu/~howard/SPAN-NLP/
E N D
NLTK y el acceso a textos,El controlDía 13, 12 ene 14 Cultura computacional en español SPAN 4350 Harry Howard Tulane University
Organización del curso • Las grabaciones y las presentaciones están disponibles en:http://www.tulane.edu/~howard/SPAN-NLP/ • La versión en inglés del tema es http://www.tulane.edu/~howard/CompCultES/nltk_archives.html SPAN 4350 - Harry Howard - Tulane University
Repaso SPAN 4350 - Harry Howard - Tulane University
NLTK >>> importnltk Si hay un error, abren al app de Canopy > Package Manager > CanopyPackages > nltk 2.01 >>> importnltk >>> nltk.download() SPAN 4350 - Harry Howard - Tulane University
NLTK SPAN 4350 - Harry Howard - Tulane University
Bajar un texto en español de PG • http://www.gutenberg.org/wiki/Main_Page • Main Page > Browse Catalog > Spanish > Cervantes Saavedra, Miguel de, 1547-1616 > Novelas y teatro > Plain Text UTF-8 • http://www.gutenberg.org/ebooks/15115 • Bájalo a tu computadora. • Cámbiale el nombre de 15115.txt.utf-8 a NovelasTeatro.txt. • /Users/harryhow/nltk_data/pyTexts • Mete NovelasTeatro.txt allí. • Trata de abrirla. SPAN 4350 - Harry Howard - Tulane University
Desvío: directorios en Python >>> import os >>> os.getcwd() '/Users/harryhow' *** El sendero a mis ficheros es: /Users/harryhow/nltk_data/pyTexts *** >>> sendero = '/Users/harryhow/nltk_data/pyTexts' >>> sendero '/Users/harryhow/nltk_data/pyTexts' >>> os.chdir(sendero) >>> os.getcwd() '/Users/harryhow/nltk_data/pyTexts' >>> os.listdir('.') ['NovelasTeatro.txt'] SPAN 4350 - Harry Howard - Tulane University
Abrir el texto >>> import nltk >>> sendero = '/Users/harryhow/nltk_data/pyTexts' >>> from nltk.corpus import PlaintextCorpusReader >>> texlector = PlaintextCorpusReader(sendero, 'NovelasTeatro.txt') >>> palabras = texlector.words() >>> palabras[:50] ['The', 'Project', 'Gutenberg', 'EBook', 'of', 'Novelas', 'y', 'teatro', ',', 'by', 'Cervantes', 'This', 'eBook', 'is', 'for', 'the', 'use', 'of', 'anyone', 'anywhere', 'at', 'no', 'cost', 'and', 'with', 'almost', 'no', 'restrictions', 'whatsoever', '.', 'You', 'may', 'copy', 'it', ',', 'give', 'it', 'away', 'or', 're', '-', 'use', 'it', 'under', 'the', 'terms', 'of', 'the', 'Project', 'Gutenberg'] SPAN 4350 - Harry Howard - Tulane University
Funciones del PlaintextCorpusReaderTabla 2.3 SPAN 4350 - Harry Howard - Tulane University
Algunos ejemplos >>> texlector.raw()[:50] 'The Project Gutenberg EBook of Novelas y teatro, b' >>> texlector.sents()[:2] [['The', 'Project', 'Gutenberg', 'EBook', 'of', 'Novelas', 'y', 'teatro', ',', 'by', 'Cervantes'], ['This', 'eBook', 'is', 'for', 'the', 'use', 'of', 'anyone', 'anywhere', 'at', 'no', 'cost', 'and', 'with', 'almost', 'no', 'restrictions', 'whatsoever', '.']] >>> texlector.fileids() ['NovelasTeatro.txt'] >>> texlector.abspath('NovelasTeatro.txt') FileSystemPathPointer('/Users/harryhow/nltk_data/pyTexts/NovelasTeatro.txt') >>> texlector.encoding('NovelasTeatro.txt') >>> >>> texlector.root FileSystemPathPointer('/Users/harryhow/nltk_data/pyTexts') SPAN 4350 - Harry Howard - Tulane University
Encabezado • Cada texto descargado del proyecto Gutenberg contiene un encabezado con el nombre del texto, el autor, los nombres de las personas que escanearon y corrigieron el texto, una licencia, y así sucesivamente. • Algunas veces esta información aparece en un pie de página al final del archivo. SPAN 4350 - Harry Howard - Tulane University
NLPP 1.4 Acercamiento a Python: Toma de decisiones y de control SPAN 4350 - Harry Howard - Tulane University
Presentación • Hasta ahora, nuestros pequeños programas han tenido algunas cualidades interesantes: • la capacidad de trabajar con el lenguaje • y el potencial de ahorrar el esfuerzo humano mediante la automatización. • Una característica clave de la programación es la capacidad de las máquinas para tomar decisiones en nuestro nombre: • la ejecución de instrucciones cuando determinadas condiciones se cumplen, • o recorrer los datos de texto varias veces hasta que se cumple alguna condición. • Esta característica se conoce como el control, y es el enfoque de esta sección. SPAN 4350 - Harry Howard - Tulane University
Operar sobre todos los elementos:travesía (traversal) o bucle (loop) >>> advertencia = 'Ojo!' >>> for letra in advertencia: ... printletra ... O j o ! >>> for letra in advertencia: ... print letra File "<stdin>", line 2 print letra ^ IndentationError: expectedanindentedblock ¡Ojo con la sangría (indentation)! SPAN 4350 - Harry Howard - Tulane University
Funciona con listas también >>> fruta = ['pera', 'manzana', 'sandia', 'chirimoya', 'naranja'] >>> for p in fruta: ... print p ... pera manzana sandia chirimoya naranja SPAN 4350 - Harry Howard - Tulane University
Imprimir en el mismo renglón >>> for letra in advertencia: ... printletra, ... O j o ! >>> for palabra in fruta: ... print palabra, ... pera manzana sandia chirimoya naranja SPAN 4350 - Harry Howard - Tulane University
Imprimir el resultado de expresiones • Se puede imprimir el resultado de una expresión, también. • Imprime el resultado de convertir los caracteres de "advertencia" a mayúscula. >>> for letra in advertencia: ... print letra.upper(), ... O J O ! • Imprime el largo de las palabras de "fruta". >>> for palabra in fruta: ... print len(palabra), ... 4 7 6 9 7 SPAN 4350 - Harry Howard - Tulane University
Empezar a trabajar con el texto en NTLK El próximo díaTráete el portátil a clase. SPAN 4350 - Harry Howard - Tulane University