我已经实现了一个自动编码器,它将句子向量作为输入,在解码器的最后一层输出句子向量。我想将句子向量转换为句子。有没有办法将句子向量转换为句子?
class AutoEncoder(nn.Module):
def __init__(self, embedding_dim, hidden_dim):
#Constructor
super().__init__()
self.fc=nn.Linear(embedding_dim,hidden_dim)
self.act1=nn.ReLU(0.2)
self.fc1=nn.Linear(hidden_dim,hidden_dim)
self.act2=nn.ReLU(0.2)
self.fc2=nn.Linear(hidden_dim,hidden_dim)
self.act3=nn.ReLU(0.2)
self.fc3=nn.Linear(hidden_dim,hidden_dim)
self.act4=nn.ReLU(0.2)
self.fc4=nn.Linear(hidden_dim,hidden_dim)
self.act5=nn.ReLU(0.2)
self.fc5=nn.Linear(hidden_dim,embedding_dim)
def forward(self, X):
l1=self.fc(X)
a1=self.act1(l1)
l2=self.fc1(a1)
a2=self.act2(l2)
l3=self.fc2(a2)
a3=self.act3(l3)
l4=self.fc3(a3)
a4=self.act4(l4)
l5=self.fc4(a4)
a5=self.act5(l5)
l6=self.fc5(a5)
return l6
在这里,我最初考虑了词嵌入,并通过平均将它们转换为句子向量。这些向量是为自动编码器模型给出的。
让我知道我们是否有任何其他方法可以生成句子。
任何类型的参考都是有帮助的。