赞
踩
样本不均衡问题就是指在做文本分类时发现,训练数据中的样本类别分布差异极大,有的类别占比超过90%,有的类别占比连0.01%都不到。
由于模型训练的本质是最小化损失函数,当某个类别的样本数量非常庞大,损失函数的值大部分被样本数量较大的类别所影响,导致的结果就是模型分类会倾向于样本量较大的类别。
基于BERT的文本分类模型就是在原始的BERT模型后再加上一个分类层即可
BERT 的输入可以包含一个句子对 (句子 A 和句子 B),也可以是单个句子。此外还增加了一些有特殊作用的标志位:
[CLS] 标志放在第一个句子的首位,经过 BERT 得到的的表征向量 C 可以用于后续的分类任务。[CLS]就是classification的意思,可以理解为用于下游的分类任务。对于文本分类任务,BERT模型在文本前插入一个[CLS]符号,并将该符号对应的输出向量作为整篇文本的语义表示,用于文本分类。可以理解为:与文本中已有的其它字/词相比,这个无明显语义信息的符号会更“公平”地融合文本中各个字/词的语义信息。
[SEP] 标志用于分开两个输入句子,例如输入句子 A 和 B,要在句子 A、B 之间增加 [SEP] 标志。
[UNK]标志指的是未知字符
[MASK] 标志用于遮盖句子中的一些单词,将单词用 [MASK] 遮盖之后,再利用 BERT 输出的 [MASK] 向量预测单词是什么。
一般我们就用训练集出一个模型,然后可以在其他的代码里读取这个模型来使用。其他的代码就是所谓的下游任务(比如·什么分类、NER什么的)。BERT只是出一个词向量,这个向量不接任务你也看不出什么东西。这种分开训的就叫pipeline,如果bert和下游任务一起训就叫end-to-end
参考文献:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。