¿Cómo tokenizar texto en inglés natural en un archivo de entrada en python?

Quiero tokenize input file in python por favor, sugiérame que soy un nuevo usuario de python.

Leí algunos comentarios sobre la expresión regular, pero todavía algo de confusión, así que sugiera algún enlace o resumen de código para el mismo.

Intenta algo como esto:

 import nltk file_content = open("myfile.txt").read() tokens = nltk.word_tokenize(file_content) print tokens 

El tutorial de NLTK también está lleno de ejemplos fáciles de seguir: http://nltk.googlecode.com/svn/trunk/doc/book/ch03.html

Usando NLTK

Si su archivo es pequeño:

  • Abra el archivo con el administrador de contexto with open(...) as x ,
  • luego haga un .read() y tokenize con word_tokenize()

[código]:

 from nltk.tokenize import word_tokenize with open ('myfile.txt') as fin: tokens = word_tokenize(fin.read()) 

Si su archivo es más grande:

  • Abra el archivo con el administrador de contexto with open(...) as x ,
  • leer el archivo línea por línea con un bucle for
  • tokenizar la línea con word_tokenize()
  • salida a su formato deseado

[código]:

 from __future__ import print_function from nltk.tokenize import word_tokenize with open ('myfile.txt') as fin, open('tokens.txt') as fout: for line in fin: tokens = word_tokenize(line) print(' '.join(tokens), end='\n', file=fout) 

Usando SpaCy

 from __future__ import print_function from spacy.tokenizer import Tokenizer tokenizer = Tokenizer(nlp.vocab) with open ('myfile.txt') as fin, open('tokens.txt') as fout: for line in fin: tokens = tokenizer.tokenize(line) print(' '.join(tokens), end='\n', file=fout) 
 with open ("file.txt", "r") as f1: data=str(f1.readlines()) sent_tokenize(data)