1
13
为了将文字用于自然语言处理或机器学习任务,必须首先将其映射到连续向量空间,从而创建 文字向量 或 文字嵌入 输入尺寸 输出尺寸 :文字向量的所需维数。例如,如果output\u dim=100,则每个单词将映射到具有100个元素的向量,而如果output\u dim=300,则每个单词将映射到具有300个元素的向量。 :序列的长度。例如,如果数据由句子组成,那么这个变量表示一个句子中有多少个单词。由于不同的句子通常包含不同数量的单词,因此通常需要填充序列,使所有句子的长度相等。凯拉斯。预处理。pad_序列方法可用于此( https://keras.io/preprocessing/sequence/ https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html )提供了一个关于如何使用手套预训练词向量的教程。对于选项2,Keras将随机初始化向量作为默认选项,然后在训练过程中学习最优词向量。 |
2
6
如所示 Explain with example: how embedding layers in keras works 你可以把一个句子变成一系列整数(向量或张量)。具有input_长度的向量示例(句子的最大长度为6,如果您的句子更长,则会修剪剩余的单词)
然后使用keras的嵌入层,可以将这些向量转化为输出深度的嵌入向量。例如,output_dim=3:
因为嵌入层通常是模型的第一层。在10的情况下,嵌入层包含10个大小为output_dim的向量。注意,第一个元素对应于输入向量中0的映射(0-->[0.00251105,0.00724941,-0.01146401]),第二个对应于1,等等。
增加input_dim可以映射更大的词汇表,但也可以增加emdebing层的参数数量。参数数量为input\u dim x output\u dim。 据我所知,这些向量是随机初始化的,并像任何其他层一样使用优化器的算法进行训练。但是,您可以使用不同的算法,如word2vec或预训练向量,如glove( https://nlp.stanford.edu/projects/glove/ ). 其思想是,每个单词将代表空间中的一个独特位置(由其向量描述),您可以对单词的语义(含义)应用一些向量数学。E、 g.W('cheesburger')-W('cheese')=W('hamburger')或W('prince')-W('man')+W('woman')=W('princess')查看更多信息,例如 https://www.oreilly.com/learning/capturing-semantic-meanings-using-deep-learning |
3
2
通过使用您在帖子中给出的值,您可以尝试掌握此方法的想法,并可以得出以下设置:
|
4
0
|
Ze0ruso · 做模型。eval()在代码中的位置有什么关系? 2 年前 |
Palkin Jangra · 如何迭代一列以获得每行的平均值? 2 年前 |
Ofek Nourian · 完全连通的简单自回归模型预测 2 年前 |
chao · 如何提取和存储自动语音识别深度学习应用程序生成的文本 2 年前 |
Jack Arnestad · 使用预训练单词嵌入对单词“池”进行分类 6 年前 |