SCIBERT论文阅读(预训练语言模型 - 科学文本)

这篇具有很好参考价值的文章主要介绍了SCIBERT论文阅读(预训练语言模型 - 科学文本)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【论文基本信息】
标题:SCIBERT: A Pretrained Language Model for Scientific Text
来源:EMNLP 2019(CCF推荐国际学术会议-人工智能-B类)
作者:Allen Institute for Artificial Intelligence, Seattle
原文:https://arxiv.org/abs/1903.10676

报告时间:2022年11月

0 摘要

为科学领域的自然语言处理任务获取大规模带标注的数据是一件具有挑战性且代价高昂的事情。我们发布了SCIBERT,这是一个基于BERT的预训练语言模型,以解决缺乏大规模、高质量、带标签的科学数据的问题。SCIBERT利用在大型多领域科学出版物上的无监督预训练来提高下游科学NLP任务的性能。我们评估了一系列任务,包括序列标记、句子分类和依赖分析,数据集来自多个科学领域。我们在统计上证明了BERT的显著改进,并在其中几个任务上取得了最先进的结果。代码和预训练模型地址:https://github.com/allenai/scibert/

1 介绍

随着NLP进入BERT时代,通过在大型语料库上对语言模型进行无监督预训练,NLP任务的性能得到显著提升。

虽然 BERT 发布了预训练模型,但它仍在接受一般领域语料库的训练,例如新闻文章和维基百科。

在本文中,作者发布了 SCIBERT。这是一种新资源,可以提高科学领域中一系列 NLP 任务的性能。 SCIBERT 是基于BERT的预训练语言模型,且在大量科学文本上进行了训练。

作者进行了广泛的实验,以研究在 固定嵌入(frozen embedding) 上微调以及使用任务特定架构的效果,以及拥有 领域内的(in-domain) 词汇表的效果。

固定嵌入:在本文中是一个与微调后的嵌入相对的的概念。作者以嵌入是否微调为变量进行了对比实验。

作者在科学领域的一组任务上评估 SCIBERT,并在其中的许多任务上取得了 最先进的(state of the art,SOTA) 结果。

2 方法

2.1 背景

SCIBERT 使用与 BERT 相同的架构,但在科学文本上进行了预训练。

2.2 词汇表

BERT 使用 WordPiece 进行输入文本的无监督标记化。

  • BERT发布的原始词汇表称为BaseVocab
  • 使用 SentencePiece 在科学语料库上构建了 SciVocab,这是一个新的 WordPiece 词汇表。
  • 同时生成大小写和非大小写词汇,并将词汇大小设置为 30K 以匹配 BaseVocab的大小。

结果显示: BaseVocab和SciVocab之间的标记重叠率为 42%。这说明:科学和一般领域文本之间的常用词存在显着差异

2.3 语料库

  • 在Semantic Scholar语料库的 114 万篇论文的随机样本上训练 SCIBERT。
  • 该语料库包含计算机科学领域的论文(占18%)和广泛生物医学领域的论文(占82%)。
  • 使用论文的全文,而不仅仅是摘要。
  • 平均论文长度为 154 个句子(2,769 个词元)。
  • 语料库大小为 3.17B 词元,这与训练 BERT 时的 3.3B 词元相近
  • 使用 ScispaCy 进行分句, 它针对科学文本进行了优化

3 实验设置

3.1 任务

作者对以下核心 NLP 任务进行了实验:

  1. 命名实体识别(Named Entity Recognition,NER)
  2. PICO提取(PICO Extraction,PICO)
  3. 文本分类(Text Classification,CLS)
  4. 关系分类(Relation Classification,REL)
  5. 依赖解析(Dependency Parsing,DEP)

3.2 数据集

  • EBM-NLP 标注了临床试验摘要中的 PICO span。
  • SciERC 标注了来自计算机科学摘要的实体和关系。
  • ACL-ARCSciCite 为科学论文中引用了其他论文的句子分配意图标签。意图包括:比较、扩展等。
  • Paper Field 数据集基于 Microsoft Academic Graph 并将论文标题映射到 7 个研究领域之一。这七个研究领域是:地理、政治、经济学、商业、社会学、医学和心理学。每个研究领域都有大约 12,000 个训练样本。

