我已经设法训练了一个带有张量流的word2vec,我想将这些结果反馈到一个带有lstm细胞的rnn中进行序列标记。
1)如何将训练有素的word2vec模型用于rnn并不是很清楚。 (如何提供结果?)
2)我没有找到关于如何实现序列标记lstm的文档。 (如何引入我的标签?)
有人能指出我如何开始这项任务的正确方向吗?
答案 0 :(得分:6)
我建议您先阅读RNN tutorial和sequence-to-sequence tutorial。他们解释了如何在TensorFlow中构建LSTM。一旦您对此感到满意,您将必须找到正确的嵌入变量并使用预先训练的word2vec模型进行分配。
答案 1 :(得分:3)
我意识到这是在不久前发布的,但我发现this Gist about sequence labeling和this Gist about variable sequence labeling对于确定序列标签非常有帮助。基本轮廓(要点的要点):
dynamic_rnn
处理展开网络以进行培训和预测。这种方法在API中已经移动了一些,因此您可能必须为您的版本找到它,而只是谷歌。[batch_size, sequence_length, num_features]
的批次,并将您的标签分成大小为[batch_size, sequence_length, num_classes]
的批次。请注意,您需要序列中每个时间步的标签。sequence_length
包装器的dynamic_rnn
参数。还有一些警告:
tf.train.AdamOptimizer
使用默认设置。根据您的数据,这可能不会收敛,您需要调整设置。 This article很好地解释了不同旋钮的作用。从一开始就开始阅读,在亚当部分之前解释了一些旋钮。希望这些链接在将来对其他人有所帮助!