Embedding定义
一种数学关系,即单射函数
WordEmbedding优势
输入向量
'boy girl woman man'
输出向量
one hot 编码产生输入单词向量的参数量为4\times4=25
embedding产生的映射表记录了所有出现字符(单词)和其分类的关系,这种分类是认为定义的,具有多种潜在的分类关系(即embedding size).而字符(单词)经过embedding后的输入字符(单词)的参数量为1\times2=2,即下图,
代码
self.targets = tf.placeholder(tf.int32, [self.batch_size, None], name='targetWords') # [B, maxLen] [52, 33, 14, 5, ....]
self.embedding = tf.get_variable('embedding', shape=[self.num_class, self.embedding_size]) # [所有字符的总和, 潜在关系数量]
deocder_input_embedding = tf.nn.embedding_lookup(self.embedding, self.targets) # [B, maxLen, 潜在关系数量]
注:tf.nn.embedding_lookup()
第二个参数并不是one_hot编码值.