Я бы хотел передать вектор X_train_word2vec
в качестве входных данных для модели Gensim Word2Vec
.
Тип вектора numpy.ndarray
, например:
X_train_word2vec[9] = array([ 19, 7, 1, 20120, 2, 1, 856, 233, 671,
1, 1208, 6016, 2, 32, 0, 0, 0, 0, ....)]
Когда я запускаю этот код:
model_word2vec = models.Word2Vec(X_train_word2vec, size=150, window=9)
model_word2vec.train(X_train_word2vec,total_examples=X_train_word2vec.shape[0], epochs=10)
Я получаю эту ошибку:
TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U11') dtype('<U11') dtype('<U11')
Я прочитал этот пост, где проблема связана с различными типами данных во входном массиве, но, в моем случае, у меня есть все данные одного типа: int
.
Обновление:
Код перед model_Word2Vec
:
tokenizer = Tokenizer()
tokenizer.fit_on_texts(X)
sequence = tokenizer.texts_to_sequences(X)
seq_max_len = 50
X_seq = pad_sequences(sequenza, maxlen=seq_max_len,padding='post',truncating='post',dtype=int)
X_train_word2vec, X_test_word2vec, y_train_word2vec, y_test_word2vec = train_test_split(X_seq, y_cat, test_size=0.2, random_state=123)