首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用预先训练好的BERT将单词表示为嵌入?

如何用预先训练好的BERT将单词表示为嵌入?
EN

Data Science用户
提问于 2021-04-13 22:03:42
回答 2查看 3.6K关注 0票数 0

我没有足够的数据(也就是说,我没有足够的文本)--在我的字典里只有大约4k个单词。我需要比较给定的单词,然后我需要将它表示为嵌入。

在表示单词之后,我要对其进行聚类,找到相似的向量(即单词)。甚至可能会对给定的类进行分类(在那里没有监督的分类-因为我没有标记的数据来进行培训)。

我知道,几乎任何任务都可以解决“内部”伯特,即使用微调在最后一层。

由于以上所述,我有两个问题:答案/提示/任何值得赞赏的东西,因为我被困在这个问题上:

  1. 如何使用一些单词词典从伯特中提取嵌入内容,并将其用于进一步的工作?
  2. 我们能否用微调来解决伯特内部的下一个问题: a)。将单词字典装入伯特b)。加载给定的类(表示每个类的单词)。例如“时尚”、“自然”)。( c)进行无监督的分类任务?
EN

回答 2

Data Science用户

发布于 2021-04-14 18:08:43

  1. 伯特不提供单词表示,而是子词表示(请参阅)。然而,通常情况下,在一个词中对子词的表示进行平均,以获得“字级”表示。
  2. 您可以尝试将其作为一个正常的标记问题来处理,其中每个单词的标记都是与该单词关联的类,非常类似于词性部分(POS) (例如)标记或命名实体识别(NER) (例如)。通常,您将标记与单词中的第一个或最后一个子词标记关联。如果以这种方式准备数据集,您可以微调伯特,以便使用所需的类执行单词标记。如果您只有单词,您可以找到一些文本语料库(理想的目标域)并应用所描述的数据准备过程。
票数 2
EN

Data Science用户

发布于 2021-04-14 19:42:47

关于单词字典,因为BERT嵌入包含了上下文信息(即句子中的周围单词改变了目标单词的嵌入),所以BERT不可能有单一的字典。理论上,您可以通过传递单个单词句子(尽管单个单词可能被分解为多个标记)来为您的单词构建一个字典。

如果您正在寻找一种简单实用的方法来获得预先培训的Bert嵌入,HuggingFace会使它变得简单。

下面我给出了一个简单的代码片段,使用python,特别是py火炬:

代码语言:javascript
复制
from transformers import BertTokenizer, BertModel
import torch

my_sentence = "Whatever your sentence is"
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')

input_ids = tokenizer(my_sentence, return_tensors="pt")
output = model(**input_ids)

final_layer = output.last_hidden_state

final_layer张量现在将保存输入句子中每个令牌的嵌入(768维)。注意,第零令牌是一个开始令牌(CLS),最后一个令牌是一个结束令牌。

如果您有一个句子列表(在您的情况下可能是单个单词,如果您正在制作一本词典),您可以批量使用上面的代码。但是,您需要从令牌程序中提取一个掩码,并将其传递给您的模型(以考虑不同的长句)。

示例:

代码语言:javascript
复制
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
encoded_inputs = tokenizer(list_of_sentences, padding=True, 
                            truncation=True, return_tensors="pt")
ids = encoded_inputs['input_ids']
mask = encoded_inputs['attention_mask']

output = model(ids, mask)
final_layer = output.last_hidden_state
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/93034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档