web-dev-qa-db-fra.com

Comment créer mon propre texte NLTK à partir d'un fichier texte?

Je suis un étudiant diplômé en littérature et j'ai parcouru le livre O'Reilly dans Natural Language Processing (nltk.org/book). Cela semble incroyablement utile. J'ai joué avec tous les exemples de textes et d'exemples de tâches du chapitre 1, comme les concordances. Je sais maintenant combien de fois Moby Dick utilise le mot "baleine". Le problème est que je ne peux pas comprendre comment faire ces calculs sur un de mes propres textes. J'ai trouvé des informations sur la façon de créer mes propres corpus (Ch. 2 du livre O'Reilly), mais je ne pense pas que c'est exactement ce que je veux faire. En d'autres termes, je veux pouvoir faire

import nltk 
text1.concordance('yellow')

et obtenir les endroits où le mot "jaune" est utilisé dans mon texte. Pour le moment, je peux le faire avec les exemples de textes, mais pas les miens.

Je suis très nouveau à python et à la programmation, et donc ce truc est très excitant, mais très déroutant.

32
Jonathan

J'ai trouvé la réponse moi-même. C'est embarrassant. Ou génial.

De Ch. 3:

f=open('my-file.txt','rU')
raw=f.read()
tokens = nltk.Word_tokenize(raw)
text = nltk.Text(tokens)

Fait l'affaire.

56
Jonathan

Pour une importation structurée de plusieurs fichiers:

from nltk.corpus import PlaintextCorpusReader

# RegEx or list of file names
files = ".*\.txt"

corpus0 = PlaintextCorpusReader("/path/", files)
corpus  = nltk.Text(corpus0.words())

voir: livre NLTK /section 1.9

14
Raffael