bert下游_原来你是这样的BERT,i了i了! —— 超详细BERT介绍(三)BERT下游任务...

原来你是这样的BERT,i了i了! —— 超详细BERT介绍(三)BERT下游任务

BERT(Bidirectional Encoder Representations from Transformers)是谷歌在2018年10月推出的深度语言表示模型。

一经推出便席卷整个NLP领域,带来了革命性的进步。

从此,无数英雄好汉竞相投身于这场追剧(芝麻街)运动。

只听得这边G家110亿,那边M家又1750亿,真是好不热闹!

然而大家真的了解BERT的具体构造,以及使用细节吗?

本文就带大家来细品一下。

前言

本系列文章分成三篇介绍BERT,上两篇分别介绍了BERT主模型的结构及其组件相关和BERT预训练相关,这一篇是最终话,介绍如何将BERT应用到不同的下游任务。

文章中的一些缩写:NLP(natural language processing)自然语言处理;CV(computer vision)计算机视觉;DL(deep learning)深度学习;NLP&DL 自然语言处理和深度学习的交叉领域;CV&DL 计算机视觉和深度学习的交叉领域。

文章公式中的向量均为行向量,矩阵或张量的形状均按照PyTorch的方式描述。

向量、矩阵或张量后的括号表示其形状。

本系列文章的代码均是基于transformers库(v2.11.0)的代码(基于Python语言、PyTorch框架)。

为便于理解,简化了原代码中不必要的部分,并保持主要功能等价。

阅读本系列文章需要一些背景知识,包括Word2Vec、LSTM、Transformer-Base、ELMo、GPT等,由于本文不想过于冗长(其实是懒),以及相信来看本文的读者们也都是冲着BERT来的,所以这部分内容还请读者们自行学习。

本文假设读者们均已有相关背景知识。

目录

序列分类任务就是输入一个序列,输出整个序列的标签。

输入的序列可以是单句也可以是双句。

单句序列分类任务就是文本分类(text classification)任务,包括主题(topic)、情感(sentiment)、垃圾邮件(spam)等的分类任务;双句序列分类任务包括相似度(similarity)、释义(paraphrase)、蕴含(entailment)等的分类任务。

根据标签数量分,可以分成单标签和多标签(multi-label)的分类任务。

根据标签的类别数量分,可以分成二分类或三分类、五分类等多分类任务。

BERT中的序列分类任务包括单句和双句的单标签回归或分类任务,涉及到语言可接受性(linguistic acceptability)、情感、相似度、释义、蕴含等特征的分类,即GLUE(General Language Understanding Evaluation)中的任务。

如下为一个相似度回归任务的例子(来自transformers库的示例):

5.000A plane is taking off. ||| An air plane is taking off.

3.800A man is playing a large flute. ||| A man is playing a flute.

3.800A man is spreading shreded cheese on a pizza. ||| A man is spreading shredded cheese on an uncooked pizza.

其中,最左边的是标签,表示两句话的相似度分数,分数越高,相似度越高,分数的取值范围是\([0, 5]\)。

再如下为一个双句释义二分类任务的例子(来自transformers库的示例):

1He said the foodservice pie business ... ||| The foodservice pie business ...

0Magnarelli said Racicot hated ... ||| His wife said he was ...

0The dollar was at 116.92 yen against the yen ... ||| The dollar was at 116.78 yen JPY ...

其中,最左边的是标签,如果后句是前句的释义,即解释说明,那么标签为1,否则为0。

序列分类代码如下:

代码

# BERT之序列分类

class BertForSeqCls(BertPreTrainedModel):

def __init__(self, config):

super().__init__(config)

self.config = config

# 标签

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值