核心问题:使用词嵌入表示文本的正确方法?
我正在为推文构建情感分类应用程序。将推文分类为 - 负面、中性和正面。我在 theano 之上使用 Keras 并使用词嵌入(谷歌的 word2vec 或 Stanfords GloVe)来执行此操作。
为了表示推文文本,我做了如下操作:
- 使用预训练模型(例如 word2vec-twitter 模型)[ M ] 将单词映射到它们的嵌入。
- 用文中的词查询M,得到对应的向量。因此,如果推文 ( T ) 是“Hello world”,并且M为“Hello”和“World”这两个词提供向量V1和V2。
- 然后推文T可以表示为 ( V ) V1 + V2(添加向量)或V1V2(连接向量)[这是 2 种不同的策略] [连接意味着并列,所以如果V1、V2是 d 维向量,在我的示例T是二维向量]
- 然后,推文T由向量V表示。
如果我遵循上述方法,那么我的数据集就是向量(取决于我使用的策略,它们是词向量的总和或串联)。我正在这个数据集上训练一个深度网络,比如 FFN、LSTM。但我的结果并不是很好。
这是使用词嵌入来表示文本的正确方法吗?还有什么更好的方法?
您的反馈/批评将大有帮助。