我正在尝试将word2vec应用于卷积神经网络。我是Tensorflow的新手。这是我的预训练层代码。
W = tf.Variable(tf.constant(0.0, shape=[vocabulary_size, embedding_size]),
trainable=False, name="W")
embedding_placeholder = tf.placeholder(tf.float32, [vocabulary_size, embedding_size])
embedding_init = W.assign(embedding_placeholder)
sess = tf.Session()
sess.run(embedding_init, feed_dict={embedding_placeholder: final_embeddings})
我想我应该使用embedding_lookup
但不确定如何使用它。我真的觉得有人可以提出一些建议。
由于
答案 0 :(得分:2)
Tensorflow有一个使用word2vec-cnn进行文本分类的示例:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/skflow/text_classification_cnn.py
答案 1 :(得分:1)
我正在做类似的事情。我偶然发现这个博客实现了“用于句子分类的卷积神经网络”这篇论文。这个博客很好。 http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/
答案 2 :(得分:1)
你走在正确的轨道上。由于embedding_lookup
在假设单词表示为整数ID的情况下工作,因此您需要转换输入向量以符合该值。此外,您需要确保将已转换的单词正确地索引到嵌入矩阵中。我做的是我使用了嵌入模型生成的索引到单词映射的信息(我使用gensim来训练我的嵌入)来创建一个单词到索引的查找表,我后来用它来转换我的输入向量