Я занимаюсь классификацией текста и планирую использовать вложения слов word2vec и передавать их слоям Conv1D для классификации текста. У меня есть фрейм данных, который содержит тексты и соответствующие метки ( настроения). Я использовал модуль gensim и использовал алгоритм word2vec для создания модели встраивания слов. Код, который я использовал:
import pandas as pd
from gensim.models import Word2Vec
from nltk.tokenize import word_tokenize
df=pd.read_csv('emotion_merged_dataset.csv')
texts=df['text']
labels=df['sentiment']
df_tokenized=df.apply(lambda row: word_tokenize(row['text']), axis=1)
model = Word2Vec(df_tokenized, min_count=1)
Я планирую использовать CNN и использовать эту модель встраивания слов. Но как мне использовать эту модель встраивания слов для моего cnn? Каким должен быть мой вклад?
Я планирую использовать что-то вроде (очевидно, не с теми же гиперпараметрами):
model = Sequential()
model.add(layers.Embedding(max_features, 128, input_length=max_len))
model.add(layers.Conv1D(32, 7, activation='relu'))
model.add(layers.MaxPooling1D(5))
model.add(layers.Conv1D(32, 7, activation='relu'))
model.add(layers.GlobalMaxPooling1D())
model.add(layers.Dense(1))
Может ли кто-нибудь помочь мне и указать мне правильное направление? Заранее спасибо.