gpt4 book ai didi

python - 使用 BERT 通过词嵌入生成相似词或同义词

转载 作者:行者123 更新时间:2023-12-04 14:54:23 27 4
gpt4 key购买 nike

众所周知,BERT 模型的词嵌入能力可能优于 word2vec 和任何其他模型。

我想在 BERT 词嵌入上创建一个模型来生成同义词或相似词。就像我们在 Gensim Word2Vec 中所做的一样。我想将 Gensim model.most_similar() 方法创建到 BERT 词嵌入中。

我对此进行了很多研究,似乎可以这样做,但问题是它仅以数字形式显示嵌入,无法从中获取实际单词。有人可以帮我解决这个问题吗?

最佳答案

  1. Bert 使用与单词不完全相同的标记。所以一个单词可能不仅仅是一个标记。

  2. Bert 为上下文中的其他标记生成每个标记的嵌入向量。

  3. 您可以选择一个预训练的 bert 模型并为它们提供单个单词以获得输出并对它们进行平均因此您可以获得一个单词的单个向量

  4. 获取单词列表,计算每个单词的向量

from transformers import BertTokenizer, BertModel
import torch

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')

word = "Hello"
inputs = tokenizer(word, return_tensors="pt")
outputs = model(**inputs)
word_vect = outputs.pooler_output.detach().numpy()
  1. 计算向量距离,这样你就可以从距离上得到相似的词

关于python - 使用 BERT 通过词嵌入生成相似词或同义词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68377628/

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