14得票3回答
变压器模型中的BERT句子嵌入

我正在尝试从BERT模型的隐藏状态中获取句子向量。查看huggingface BertModel说明 这里,其中提到:from transformers import BertTokenizer, BertModel tokenizer = BertTokenizer.from_pretrai...

13得票2回答
下载预训练的句子转换模型到本地。

我正在使用SentenceTransformers库(在此处:https://pypi.org/project/sentence-transformers/#pretrained-models)创建句子的嵌入,使用预训练模型bert-base-nli-mean-tokens。我有一个应用程序将...

12得票4回答
如何在未标记的数据上对BERT进行微调?

我希望对特定领域的BERT进行微调,我有该领域的文本文件。如何使用这些文件来对BERT进行微调?我目前正在这里查看。 我的主要目标是使用BERT获取句子嵌入。

12得票1回答
句子编码和上下文化词嵌入有何区别?

我在阅读有关BERT和ELMo的论文时,看到过这两个术语的使用,因此我想知道它们之间是否存在区别。

12得票2回答
在MASK位置获取多词元的概率

根据语言模型获取令牌的概率相对容易,如下面的代码片段所示。你可以获得模型的输出,将自己限制在掩码令牌的输出上,然后在输出向量中找到所请求令牌的概率。但是,这仅适用于单个标记词,例如标记器词汇表中本身存在的单词。当一个单词不存在于词汇表中时,分词器将其划分成它所知道的一些部分(请参见示例底部)。...

11得票2回答
在Bert中移除SEP标记以进行文本分类

给定一个情感分类数据集,我想微调Bert。 如你所知,BERT是为了预测给出当前句子的下一句而创建的。因此,为了使网络意识到这一点,他们在第一句话开头插入了一个[CLS]标记,然后添加[SEP]标记来分隔第一句话和第二句话,最后在第二句话结尾处再添加一个[SEP]标记(我不清楚为什么他们要在...

11得票2回答
如何使用Transformer进行文本分类?

我有两个关于如何使用Tensorflow实现的Transformers进行文本分类的问题。 第一个问题,似乎人们主要使用编码器层来进行文本分类任务。但是,编码器层为每个输入单词生成一个预测。根据我对transformers的理解,每次输入到编码器中的是来自输入句子的一个单词。然后,使用当前...

11得票4回答
使用自定义X和Y数据训练TFBertForSequenceClassification

我正在处理一个文本分类问题,尝试使用huggingface-transformers库中提供的TFBertForSequenceClassification模型进行训练。 我按照它们在GitHub页面上给出的示例进行操作,可以使用tensorflow_datasets.load('glue/...

11得票2回答
张量a的大小(707)必须在第1个非单例维度上与张量b的大小(512)匹配。

我正在尝试使用预训练的BERT模型进行文本分类。我已经在我的数据集上训练了模型,并且在测试阶段,我知道BERT只能处理512个标记。因此,我编写了一个if条件来检查数据框中测试语句的长度。如果长度超过512,我将该句子拆分成每个序列512个标记的序列。然后进行tokenizer编码。序列的长度...

11得票2回答
如何从头开始在新领域上为MLM和NSP训练BERT?

我正在使用HuggingFace库从头开始训练BERT模型,使用自己的数据集。我希望以与原始BERT模型完全相同的方式训练模型。 在原始论文中,它指出:“BERT在两个任务上进行训练:预测随机掩码标记(MLM)和预测两个句子是否相互跟随(NSP)。 SCIBERT遵循与BERT相同的架构,但...