Использовать вложение слова word2vec в качестве вектора объектов для классификации текста (simlar для подсчета векторов объектов vectorizer / tfidf) - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь выполнить некоторую классификацию текста, используя машинное обучение, и для этого я извлек векторы признаков из обработанных текстовых данных, используя простой подход к пакету слов (count vectorizer) и tfidf vectorizer.

Теперь я хочу использовать word2vec, т. Е. Вложение слов в качестве моего векторного признака, аналогичного векторизатору счетчиков / векторизаторов tfidf, где я должен иметь возможность изучать словарный запас из данных поезда и преобразовывать или сопоставлять тестовые данные с изученнымно я не могу найти способ реализовать это.

//I need something like this with word2vec

count = CountVectorizer()
train_feature_ vector =count.fit_transform(train_data)
test_feature_vector = count.fit(test_data)

//So I can train my model like this
mb = MultinomialNB()
mb.fit(train_feature_vector,y_train)
acc_score = mb.score(test_feature_vector,y_test)
print("Accuracy "+str(acc_score))

1 Ответ

1 голос
/ 11 марта 2019

Сначала вы должны понять, что такое Word Embeddings.Когда вы применяете CountVectorizer или TfIdfVectorizer, то вы получаете представление предложение в разреженном виде, обычно известное как кодировка One Hot.Представление вложения слов используется для представления слова в многомерном пространстве действительных чисел.

Как только вы получите представление для каждого слова, есть несколько способов сделать это, проверьте: Как получить вектор для предложения из word2vec токенов в предложении

...