from __future__ import division
import nltk, re, pprint
f = open('/home/a/Desktop/Projects/FinnegansWake/JamesJoyce-FinnegansWake.txt')
raw = f.read()
tokens = nltk.wordpunct_tokenize(raw)
text = nltk.Text(tokens)
words = [w.lower() for w in text]
f2 = open('/home/a/Desktop/Projects/FinnegansWake/catted-several-long-Russian-novels-and-the-NYT.txt')
englishraw = f2.read()
englishtokens = nltk.wordpunct_tokenize(englishraw)
englishtext = nltk.Text(englishtokens)
englishwords = [w.lower() for w in englishwords]
que es directamente desde el manual NLTK. Lo que quiero hacer a continuación es comparar vocab
con un conjunto exhaustivo de palabras en inglés, como el OED, y extraer la diferencia: el conjunto de palabras de Finnegans Wake que no han estado, y probablemente nunca lo estarán, en el OED. Soy mucho más una persona verbal que una persona orientada a las matemáticas, así que aún no he descubierto cómo hacerlo, y el manual contiene demasiados detalles sobre cosas que en realidad no quiero hacer. Sin embargo, asumo que son solo una o dos líneas más de código.
Por cierto, ¿cómo formateo el python en la pregunta con resaltados, como aparecería en un editor de texto? – magnetar
Sangúelo todo. Hecho automáticamente si lo resaltas y haces clic en el botón con unos y ceros sobre el editor. – katrielalex
Ah, y su código no es el más eficiente ... podría hacer un uso juicioso de los iteradores para guardar los pases múltiples. – katrielalex