如何训练一个反向嵌入,例如vec2word?

7
如何训练神经网络将向量表示映射到独热向量?我感兴趣的例子是,向量表示是word2vec嵌入的输出,并且我想将其映射到用于训练嵌入的语言中的个别单词,所以我猜这就是vec2word
更详细地说,如果我理解正确,嵌入空间中的一组点表示类似的单词。因此,如果您从该聚类中的点中进行采样,并将其用作vec2word的输入,则输出应为映射到类似的单个单词?
我猜我可以做类似于编码器-解码器的事情,但它必须那么复杂/使用那么多参数吗?
有这个TensorFlow教程,介绍如何训练word2vec,但我找不到任何帮助来反向操作?我很乐意使用任何深度学习库进行操作,并且使用采样/概率操作也可以。
感谢您的帮助,Ajay。

你对语言建模感兴趣,对吗?TensorFlow RNN教程中的示例是否有所帮助? - Allen Lavoie
2
嗨@AllenLavoie,感谢你的指引。TF的例子并没有帮助我太多——也许你想更新一下这个问题的内容?不过还是有其他人帮了我。其实很简单,你只需要将嵌入权重和“query”向量进行矩阵向量乘积,然后对从该乘积得到的向量进行排名——我解释得不太好,但可以看这里:https://github.com/RaRe-Technologies/gensim/blob/develop/gensim/models/keyedvectors.py#L281。谢谢,Ajay - Ajay T
1个回答

1

你可以做的最简单的事情之一是使用最近邻单词。给定一个未知单词的查询特征fq和已知单词的参考特征集R={fr},然后你可以找出fq的最近fr*,并使用相应的fr*单词作为fq的单词。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接