gpt4 book ai didi

nlp - 在发送到 RNN 之前,token , , , 的词向量应该是什么?

转载 作者:行者123 更新时间:2023-12-04 14:55:34 33 4
gpt4 key购买 nike

在词嵌入中,start_tokens _PAD、_UNKNOWN、_GO、_EOS 的良好向量表示应该是什么?

最佳答案

如果您也在更新词嵌入向量,则 Spettekaka 的答案有效。

但是,有时您会想要使用无法更新的预训练词向量。在这种情况下,您可以为要添加的每个标记的词向量添加一个新维度,并将每个标记的向量在新维度中设置为 1,在其他维度中设置为 0。这样,您就不会遇到例如“EOS”更接近于“start”的向量嵌入,而不是“end”的向量嵌入。

澄清示例:

# assume_vector embeddings is a dictionary and word embeddings are 3-d before adding tokens
# e.g. vector_embedding['NLP'] = np.array([0.2, 0.3, 0.4])

vector_embedding['<EOS>'] = np.array([0,0,0,1])
vector_embedding['<PAD>'] = np.array([0,0,0,0,1])
new_vector_length = vector_embedding['<pad>'].shape[0] # length of longest vector
for key, word_vector in vector_embedding.items():
zero_append_length = new_vector_length - word_vector.shape[0]
vector_embedding[key] = np.append(word_vector, np.zeros(zero_append_length))

现在,您的词嵌入词典包含 2 个新的标记维度,并且您的所有单词都已更新。

关于nlp - 在发送到 RNN 之前,token <pad>, <unknown>, <go>, <EOS> 的词向量应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41881605/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com