3.3 预训练的 BERT 变体

BERT-Base

  • 使用随原始 BERT 代码一起发布的 BERT-Base 的预训练权重
  • 词汇表是BaseVocab。
  • 评估了这个模型的大小写敏感和不敏感版本。

SCIBERT

  • 使用原始的 BERT 代码在作者自己的语料库上训练 SCIBERT,其配置和大小与 BERT-Base 相同。
  • 根据2个条件的不同训练了 4个不同版本的 SCIBERT:(i) 大小写敏感或不敏感 (ii) BaseVocab或 SciVocab。
  • 使用 BaseVocab 的两个模型是从相应的 BERT-Base 模型中微调而来的。
  • 使用 SciVocab 的两个模型是从头开始训练的。
  • 使用长句预训练 BERT 可能会很慢。按照原始 BERT 代码,将最大句子长度设置为 128 个词元,并训练模型直到训练损失停止减少。然后,继续训练句子长度最多有512 个词元的模型。
  • 使用具有 8 个内核的单个 TPU v3。在作者自己的语料库上从头开始训练SciVocab 模型需要 1 周时间 (最大长度 128的用了5天,最大长度 512的用了2天)。 BaseVocab 模型的训练时间减少了 2 天,因为它们不是从头开始训练的。
  • 使用 pytorch-transformers 库将所有预训练的 BERT 模型转换为与 PyTorch 兼容。
  • 3.4 和 3.5 节的所有模型使用 AllenNLP 在 PyTorch 中实现。

大小写区分

  • 仿照前人,将大小写敏感模型用于NER,将大小写不敏感模型用于其他任务。
  • 此外,还使用大小写敏感模型进行解析

一些轻量级的实验表明,大小写不敏感模型的性能略好于大小写敏感模型(甚至有时对于 NER 也是如此)。

3.4 微调BERT

  • 大体上遵循前人[Devlin等人(2019)]使用的架构、优化和超参数选择。
  • 一个小的不同点:使用了额外的条件随机域(conditional random field),它通过保证实体格式良好,来使评估变得更为容易。
  • 对于 DEP,使用具有大小为 100 的依赖标记和弧嵌入。
  • 对于 BERT 向量,使用仿射(biaffine)矩阵注意力,而不是堆叠(stacked) BiLSTM
  • dropout:0.1
  • 使用 Adam。
  • batch size:32。
  • 学习率:5e-6、1e-5、2e-5 或 5e-5 。
  • 使用倾斜的三角形调度,这相当于先线性预热后线性衰减。
  • 对于每个数据集和 BERT 变体,选择开发集上的最佳学习率和 epoch 数并报告相应的测试结果。

作者发现,在大多数数据集和模型中效果最好的设置是: 2 或 4 个 epoch,2e-5 的学习率。

虽然最优超参数是与任务相关的(task-dependent),但每个任务的最佳超参数在 BERT 变体中通常是相同的

3.5 固定BERT嵌入

作者还探索了将 BERT 用作预训练的上下文化词嵌入,例如 ELMo,通过在固定的BERT 嵌入上训练简单的特定于任务的模型。

对于文本分类,作者将 BERT 向量的每个句子输入到大小为 200 的 2 层 BiLSTM 中,并在连接的第一个和最后一个 BiLSTM 向量上应用一个多层感知器(隐藏大小为 200)。对于序列标记,作者使用相同的 BiLSTM 层并使用条件随机域来保证格式良好的预测。对于 DEP,作者使用完整的模型,它具有大小为 100 的依赖标记和弧嵌入以及与其他任务相同的 BiLSTM 设置。作者没有发现改变 BiLSTM 的深度或大小会显著地影响结果。

作者使用 Adam 优化交叉熵损失,但保持 BERT 权重固定并应用 0.5 的 dropout。作者使用 32 的批大小和 0.001 的学习率在开发集上提前停止训练(耐心 10)。

