如何使用word2Vec和深度学习模型预测文本的情绪



我正试图通过使用word2vec和一些深度学习算法来检测推文的情绪。这是我的模型训练代码:

word2VecValues = pd.read_csv(allVectorValuesPath, sep=",", skipinitialspace=True)
word2VecValues = convertLabelToFloat(word2VecValues)
word2VecValues = prepareDataSet(word2VecValues)
X = word2VecValues.iloc[:, :-1]
Y = word2VecValues.iloc[:, -1]
model = Sequential()
model.add(Dense(12, input_dim=100, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X, Y, epochs=25, batch_size=10)
saveModel(model, "Word2Vec")
_, accuracy = model.evaluate(X, Y)
print('Accuracy: %.2f' % (accuracy * 100))

如您所见,我有一个csv文件,其中包含语料库中每个单词的word2vec向量值。我使用它作为数据帧;word2VercValues";。

模型训练结束后,我保存了我的word2vec模型。我想加载模型并预测一个文本的情绪。然而,我对如何获得新文本的向量值有点困惑。你能帮我吗?

您应该找到一个带有情感数据的数据集注释,或者注释您自己的数据集,这相当耗时。使用word2vec将文本转换为一批矢量,将矢量馈送到lstm层而不是密集层。单独使用word2vec是不够的。如果你问我,因为你要分析推特,推特上充满了即兴创作,不符合word2vec的标准人声,你最好使用fastText。

最新更新