machine-learning - 我是否正确使用了词嵌入?

标签 machine-learning nlp word2vec word-embedding

核心问题:使用单词嵌入表示文本的正确方法?

我正在构建推文的情感分类应用程序。将推文分为负面、中立和正面。 我在 theano 之上使用 Keras 并使用单词嵌入(谷歌的 word2vec 或斯坦福 GloVe)来完成此操作。

为了表示推文文本,我做了如下操作:

  1. 使用预先训练的模型(例如 word2vec-twitter 模型)[M] 将单词映射到其嵌入。
  2. 使用文本中的单词查询M,得到对应的向量。因此,如果推文 (T) 是“Hello world”,并且 M 给出单词的向量 V1V2 “你好”和“世界”。
  3. 推文 T 可以表示 (V) 为 V1+V2(添加向量)或 V1V2 (连接向量)[这是 2 种不同的策略] [连接意味着并置,因此如果 V1, V2 是 d 维向量,在我的示例中 T 是二维向量]
  4. 然后,推文 T 由向量 V 表示。

如果我遵循上述步骤,那么我的数据集只不过是向量(它们是词向量的总和或串联,具体取决于我使用的策略)。 我正在这个数据集上训练深度网络,例如 FFN、LSTM。但我的结果并不理想。

这是使用单词嵌入来表示文本的正确方法吗?还有哪些更好的方法?

您的反馈/批评将会有巨大的帮助。

最佳答案

我认为,为了您的目的,最好考虑另一种组合这些向量的方法。关于词嵌入的文献包含对此类组合的批评示例(一旦找到正确的引用文献,我将立即编辑答案)。

我建议您还考虑其他可能的方法,例如:

关于machine-learning - 我是否正确使用了词嵌入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35770737/

相关文章:

java - 计算偏导数以进行循环神经网络的 RTRL 训练

python - 使用 sklearn cross_val_score 和 kfolds 来拟合和帮助预测模型

python - Python 中的聊天机器人数据库

python - Keras 嵌入层输入形状的困惑

Word2Vec 输出向量

machine-learning - 随机森林,文本分类

nlp - 什么是共现矩阵以及它们如何在 NLP 中使用?

python - 自定义标记器 NLTK 3

ruby - 如何在 Ruby 中分析文本?

machine-learning - 我有一个数据集,我想使用 NLP 进行短语提取,但我无法这样做?