Я пытаюсь внедрить слово в вектор с обучением под наблюдением, чтобы предсказать настроение любого документа или статьи новостей. word2vec представляет каждое слово, соответствующее действительным числам, и создает вектор на основе вхождения этого слова в документ.
Моя предварительная обработка данных выглядит следующим образом:
text_clf = Pipeline([('vect', CountVectorizer(analyzer=to_lemmas)),
('tfidf', TfidfTransformer()),
('clf', MultinomialNB())])
tuned_parameters = {
'vect__ngram_range': [(1, 1), (1, 2), (2, 2)],
'tfidf__use_idf': (True, False),
'tfidf__norm': ('l1', 'l2'),
'clf__alpha': [1, 1e-1, 1e-2]
}
score = 'f1_macro'
clf = GridSearchCV(text_clf, tuned_parameters, cv=10, scoring=score)
clf.fit(x_train, y_train)
Здесь я применяю countvectorizor, который дает количество слов, он передается в tf-idf, который дает частоту слов, а затем в качестве классификатора применяется Multinomial naive Bays.
Grid searchCV используется для настройки наилучшей модели для классификации
затем clf.fit используется для обучения модели, а clf.predict используется для прогнозирования настроения пройденного предложения.
Моя модель дает мне классификационный отчет:
irrelevant 0.9739 0.7517 0.8485 149
negative 0.6308 0.5430 0.5836 151
neutral 0.7082 0.8687 0.7803 419
positive 0.5797 0.3670 0.4494 109
Я хочу применить Word для встраивания векторов здесь. Пожалуйста, предложите, как я могу реализовать встраивание Word в вектор с помощью Naive и SVM.
https://github.com/akanshajainn/Sentiment-Analysis-Twitter-word2vec-keras
https://www.bonaccorso.eu/2017/08/07/twitter-sentiment-analysis-with-gensim-word2vec-and-keras-convolutional-networks/