在进行word embedding时,首先我们会有一个大词典包含所有的单词。然后每个单词会有自己在这个词典中的索引值。后面我们在使用这个单词时,不再是用单词本身,而是用这个索引值所形成的一个array,这个array为1*词典维度,尽索引值处为1,其余为0。这样实现了word到vector的转换。
那么当输入一个句子时,这个句子就会变成一个二维array,每行为组成句子单词的一维array。但是这样的话这个句子维度就会非常巨大(如果词典很大),且多数为0。
所以我们通过设定embedding函数,首先embed_dim记为我们希望这个句子的列维度。即每个单词用几个数值表示。然后通过调用这个函数,原先庞大的句子矩阵会转换成一个句子中单词数*embed_dim的新矩阵(可能是降维也可能是升维,取决于词典大小和embed_dim)。这个矩阵中元素也不再仅仅为1和0,而是根据你设定的embedding函数产生对应的数值。