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

2024-05-15 22:14:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有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]

是吗?像这层一样的吗?在

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

然而,印尼语的语法与英语不同。特别是在印尼语中,你可以用前缀和后缀来修改一个单词。名词词加前缀可以变成动词,后缀可以变成形容词。你可以把这么多个单词放在一个单词里,这样一个基本单词可以有5个或更多变体。在

例如:

  1. tani的意思是农场(动词)
  2. 佩塔尼的意思是农民
  3. pertani an指农场(名词)
  4. bertani的意思是农场(动词,意思稍有不同)

词义转换是通过在词后附加前缀来实现的,词与词之间是一致的。例如:

  1. petani对tani就像pe layan对layan,pe layar对layar,pe tembak对tembak,等等。在
  2. 每主安是主是什么每古鲁安是古鲁,什么每基拉安是基拉,什么每苏拉特安是苏拉特,依此类推。在

因此,我计划将前缀和后缀表示为嵌入,这将用于对基本单词的嵌入进行加法,从而生成新的嵌入。因此,复合词的意义来源于基本词和词缀的嵌入,而不是作为单独的嵌入词来存储。但是我不知道如何在Keras层中做到这一点。如果以前有人问过,我就找不到了。在


Tags: 动词单词后缀pe农场w32w22w31
1条回答
网友
1楼 · 发布于 2024-05-15 22:14:05

当你说“三字嵌入”时,我看到三个嵌入层,例如:

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

emb1 = Embedding(...options...)(input1)
emb2 = Embedding(...options...)(input2)
emb3 = Embedding(...options...)(input3)

您可以使用一个简单的Add()层来将这三个层相加:

^{pr2}$

然后你继续你的建模。。。在

#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])

其余的都一样。在


如果这不是你的问题,请详细说明这三个“单词嵌入”是从哪里来的,你打算如何选择它们,等等

相关问题 更多 >