2015-12-08 4 views
0

Я использую следующий код для обучения модели:Все слова, которые я использую для обучения модели word2vec, должны быть в model.vocab, не так ли?

norms_train = [ [''], [ u'word', u'to', u'learn', ... ], ...] 
model = word2vec.Word2Vec(norms_train, size=100, window=10) 

С процедурой, чтобы проверить результаты:

i, j = 0, 0 
for text in norms_train: 
    j += len(text) 
    for word in text: 
     if word not in model.vocab: 
      i += 1 
print i, '/', j 

13129/185379

ответ

1

Все слова, которые вы использовали для тренировки Word2Vec модель должна быть в model.vocab. Может быть порог минимального количества вхождений слова, который должен присутствовать, чтобы он включался в модельный словарь.

Я полагаю, что аргумент min_count установлен на значение 5 по умолчанию, то есть если в данных тренировки произошло менее 5 раз, это слово не будет присутствовать в model.vocab.

+0

Да, теперь я вижу - min_count = 5 –

+0

Попробуйте установить 'min_count' = 0, а затем снова подготовьте свою модель. Это может помочь. – KartikKannapur

 Смежные вопросы

  • Нет связанных вопросов^_^