bert中最大处理序列长度超过512的处理策略

导读:由于bert文本长度最大为512,因此当文本超过512时,需要改进bert。本文就此改进进行阐述。
针对长度超过512的文本,可以应用如下转换策略(预留[CLS]和[SEP]):
(1)head-only:前510tokens
(2)tail-only:后510tokens;
(3)head+tail:根据经验选择前128和382tokens
(4)分段:首先将输入文本(长度为L)分成k = L/510个小段落,将它们依次输入BERT得到k个文本段落的表示。每个段落的representation是最后一层[CLS]的hidden state,并分别使用mean pooling, max pooling and self-attention来合并所有段落的representation。
bert中最大处理序列长度超过512的处理策略_第1张图片
上表中可以看出,第三种模式准确率较高,可能重要信息恰巧集中在头和尾部。
《NLP高频考点汇总》
01、Python基础:GIL锁、进程阻塞与非阻塞方法、列表表达式、装饰器、最小堆

02、统计机器学习基础:逻辑回归、交叉熵的推导、梯度下降与导数、坐标下降法、岭回归 Ridge与lasso回归、过拟合与欠拟合

03、经典机器学习模型:

3.1 生成模型——朴素贝叶斯NB、隐马尔可夫HMM

3.2 判别模型——SVM(对偶问题)、逻辑回归LR、条件随机场 CRF

04、评价指标:精确率P,召回率R,F1 score(Macro与Micro)、TPR、FPR、混淆矩阵、AUC、ROC

05、损失函数:交叉熵、sigmoid与softmax、折页损失函数Hinge loss

06、深度学习基础:Batch Normalization、RNN、LSTM、Attention

07、激活函数:Sigmoid、tanh、Relu、Gelu等

08、优化器算法:SGD、Monetum、AdaGrad、AdaGrad、AdaDelta、Adam

09、序列模型的解码方法:Beam Search、贪心算法、维特比Viterbi

10、NLP预训练模型:Word2Vec、ELMO、Attention、BERT、XLNet

11、NLP子任务:NER、情感分类、机器翻译、问答机器人

每日一题:
Q1:又到了一学期一次的大学生期末考试。但很多人期末考试的卷面成绩是不能及格的,需要靠较高的平时成绩来拖上去。平时成绩与期末考试的占比已经确定,假设平时成绩占比为p,期末考试占比为q,平时分为a,期末考试分数为b,则总成绩为(pa+qb)/100。(平时分与期末成绩都是整数,但总成绩可以是小数。)饶老师心肠特别好,他希望自己的学生及格率尽可能的高。但他也坚持期末考试分数更高的学生平时成绩也一定要更高。饶老师想知道在这种情况下,他们班的最大及格人数是多少(及格是指总成绩不低于60分)。
作者:keboom
链接:https://www.nowcoder.com/discuss/723939?type=2&order=0&pos=3&page=3&source_id=discuss_tag_nctrack&channel=-1
来源:牛客网

输入样例1

2 50 50

50 50

输出样例1

2

输入样例2

2 20 80

51 50

输出样例2

1

样例1中,两名同学,考试分数相同,平时分可以分配为100 100,两人都能及格。

样例2中,两名同学,第一位同学因为考试成绩高于第二位同学,故平时分也需要高于第二位同学;假设第一位同学平时分为100分,第二位同学最高只能得到99分的平时分,无论如何都无法及格。

过了100%,对输入的学生排序,从后往前遍历,如果学生及格,count++,如果学生不及格,结束遍历,输出count

import java.util.Arrays;
import java.util.Scanner;

/**
 

你可能感兴趣的:(NLP,bert,自然语言处理,python)