1.1 Bert模型
Bert模型是一种预训练模型,是Google以无监督的方式利用大量无标注文本训练得到的语言模型。以Transformer的Encode为基础,通常堆叠12或24个Encoder模块。Bert模型能够有效利用上下文的语义信息,并且有效克服了自回归模型在训练时只能看到上文的信息,但对下文内容却一无所知的缺点。
其中Bert模型的输入层是由两个句子构成,两个句子之间通过[SEP]符号隔开,并且在输入层的首尾分别加标识符[CLS],隔开符[SEP] 。对于句子中的每个字符,Bert有三种不同的嵌入操作。Token Embeddings是字向量,第一个字符是CLS符号,传统的Bert模型直接使融入上下文语义信息的CLS的字向量做文本分类任务。Segmentation Embeddings用来区别两个句子,因为预训练任务中模型的输入有两个句子,给两个句子不同的Embeddings,是为了更好的预测它们之间的关系。Position Embeddings主要为了克服在Self-Attention中字符失去位置信息的缺点。