我正在做文本分类,并计划使用 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))
有人可以帮助我并指出正确的方向吗?提前致谢。