- TfIdf
TfIdf向量化是基于TF-IDF算法的一种文本向量化方法;TF-IDF全称:term frequency–inverse document frequency,词频-逆向文件频率,其主要思想是:如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
- TfIdf-Decomp
TfIdf-Decomp是基于TfIdf的向量化方法的变种;通过对初始TfIdf向量进行奇异值分解 (SVD) ,并截断,对初始向量进行线性降维,可以有效地处理稀疏矩阵。
- Bert
Bert是一种以多层Attention-based Transformer层堆叠的语言模型结构,并在大规模语料数据上训练字词语义关系的表示能力。基于Bert预训练模型的文本向量化方法支持四种模型输出层池化方式,分别为first-last-avg:取模型第一层和最后一层输出取平均,作为文本向量;last-avg:取模型最后一层输出平均;cls: 直接取模型CLS Token输出;pooler:取模型CLS Token输出,做tanh变换作为输出。支持上述全部Bert系列算法,如Bert-base, Albert, Roberta, FinBERT等模型类型;相较于TfIdf向量化可更好得表达文本的语义特征,缺点是转化性能相对较慢;
- RoBERTa
RoBERTa属于BERT的强化版本,在模型规模、算力和数据上,与BERT相比主要有几点改进:更大的模型参数量;更大bacth size;更多的训练数据;在训练方法上有以下改进:去掉NSP任务;动态掩码;文本编码:Byte-Pair Encoding(BPE)是字符级和词级别表征的混合,支持处理自然语言语料库中的众多常见词汇;
- ERINE
Enhanced Representation through Knowledge Integration,ERINE是百度发布一个预训练模型,它通过引入三种级别的Knowledge Masking帮助模型学习语言知识,在多项任务上超越了BERT。ERNIE将Knowledge分成了三个类别:token级别(Basic-Level)、短语级别(Phrase-Level) 和 实体级别(Entity-Level)。通过对这三个级别的对象进行Masking,提高模型对字词、短语的知识理解。
- Albert
Albert在Bert基础上,加入3点优化:1-Embedding矩阵分解;2-跨层参数共享;3-替换NSP任务为SOP任务;
- SimBert
SimBert是以Bert模型为基础,基于微软的UniLM思想设计的融检索与生成于一体的任务,来进一步微调后得到的模型;基于UniLM思想的训练方式,使得Simbert不仅和Bert一样,拥有表征文本句子本身语义特征的能力,还可以表征句子上下文语义相似性的能力,使得其同时适用于相似文本检索场景和相似文本生成场景;文本向量化方式同Bert一样,支持以上四种向量输出方式。
- Bert-Whitening
Bert-Whitening仍是以Bert模型为基础的文本向量化方法。首先取Bert向量化结果,后针对Bert向量化语义相似性任务中表现欠佳的现象,为了保证余弦相似度效果合理,把向量转化为向量坐标系为标准正交基的向量。结合标准正态分布的均值为0、协方差矩阵为单位阵原理,将句向量的均值变换为0、协方差矩阵变换为单位阵,对初始向量进行线性转换。同时BERT-whitening还支持降维操作,能达到提速又提效的效果降维的效果。文本向量化方式同Bert一样,支持以上四种向量输出方式。
- Bert-flow
Bert向量化对文本进行编码的向量存在各向异性,向量值会受文本中词在所有训练语料里的词频影响,导致高频词编码的句向量距离更近,更集中在原点附近。这会导致即使一个高频词和一个低频词的语义是等价的,但词频的差异也会带来很大的距离偏差,从而词向量的距离就不能很好地代表语义相关性。和人判断句子的语义不受词频影响也不符合,所以需要修正句子的向量分布。Bert-flow针对该问题,通过Bert生成的句向量输入到flow模型中,对句向量进行修正,在一定程度上提升了句向量语义相似度的表征能力;
- SimCSE
SimCSE是基于对比学习的算法框架,可支持有监督和无监督两种训练模式。针对无监督数据,通过将一句话分两次过同一个模型,但使用两种不同的dropout,这样得到的两个句向量作为模型的正例,而同一个batch中的其他句向量作为负例。SimCSE通过这种简单但有效的数据构造正负例数据方式,进行训练,通过对比学习,以拉近相似数据的距离,拉远不相似数据的距离为目标,更好地学习数据的表征,使得其在文本匹配任务中产生更好的效果;
- ESimCSE
ESimCSE是针对上述SimCSE的一个优化版框架;在无监督训练中,SimCSE通过dropout构建的正例对包含相同长度的信息,这会使模型倾向于认为相同或相似长度的句子在语义上更相似。ESimCSE调整构建正例对的方式,通过简单有效的“Word Repetition”数据增强方式,在不改变文本语义前提下,改变正例对句子的长度,有效缓解前述SimCSE的缺陷。并且ESimCSE还通过Momentum Contrast(动量对比学习)扩展负样本对的构建,鼓励模型进行更精细的学习,保证在合适的batch_size的前提下,得到较好的结构,对性能更友好;