问题描述
众所周知,BERT
模型的词嵌入能力可能比 word2vec
和其他任何模型都要好。
我想在 BERT
词嵌入上创建一个模型来生成同义词或相似词。就像我们在 Gensim
Word2Vec
中所做的一样。我想在 BERT 词嵌入中创建 Gensim model.most_similar()
的方法。
我对此进行了大量研究,似乎可以这样做,但问题是它仅以数字形式显示嵌入,无法从中获取实际单词。有人可以帮我解决这个问题吗?
解决方法
-
Bert 使用令牌,它与单词并不完全相同。因此,单个单词可能不仅仅是一个标记。
-
Bert 为每个标记相对于上下文中的其他标记生成嵌入向量。
-
你可以选择一个预训练的 bert 模型,然后给它们输入单个单词,得到输出并求平均值,这样你就可以得到一个单词的单个向量
-
获取单词列表,计算每个单词的向量
-
计算向量距离,这样你就可以从距离中得到相似的词