首页 > 解决方案 > 如何使用 Word2Vec 解决 Tensorflow 中的分类问题

问题描述

我正在尝试根据用户编写的文本分析来预测 5 大人格特征(外向性、神经质、宜人性、尽责性、开放性)。这是我的预处理数据集:

df_processed

这是我的 word2vec 模型:

model_wv = Word2Vec(df_processed['TEXT'], sg=1, size=300, window=10, min_count=1)

词汇由26126个单词组成。

features = ['cEXT', 'cNEU', 'cAGR', 'cCON', 'cOPN']
X = df_processed['TEXT']
y = df_processed[features]
X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3,random_state=101)

model = Sequential()
model.add(Embedding(max_features, 100)) 
model.add(LSTM(32, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(5, activation='softmax'))

model.compile(loss='binary_crossentropy',
          optimizer='adam',
          metrics=['accuracy'])
model.fit(X_train, y_train, batch_size=batch_size,epochs=epochs, validation_data=(X_test, y_test))

我的问题是,如何在 tensorflow 模型中使用 word2vec 向量?

我应该用 word2vec 模型中的向量替换“X”中每一行中的每个单词吗?我认为计算起来会非常昂贵,但另一种可能性是什么?

对不起,如果我的问题听起来很愚蠢,我只是 NLP 和 tensorflow 方面的新手。

标签: pythontensorflownlpgensimword2vec

解决方案


推荐阅读