Nlp 如何从嵌入向量中获取单词?

Nlp 如何从嵌入向量中获取单词?,nlp,pytorch,embedding,Nlp,Pytorch,Embedding,在生成器中生成单词向量时,如何将它们转换为原始单词? 我使用pytorch内置的nn.Embedding模块来嵌入单词。由于您没有提供任何代码,我使用下面的代码和注释来回答您的查询。请随时为您的特定用例添加更多信息 import torch # declare embeddings embed = torch.nn.Embedding(5,10) # generate embedding for word [4] in vocab word = torch.tensor([4]) # se

在生成器中生成单词向量时,如何将它们转换为原始单词?
我使用pytorch内置的nn.Embedding模块来嵌入单词。

由于您没有提供任何代码,我使用下面的代码和注释来回答您的查询。请随时为您的特定用例添加更多信息

import torch
# declare embeddings
embed = torch.nn.Embedding(5,10)

# generate embedding for word [4] in vocab 
word = torch.tensor([4])

# search function for searching through embedding
def search(vector, distance_fun):
    weights = embed.weight
    min = torch.tensor(float('inf'))
    idx = -1
    v, e = weights.shape

    # each vector in embeding is corresponding to one of the word.
    # use a distance function to compare with vector
    for i in range(v):
        dist = distance_fun(vector, weights[i])
        if (min<dist):
            min = dist
            idx = i
    return i  
# searching with squared distance
search(word, lambda x,y: ((x-y)**2).sum()   
导入火炬
#声明嵌入
嵌入=火炬.nn.嵌入(5,10)
#为vocab中的单词[4]生成嵌入
word=火炬张量([4])
#通过嵌入进行搜索的搜索函数
def搜索(矢量、距离):
权重=嵌入。权重
min=火炬张量(浮动('inf'))
idx=-1
v、 e=重量。形状
#嵌入中的每个向量都对应于一个单词。
#使用距离函数与向量进行比较
对于范围(v)内的i:
距离=距离(向量,权重[i])
如果(最小值)