Bert遇到文本分类:如何用好Bert这把刀

2020 年 12 月 3 日 深度学习自然语言处理

来自:NLP从入门到放弃

今天分享的论文主要是讲Bert如何在文本分类上获得比较好的效果,比较简单:How to Fine-Tune BERT for Text Classification?[1]:不涉及什么复杂公式,也比较早了,里面很多东西对于当下已经司空见惯,我就直接就分享论文结论,攒个思路。

1. 如何处理长文本

我比较感兴趣的是一点是Bert处理长文本的思路。

首先数据集是IMDB,文本分类任务,超过512个token的12.69%,最大长度为3045;

1.1 截断方法:

  1. 保留头部:保留头部最开始的510个tokens
  2. 保留尾部:保留最后的610个tokens
  3. 头部加尾部:头部128+尾部382

1.2 分层的方法:

简单来说就是把文本分为 k = L/510个小段落,每个都喂进去Bert,然后得到的K个【CLS】的输出向量,我们对这个K个向量做:

  1. mean pooling
  2. max pooling
  3. self-attention

直接看结果:

Bert处理长文本

看结果,我们知道,头部加尾部会获得更好的结果。

2. 其他结论

  1. BERT 顶层对于文本分类任务更加有效
  2. 每层适当的逐层降低学习速率,可以提高文本分类效果
  3. 任务内和领域内(和任务内数据分布相似)的进一步预训练可以提升文本分类效果

对于第二点,降低学习率来说,论文中是从顶层到底层逐渐降低,越靠近输出学习率越高,越靠近输入层,学习率越低,这一点还是挺有意思的。

对于第三点,任务内数据和领域内数据,对提升效果都有用,通用领域基本没啥用,因为Bert本来就是在通用领域训练的。

还有意思的一点是,并不是在任务内的数据训练的越多step越好,直接看图:

领域内数据进一步预训练

也就是说,在任务领域数据预训练可以提升效果,但是也有注意预训练的步数,不能是过分(有点过拟合的感觉,但是感觉说过拟合有点不准确)。

3. 总结

掌握以下几点:

  1. 如何处理长文本:head/tail/combine two
  2. 不同层不同学习率提升效果,越靠近输入层学习率应该越低
  3. 领域内和任务内数据进一步预训练提升效果: 注意进一步预训练步数控制

参考资料

[1]

How to Fine-Tune BERT for Text Classification?: https://arxiv.org/abs/1905.05583,

登录查看更多
1

相关内容

文本分类(Text Classification)任务是根据给定文档的内容或主题,自动分配预先定义的类别标签。
【NeurIPS 2020】融入BERT到并行序列模型
专知会员服务
25+阅读 · 2020年10月15日
【ICML2020】统一预训练伪掩码语言模型
专知会员服务
25+阅读 · 2020年7月23日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
【Google论文】ALBERT:自我监督学习语言表达的精简BERT
专知会员服务
22+阅读 · 2019年11月4日
绝对干货!NLP预训练模型:从transformer到albert
新智元
13+阅读 · 2019年11月10日
面试题:预训练方法 BERT和OpenAI GPT有什么区别?
七月在线实验室
15+阅读 · 2019年5月15日
BERT-预训练的强大
微信AI
60+阅读 · 2019年3月7日
3分钟看懂史上最强NLP模型BERT
机器学习算法与Python学习
7+阅读 · 2019年2月27日
如何用最强模型BERT做NLP迁移学习?
AI100
3+阅读 · 2019年2月3日
博客 | 谷歌最强 NLP 模型 BERT 解读
AI研习社
4+阅读 · 2018年10月28日
谷歌最强 NLP 模型 BERT 解读
雷锋网
7+阅读 · 2018年10月23日
解读谷歌最强NLP模型BERT:模型、数据和训练
未来产业促进会
5+阅读 · 2018年10月20日
Arxiv
3+阅读 · 2019年9月5日
Arxiv
4+阅读 · 2019年9月5日
Arxiv
6+阅读 · 2019年8月22日
How to Fine-Tune BERT for Text Classification?
Arxiv
13+阅读 · 2019年5月14日
VIP会员
相关VIP内容
【NeurIPS 2020】融入BERT到并行序列模型
专知会员服务
25+阅读 · 2020年10月15日
【ICML2020】统一预训练伪掩码语言模型
专知会员服务
25+阅读 · 2020年7月23日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
【Google论文】ALBERT:自我监督学习语言表达的精简BERT
专知会员服务
22+阅读 · 2019年11月4日
相关资讯
绝对干货!NLP预训练模型:从transformer到albert
新智元
13+阅读 · 2019年11月10日
面试题:预训练方法 BERT和OpenAI GPT有什么区别?
七月在线实验室
15+阅读 · 2019年5月15日
BERT-预训练的强大
微信AI
60+阅读 · 2019年3月7日
3分钟看懂史上最强NLP模型BERT
机器学习算法与Python学习
7+阅读 · 2019年2月27日
如何用最强模型BERT做NLP迁移学习?
AI100
3+阅读 · 2019年2月3日
博客 | 谷歌最强 NLP 模型 BERT 解读
AI研习社
4+阅读 · 2018年10月28日
谷歌最强 NLP 模型 BERT 解读
雷锋网
7+阅读 · 2018年10月23日
解读谷歌最强NLP模型BERT:模型、数据和训练
未来产业促进会
5+阅读 · 2018年10月20日
Top
微信扫码咨询专知VIP会员