【发布时间】:2016-06-16 16:39:27
【问题描述】:
核心问题:使用词嵌入表示文本的正确方法?
我正在为推文构建情感分类应用程序。将推文分类为 - 负面、中性和正面。 我在 theano 之上使用 Keras 并使用词嵌入(谷歌的 word2vec 或 Stanfords GloVe)来做到这一点。
为了表示推文,我做了如下操作:
- 使用预训练模型(例如 word2vec-twitter 模型)[M] 将词映射到它们的嵌入。
- 使用文本中的单词查询M,得到对应的向量。因此,如果推文 (T) 是“Hello world”并且 M 为单词提供向量 V1 和 V2 “你好”和“世界”。
- 然后推文 T 可以表示为 (V) 为 V1+V2(添加向量)或 V1V2 (连接向量)[这些是 2 种不同的策略] [连接意味着并列,所以如果 V1, V2 是 d 维向量,在我的示例中 T 是二维向量]
- 然后,推文 T 由向量 V 表示。
如果我遵循上述内容,那么我的数据集就是向量(取决于我使用的策略,它们是词向量的总和或串联)。 我正在这个数据集上训练一个深度网络,比如 FFN、LSTM。但是我的结果并不是很好。
这是使用词嵌入来表示文本的正确方法吗?还有哪些更好的方法?
您的反馈/批评将大有帮助。
【问题讨论】:
-
您可能对 Zhang 和 Wallace 的 this 论文感兴趣,该论文研究了使用卷积神经网络与词嵌入相结合来对句子进行分类。
标签: machine-learning nlp word2vec word-embedding