-1

我正在研究Tensoflow的语法网。

但是,我对使用--word_embeddings选项的方式感到困惑。你能给我举个例子吗?非常感谢。

4

1 回答 1

0

不太确定什么是 syntaxnet,但这里是我如何在我的序列到序列模型中使用词嵌入。

在这里,我声明了一个将存储嵌入的变量。它是一个矩阵,行数等于词汇表中的单词数 (NWORDS),每列是该单词的单词向量的大小 (WORD_VEC_SIZE)。它是随机初始化的,是模型的可训练参数。

  word_embedding = tf.get_variable('word_embedding', shape = (NWORDS, WORD_VEC_SIZE), initializer = tf.truncated_normal_initializer(0.0, 1,0))

我的模型的输入是一个整数列表,表示嵌入中单词的索引。它的维度为 BATCH_SIZE x TIMESTEPS。

source_input = tf.placeholder(tf.int32, (BATCH_SIZE, TIME_STEPS), 'source_input')

使用嵌入和输入,我可以执行查找以将单词的整数表示形式转换为向量。

y = tf.nn.embedding_lookup([word_embedding], source_input)

现在 y 具有形状 (BATCH_SIZE, TIME_STEPS, WORD_VEC_SIZE) 并且可以输入模型进行进一步处理。

于 2016-07-21T13:45:48.343 回答