2016-03-31 25 views
0

Ich bin völlig neu in Python und Gensim. Ich versuche, word2vec von Gensim in Python 3.4 auf Windows7 (64) zu verwenden.Fehler beim Ausführen von Word2Vec in Python

import csv 
with open('Data.csv', 'r') as csvfile: 
Word2VecTextTrain = csv.reader(csvfile, delimiter=' ') 
    from gensim.models import Word2Vec 
    model = Word2Vec(Word2VecTextTrain, size=100, window=3, min_count=5, workers=4) 

"Data.csv" enthält 30k Textzeilen. Diese Texte sind entweder vollständige oder unvollständige Sätze mit bis zu 20 Wörtern. Einige von ihnen können "/" oder Zahlen enthalten.

Ich bin vor diesem Fehler:

Traceback (most recent call last): 
    File "C:/Users/Home/PycharmProjects/Word2Vec Project/Word2Vec_2016_03_23", line 26, in <module> 
    model = Word2Vec(Word2VecTextTrain, size=100, window=5, min_count=5, workers=4) 
    File "C:\Users\Home\Miniconda3\lib\site-packages\gensim\models\word2vec.py", line 431, in __init__ 
    self.build_vocab(sentences, trim_rule=trim_rule) 
    File "C:\Users\Home\Miniconda3\lib\site-packages\gensim\models\word2vec.py", line 497, in build_vocab 
    self.finalize_vocab() # build tables & arrays 
    File "C:\Users\Home\Miniconda3\lib\site-packages\gensim\models\word2vec.py", line 625, in finalize_vocab 
    self.reset_weights() 
    File "C:\Users\Home\Miniconda3\lib\site-packages\gensim\models\word2vec.py", line 932, in reset_weights 
    self.syn0[i] = self.seeded_vector(self.index2word[i] + str(self.seed)) 
    File "C:\Users\Home\Miniconda3\lib\site-packages\gensim\models\word2vec.py", line 946, in seeded_vector 
    once = random.RandomState(uint32(self.hashfxn(seed_string))) 
OverflowError: Python int too large to convert to C long 

Process finished with exit code 1 

Ich habe keine Ahnung, für den Grund dieses Fehlers. Jede Hilfe wird wirklich geschätzt.

Antwort

1

Ich war nicht in der Lage, die Fehler auf meinem Ubuntu-Rechner zu reproduzieren, Sie jedoch LineSentence könnte besser passen:

from gensim.models import Word2Vec 
from gensim.models.word2vec import LineSentence 

Word2VecTextTrain = LineSentence('Data.csv') 
model = Word2Vec(Word2VecTextTrain, size=100, window=3, min_count=5, workers=4) 
+0

Vielen Dank für Ihren Vorschlag. Leider gab es mir den gleichen Fehler. – user3439050

+0

können Sie die Eingabedatei teilen? – kampta

Verwandte Themen