作者没有执行广泛的超参数搜索,然而,虽然最佳超参数取决于任务,一些轻量级的实验表明,这些设置在大多数任务和 BERT 变体中都能很好地工作。

4 结果

SCIBERT论文阅读(预训练语言模型 - 科学文本),论文阅读,nlp,语言模型,论文阅读
如上图所示:

  • SCIBERT 在科学任务上的表现优于 BERT-Base(有微调时多了2.11 F1,没微调时多了2.43 F1) 。
  • SCIBERT 还在其中许多任务上取得了最先进的结果。

4.1 生物医学领域

  • SCIBERT 在生物医学任务上的表现优于 BERTBase(有微调时多了1.92 F1,有微调时多了3.59 F1)。
  • 此外,SCIBERT 在 BC5CDR、ChemProt和EBM-NLP 上也取得了最先进的结果。
  • SCIBERT 在 3 个数据集上的表现略逊于最先进的:JNLPBA 、NCBI 疾病、GENIA。

在下表中 ,作者将 SCIBERT 结果与 BIOBERT 比较。

SCIBERT论文阅读(预训练语言模型 - 科学文本),论文阅读,nlp,语言模型,论文阅读

  • SCIBERT 在BC5CDR和ChemProt上的表现优于 BIOBERT 的结果,在JNLPBA上的表现相似。

4.2 计算机科学领域

如下图所示:

  • SCIBERT 在计算机科学任务上的表现优于 BERTBase(有微调时多了3.55 F1,无微调时多了1.13 F1)。
  • 此外,SCIBERT 在 ACL-ARC 和SciERC的NER部分取得了最先进的结果。

SCIBERT论文阅读(预训练语言模型 - 科学文本),论文阅读,nlp,语言模型,论文阅读

4.3 多领域

如上图所示:

  • 在多域任务中,SCIBERT优于BERTBase(有微调的+0.49 F1和没有微调的+0.93 F1)。
  • 此外,SCIBERT在SciCite方面的表现优于最先进的结果。

5 讨论

5.1 微调的效果

SCIBERT论文阅读(预训练语言模型 - 科学文本),论文阅读,nlp,语言模型,论文阅读
如上图所示:

  • 在 BERT 微调上观察到了改进结果(SCIBERT 平均 +3.25 F1 和 BERT-Base +3.58),在固定嵌入之上的特定于任务的架构上没有观察到改进结果。

  • 对于每个科学领域,微调对计算机科学(SCIB-ERT +5.59 F1 和 BERT-Base +3.17 F1)和生物医学任务(SCIBERT +2.94 F1 和 BERT-Base +4.61 F1)的影响最大,对多域任务的影响最小(SCIBERT +0.7 F1 和 BERT-Base +1.14 F1)。

  • 在除 BC5CDR 和 SciCite 之外的每个数据集上,带有微调的 BERT-Base 都优于(或类似于)使用固定 SCIBERT 嵌入的模型。

5.2 SciVocab的作用

  • 通过使用 BaseVocab 重复 SCIBERT 的微调实验来评估域内科学词汇的重要性。
  • 作者发现: SCIBERT-BaseVocab 的最佳超参数通常与 SCIBERT-SciVocab 的超参数一致。
  • 在使用 SciVocab 时观察到 +0.60 F1的平均值(在所有数据集上)。对于每一个科学领域,观察到生物医学任务为 +0.76 F1,计算机科学任务为 +0.61 F1,多域任务为 +0.11 F1。

鉴于词汇表的低相交度(第2节)以及对 BERT-Base 的改进幅度(第 4 节),作者怀疑:虽然领域内词汇很有帮助,但 SCIBERT 从科学语料库的预训练中获益最多

6 结论和未来工作

  • 发布了 SCIBERT,这是一种基于 BERT 的科学文本预训练语言模型
  • 在一组来自科学领域的任务和数据集上评估了 SCIBERT。
  • SCIBERT 明显优于 BERT-Base,并在其中几个任务上取得了最先进的结果,甚至在生物医学任务上与一些 BIOBERT 的结果相比也是如此。

