1 / 18

Computación con el lenguaje 4 Día 25, 17 mar 14

Computación con el lenguaje 4 Día 25, 17 mar 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/

tawana
Download Presentation

Computación con el lenguaje 4 Día 25, 17 mar 14

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computación con el lenguaje 4Día 25, 17 mar 14 Cultura computacional en español SPAN 4350 Harry Howard Tulane University

  2. 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/control.html • Las notas están en el Gradebook de Blackboard. SPAN 4350 - Harry Howard - Tulane University

  3. Repaso SPAN 4350 - Harry Howard - Tulane University

  4. Convertir texto en Text >>> import funciones >>> texto = funciones.cargaTexto() >>> len(texto) 14879 >>> importnltk >>> fromnltk.textimportText >>> T = Text(texto) >>> len(T) 14879 >>> SPAN 4350 - Harry Howard - Tulane University

  5. Funciones para las distribuciones de frecuencia de NLTK SPAN 4350 - Harry Howard - Tulane University

  6. http://nltk.org/book/ch01.html, NLPP 1.3 La computación con el lenguaje: La estadística SPAN 4350 - Harry Howard - Tulane University

  7. Palabras vacías (stopwords) • Las palabras cortas suelen esconder la frecuencia de las palabras que nos interesan de un texto. • NLTK dispone de listas de estas palabras en varios idiomas. • Están en la carpeta 'stopwords' en la carpeta 'corpora'. SPAN 4350 - Harry Howard - Tulane University

  8. Hay dos formas de acceder a ellas >>> import nltk # La forma directa >>> temp = nltk.corpus.stopwords.words('spanish') # La forma indirecta >>> from nltk.corpus import stopwords >>> temp = stopwords.words('spanish') # El resultado es el mismo para las dos: >>> vacias[:50] ['de', 'la', 'que', 'el', 'en', 'y', 'a', 'los', 'del', 'se', 'las', 'por', 'un', 'para', 'con', 'no', 'una', 'su', 'al', 'lo', 'como', 'm\xc3\xa1s', 'pero', 'sus', 'le', 'ya', 'o', 'este', 's\xc3\xad', 'porque', 'esta', 'entre', 'cuando', 'muy', 'sin', 'sobre', 'tambi\xc3\xa9n', 'me', 'hasta', 'hay', 'donde', 'quien', 'desde', 'todo', 'nos', 'durante', 'todos', 'uno', 'les', 'ni'] >>> len(temp) 313 # Convertir a Unicode >>> vacias = [p.decode('utf8') for p in temp] >>> vacias[:50] [u'de', u'la', u'que', u'el', u'en', u'y', u'a', u'los', u'del', u'se', u'las', u'por', u'un', u'para', u'con', u'no', u'una', u'su', u'al', u'lo', u'como', u'm\xe1s', u'pero', u'sus', u'le', u'ya', u'o', u'este', u's\xed', u'porque', u'esta', u'entre', u'cuando', u'muy', u'sin', u'sobre', u'tambi\xe9n', u'me', u'hasta', u'hay', u'donde', u'quien', u'desde', u'todo', u'nos', u'durante', u'todos', u'uno', u'les', u'ni'] SPAN 4350 - Harry Howard - Tulane University

  9. NLPP 2.2 Distribución de frecuencia condicionada SPAN 4350 - Harry Howard - Tulane University

  10. Distribución de frecuencia condicionada • Una distribución de frecuencia condicionada es una colección de distribuciones de frecuencia, cada una para una condición diferente. • La condición suele ser la categoría del texto. • La Figura 2.4 muestra un fragmento de una distribución de frecuencia condicionada que tiene sólo dos condiciones, una para un texto de prensa y otra para un texto de novela románica. SPAN 4350 - Harry Howard - Tulane University

  11. Figura 2.4 • Contar palabras que aparecen en una colección de textos (una distribución de frecuencia condicionada). SPAN 4350 - Harry Howard - Tulane University

  12. Emparejamiento de evento (muestra) y condición • Una distribución de frecuencia cuenta eventos observables • Para nosotros, un evento es la aparición de una palabra en un texto. • O sea, vamos a tomar una muestra (sample) de un texto. • Una distribución de frecuencia condicionada empareja un evento con una condición. • O sea, una muestra con una condición. • En lugar de procesar una secuencia de palabras, lo que se procesa es una secuencia de pares de palabra (muestra) y condición. SPAN 4350 - Harry Howard - Tulane University

  13. Un corpus con categorías • El Corpus de Brown tiene 15 categorías: >>> from nltk.corpus import brown >>> brown.categories() ['adventure', 'belles_lettres', 'editorial', 'fiction', 'government', 'hobbies','humor', 'learned', 'lore', 'mystery', 'news', 'religion', 'reviews', 'romance','science_fiction'] >>> brown.words(categories='news') ['The', 'Fulton', 'County', 'Grand', 'Jury', 'said', ...] SPAN 4350 - Harry Howard - Tulane University

  14. Muestra de emparejamiento • Los tokens de cada categoría están emparejados con la categoría, de esta forma: [( 'news', 'The' ), ('news', 'Fulton' ), ('news' , 'County' ), ...] • O sea, cada par tiene la forma (condición, muestra). • Si procesáramos el Corpus de Brown por género, habría 15 condiciones (una por género) y 1.161.192 muestras (una por palabra). SPAN 4350 - Harry Howard - Tulane University

  15. Como procesar por condición • Se crea una lista de dos géneros, para simplificar: >>> gen = ['news', 'romance'] • Se crea una lista de pares (género, palabra): >>> genero_palabra = [(g, p) • … revisando cada género: for g in gen • … revisando cada palabra del género: for p in brown.words(categories=g)] • Se crea la distribución: >>> from nltk.probability import ConditionalFreqDist >>> dfc = nltk.ConditionalFreqDist(genero_palabra) SPAN 4350 - Harry Howard - Tulane University

  16. Lo anterior sin comentarios >>> gen = ['news', 'romance'] >>> genero_palabra = [(g, p) for g in gen for p in brown.words(categories=g)] >>> fromnltk.probabilityimportConditionalFreqDist >>> dfc = nltk.ConditionalFreqDist(genero_palabra) SPAN 4350 - Harry Howard - Tulane University

  17. Comprobar el resultado >>> len(genero_palabra) 170576 >>> genero_palabra[:4] [('news', 'The'), ('news', 'Fulton'), ('news', 'County'), ('news', 'Grand')] >>> genero_palabra[-4:] [('romance', 'afraid'), ('romance', 'not'), ('romance', "''"), ('romance', '.')] >>> dfc <ConditionalFreqDist with 2 conditions> >>> dfc.conditions() ['news', 'romance'] >>> dfc['news'] <FreqDist with 100554 outcomes> >>> dfc['romance'] <FreqDist with 70022 outcomes> >>> dfc['romance']['could'] 193 >>> list(dfc['romance']) [',', '.', 'the', 'and', 'to', 'a', 'of', '``', "''", 'was', 'with', 'you', 'for', 'at', 'He', 'on', 'him','said', '!' 'I', 'in', 'he', 'had','?', 'her', 'that', 'it', 'his', 'she', ...] SPAN 4350 - Harry Howard - Tulane University

  18. P6 Análisis de textos con NLTK El próximo díaTráete el portátil a clase. SPAN 4350 - Harry Howard - Tulane University

More Related