我目前正在为学校项目实施自然文本生成器。我有一个预定长度的句子和关键字的数据集,由于gensim和GoogleNews-vectors-negative300.bin.gz,我将它们转换为向量。我训练一个递归神经网络来创建一个向量列表,并将其与真实句子的向量列表进行比较。因此,我尝试尽可能接近“真实”向量。
当我必须将向量转换回单词时,就会发生我的问题:我的向量不一定在Google集中。因此,我想知道是否有一种有效的解决方案,可以将Google集合中最接近的向量设置为outpout向量。
我使用python 3和Tensorflow
非常感谢,随时询问有关该项目的任何问题
查尔斯
答案 0 :(得分:0)
gensim
方法.most_similar()
(在KeyedVectors
和类似的类上)还将接受原始向量作为搜索的“来源”。
只需确保明确命名positive
参数-一系列目标词/向量即可组合以查找起点。
例如:
gvecs = KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin.gz')
target_vec = gvecs['apple']
similars = gvecs.most_similar(positive=[target_vec,])