在未来,作者将发布一个类似于 BERT-Large 的 SCIBERT 版本,并尝试使用来自每个领域的不同比例的论文。

因为这些语言模型的训练成本很高,所以作者的目标是构建一个跨多个领域有用的单一资源文章来源地址https://www.toymoban.com/news/detail-736664.html

到了这里,关于SCIBERT论文阅读(预训练语言模型 - 科学文本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 论文阅读_训练大模型用于角色扮演

    论文的目标是使用模型来模拟具体的人物角色,这个想法很有意思,有点类似于反思过程的逆向操作。反思的过程是从具体到抽象,我们根据生活中的具体场景和事件进行思考,通过层层抽象最终形成对一个人的理解。而角色扮演则相反,例如模拟一个历史人物,首先从维基

    2024年01月15日
    浏览(36)
  • 【自然语言处理(NLP)】基于ERNIE语言模型的文本语义匹配

    作者简介 :在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会(TIPCC)志愿者,以及编程爱好者,期待和大家一起学习,一起进步~ . 博客主页 : ぃ灵彧が的学习日志

    2024年02月10日
    浏览(47)
  • 自然语言处理 Paddle NLP - 预训练语言模型及应用

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月08日
    浏览(64)
  • 【NLP】1、BERT | 双向 transformer 预训练语言模型

    论文:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 出处:Google 在 BERT 之前的语言模型如 GPT 都是单向的模型,但 BERT 认为虽然单向(从左到右预测)预测任务符合语言模型的建模过程,但对一些语言理解任务不太友好,因为要理解一句话说的是什么意思的话

    2024年02月12日
    浏览(35)
  • 2023年!自然语言处理(NLP)10 大预训练模型

    来源: AINLPer 公众号 (每日干货分享!!) 编辑: ShuYini 校稿: ShuYini 时间: 2022-10-23 语言模型是构建NLP应用程序的关键。现在人们普遍相信基于预训练模型来构建NLP语言模型是切实有效的方法。随着疫情阴霾的散去,相信NLP技术会继续渗透到众多行业中。在此过程中,肯定有很

    2024年02月16日
    浏览(44)
  • 【NLP】哪些现成的“已预先训练的语言模型”可以使用

            预先训练的通用语言表示模型有着如此悠久的历史,具有巨大的影响,我们理所当然地认为它们是所有NLP任务的完全100%必要基础。有两个独立的步进函数创新推动了所有NLP任务的准确性:(1)统计语言模型,如Word2Vec和GloVe,以及最近的(2)神经语言模型,如B

    2024年02月13日
    浏览(26)
  • 自然语言处理 Paddle NLP - 基于预训练模型完成实体关系抽取

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月10日
    浏览(36)
  • 【自然语言处理NLP】Bert预训练模型、Bert上搭建CNN、LSTM模型的输入、输出详解

    Bert模型的输入 context 张量需要满足以下要求: 张量形状: context 应为二维张量,形状为 [batch_size, sequence_length] ,其中 batch_size 是输入样本的批量大小, sequence_length 是输入序列的长度。 数据类型: context 的数据类型应为整数类型,如 torch.LongTensor 。 值范围: context 中的值应

    2024年02月11日
    浏览(31)
  • 遥感图像多模态检索AMFMN(支持关键词、句子对图像的检索)论文阅读、环境搭建、模型测试、模型训练

    1、摘要背景 遥感跨模态文本图像检索以其灵活的输入和高效的查询等优点受到了广泛的关注。然而, 传统的方法忽略了遥感图像多尺度和目标冗余的特点,导致检索精度下降 。为了解决遥感多模态检索任务中的多尺度稀缺性和目标冗余问题,提出了一种新的 非对称多模态

    2024年03月17日
    浏览(41)
  • 自然语言处理实战9-大语言模型的训练与文本生成过程

    大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目9-大语言模型的训练与文本生成过程,详细步骤介绍。大语言模型的训练是通过深度学习技术实现的。首先,需要准备一个庞大的文本数据集作为训练样本,这些文本可以是网页、书籍、新闻等大量的非结构化文

    2024年02月07日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包