Python Keras:嵌入/向量的附加层?

Python Keras:嵌入/向量的附加层?,python,nlp,keras,layer,embedding,Python,Nlp,Keras,Layer,Embedding,我有3个单词嵌入: 嵌入1:[w11、w12、w13、w14] 嵌入2:[w21、w22、w23、w24] 嵌入3:[w31、w32、w33、w34] 有没有一种方法可以通过将所有三个向量相加得到第四个嵌入,并使用所有向量的可训练权重,如: 嵌入4:[w11+w21+w31,w12+w22+w32,w13+w23+w33,w14+w24+w34] ??有没有办法在keras层中实现这一点 问题 我想学习印尼语的单词嵌入。我计划通过使用LSTMs训练序列预测机来实现这一点 然而,印尼语的语法不同于

我有3个单词嵌入:

嵌入1:[w11、w12、w13、w14] 嵌入2:[w21、w22、w23、w24] 嵌入3:[w31、w32、w33、w34] 有没有一种方法可以通过将所有三个向量相加得到第四个嵌入,并使用所有向量的可训练权重,如:

嵌入4:[w11+w21+w31,w12+w22+w32,w13+w23+w33,w14+w24+w34] ??有没有办法在keras层中实现这一点

问题 我想学习印尼语的单词嵌入。我计划通过使用LSTMs训练序列预测机来实现这一点

然而,印尼语的语法不同于英语。特别是在印度尼西亚语中,您可以使用前缀和后缀修改单词。一个名词词如果有前缀可以变成动词,如果有后缀可以变成形容词。你可以在一个单词中放这么多,这样一个基本单词就可以有5个或更多的变体

例如:

塔尼的意思是农场动词 佩塔尼的意思是农民 佩尔塔尼安的意思是农场名词 ber tani的意思是农场动词,意思稍有不同 通过在单词后面添加前缀来实现语义转换,单词之间是一致的。例如:

佩塔尼之于塔尼,就像佩莱安之于莱安,佩莱亚尔之于莱亚尔,佩坦贝克之于坦贝克,依此类推。 每一位大师对每一位大师,每一位基拉对基拉,每一位苏拉特对苏拉特,等等。
因此,我计划将前缀和后缀表示为嵌入,这将用于对基字的嵌入进行添加,从而生成一个新的嵌入。因此,复合词的意义来源于基础词和词缀的嵌入,而不是作为单独的嵌入来存储。但是,我不知道如何在Keras层中执行此操作。如果以前有人问过,我就找不到了

当你说三个单词嵌入时,我看到三个嵌入层,例如:

input1 = Input((sentenceLength,))
input2 = Input((sentenceLength,))
input3 = Input((sentenceLength,))

emb1 = Embedding(...options...)(input1)
emb2 = Embedding(...options...)(input2)
emb3 = Embedding(...options...)(input3)
您可以使用一个简单的“添加层”将以下三项相加:

summed = Add()([emb1,emb2,emb3])
然后你继续你的建模

#after creating the rest of the layers and getting the desired output:
model = Model([input1,input2,input3],output)
如果不使用嵌入层,但输入三个向量:

input1 = Input((4,)) #or perhaps (sentenceLength,4)
input2 = Input((4,))
input3 = Input((4,))

added = Add()([input1,input2,input3])
其余的都一样


如果这不是您的问题,请详细说明三个单词嵌入的来源、您打算如何选择它们等。

当您说三个单词嵌入时,我看到三个嵌入层,例如:

input1 = Input((sentenceLength,))
input2 = Input((sentenceLength,))
input3 = Input((sentenceLength,))

emb1 = Embedding(...options...)(input1)
emb2 = Embedding(...options...)(input2)
emb3 = Embedding(...options...)(input3)
您可以使用一个简单的“添加层”将以下三项相加:

summed = Add()([emb1,emb2,emb3])
然后你继续你的建模

#after creating the rest of the layers and getting the desired output:
model = Model([input1,input2,input3],output)
如果不使用嵌入层,但输入三个向量:

input1 = Input((4,)) #or perhaps (sentenceLength,4)
input2 = Input((4,))
input3 = Input((4,))

added = Add()([input1,input2,input3])
其余的都一样


如果这不是您的问题,请提供更多关于三个单词嵌入的来源、您打算如何选择它们等的详细信息。

我想这就是我要寻找的。谢谢。我想这就是我要找的。谢谢