Ошибка word2vec: объект _Token не повторяется - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь последовательно подать списки предложений в gensim.models.Word2Vec, но при этом возникает ошибка TypeError: объект _Token не повторяется.Что мне делать?

    embedding_model= Word2Vec()
    for index, sentence_list in df.iterrows():
        embedding_model = Word2Vec(sentence_list, size=100, window=5, min_count=2, workers=2)
        embedding_model.train(tokenized_contents, total_examples=len(tsentence_list), epochs=10)

1 Ответ

0 голосов
/ 01 февраля 2019

Спасибо за ваш быстрый ответ.Ошибка была моей ошибкой, когда я ставил чистые предложения вместо списков токенов.Тем не менее, я все еще борюсь с последовательной подачей в Word2Vec.Вот мои примеры данных, код и ошибка:

tokenized_contents: ['こんにちは', '!', '掲示', '板', 'が', 'でき', 'まし', 'た', 'ね', '!', 'これ', 'から', 'も', 'よろしく', 'お', '願い', 'し', 'ます', '!']

embedding_model= Word2Vec()
for index, tokenized_contents in df.iterrows():
    embedding_model = Word2Vec(tokenized_contents, size=100, window=5, min_count=1, workers=4)
    embedding_model.build_vocab(tokenized_contents)

embedding_model.train(tokenized_contents, total_examples=len(tokenized_contents), epochs=10)

Error Msg:
Traceback (most recent call last):

    embedding_model.build_vocab(tokenized_contents)
  File "/anaconda3/envs/japan/lib/python3.6/site-packages/gensim/models/base_any2vec.py", line 484, in build_vocab
    trim_rule=trim_rule, **kwargs)
  File "/anaconda3/envs/japan/lib/python3.6/site-packages/gensim/models/word2vec.py", line 1318, in prepare_vocab
    self.sort_vocab(wv)
  File "/anaconda3/envs/japan/lib/python3.6/site-packages/gensim/models/word2vec.py", line 1184, in sort_vocab
    raise RuntimeError("cannot sort vocabulary after model weights already initialized.")
RuntimeError: cannot sort vocabulary after model weights already initialized.
'''

...