卷积神经网络的词嵌入

Word Embedding for Convolution Neural Network

我正在尝试将 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 但不确定如何使用它。我真的很感激有人可以提供一些建议。

谢谢

我正在做类似的事情。我偶然发现了实现论文 "Convolutional neural networks for Sentence Classification" 的博客。这个博客不错。 http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/

Tensorflow 有一个使用 word2vec-cnn 进行文本分类的示例:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/skflow/text_classification_cnn.py

你走在正确的轨道上。由于 embedding_lookup 假设单词表示为整数 id,因此您需要转换输入向量以符合该假设。此外,您需要确保将转换后的单词正确索引到嵌入矩阵中。我所做的是使用有关从嵌入模型生成的索引到单词映射的信息(我使用 gensim 来训练我的嵌入)来创建一个单词到索引的查找 table,我随后使用它转换我的输入向量。