nlp - 如何在未标记的数据上微调 BERT?

标签 nlp pytorch huggingface-transformers bert-language-model

我想在特定域上微调 BERT。我在文本文件中有该域的文本。我如何使用这些来微调 BERT?
我在找 here目前。

我的主要目标是使用 BERT 获得句子嵌入。

最佳答案

这里要做出的重要区别是您是否想要 微调您的模型,或者您是否想将其公开给其他 预训练 .
前者只是一种训练 BERT 以适应特定监督任务的方法,为此您通常需要 1000 个或更多样本 包括标签 .
另一方面,预训练基本上是试图帮助 BERT 更好地“理解”来自某个领域的数据,通过基本上继续其无监督的训练目标([MASK] 特定单词并尝试预测应该在那里出现什么单词),为此您不需要标记数据。
但是,如果您的最终目标是句子嵌入,我强烈建议您查看 Sentence Transformers ,它基于 Huggingface 的转换器库的一个稍微过时的版本,但主要尝试生成高质量的嵌入。请注意,有一些方法可以使用替代损失进行训练,您可以尝试模拟与嵌入相关的某种形式的损失。
编辑: Sentence-Transformers 的作者最近加入了 Huggingface,所以我希望在接下来的几个月里支持会有很大的改善!

关于nlp - 如何在未标记的数据上微调 BERT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61962710/

相关文章:

python - 如果字符串与列表中的字符串匹配,如何从句子中删除字符串

nlp - 关于潜在狄利克雷分配(MALLET)的问题

tokenize - 有没有办法获取 BERT 中生成某个 token 的子字符串的位置?

huggingface-transformers - 如何知道HuggingFace的管道文本输入是否超过512个 token

machine-learning - 艾伯特不收敛 - HuggingFace

python - 如何在 Windows 上为 RASA NLU 安装 MITIE NLP?

machine-learning - 情感分析/分类任务中二进制与 tfidf Ngram 特征的比较?

python - Tensorboard (PyTorch) add_graph 中的错误

python - PyTorch - 使用 torchvision.datasets.ImageFolder 的标签不正确

pytorch - .bin 和 .pt pytorch 保存的模型类型有什么区别?