¿Cómo cargar oraciones en Python gensim?

Estoy tratando de usar el módulo gensim la biblioteca de procesamiento de lenguaje natural gensim en Python.

Los documentos dicen para inicializar el modelo:

 from gensim.models import word2vec model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4) 

¿Qué formato espera el gensim para las oraciones de entrada? Tengo texto crudo

 "the quick brown fox jumps over the lazy dogs" "Then a cop quizzed Mick Jagger's ex-wives briefly." etc. 

¿Qué procesamiento adicional necesito para publicar en word2fec ?


ACTUALIZACIÓN: Aquí es lo que he intentado. Cuando carga las frases, no consigo nada.

 >>> sentences = ['the quick brown fox jumps over the lazy dogs', "Then a cop quizzed Mick Jagger's ex-wives briefly."] >>> x = word2vec.Word2Vec() >>> x.build_vocab([s.encode('utf-8').split( ) for s in sentences]) >>> x.vocab {} 

Una lista de frases utf-8 . También puede transmitir los datos desde el disco.

Asegúrese de que sea utf-8 , y divídalo:

 sentences = [ "the quick brown fox jumps over the lazy dogs", "Then a cop quizzed Mick Jagger's ex-wives briefly." ] word2vec.Word2Vec([s.encode('utf-8').split() for s in sentences], size=100, window=5, min_count=5, workers=4) 

Como alKid señaló alKid , alKid utf-8 .

Hablando de dos cosas adicionales de las que podría tener que preocuparse.

  1. La entrada es demasiado grande y la estás cargando desde un archivo.
  2. Eliminar las palabras de parada de las oraciones.

En lugar de cargar una gran lista en la memoria, puedes hacer algo como:

 import nltk, gensim class FileToSent(object): def __init__(self, filename): self.filename = filename self.stop = set(nltk.corpus.stopwords.words('english')) def __iter__(self): for line in open(self.filename, 'r'): ll = [i for i in unicode(line, 'utf-8').lower().split() if i not in self.stop] yield ll 

Y entonces,

 sentences = FileToSent('sentence_file.txt') model = gensim.models.Word2Vec(sentences=sentences, window=5, min_count=5, workers=4, hs=1)