1.词向量平均法做分类的优劣势是什么
优势
- 词向量平均的方法做分类模型,主要的优势是模型简单
- 有参数模型,无参数模型都可以尝试使用,模型选择大
- 模型速度极快,训练的参数量少
- 在语句少的场景下,效果好
劣势
- 在语句长的长的场景下,效果会变的很差
- 语句长,分出的词多,词越多,信息量越杂,简单的做平均的话,重要的词的信息会在平均的过程中极大的被消弱,从而分类效果差
2.词向量的基础上如何做优化
- 映入一个新的向量,做attention,此向量专门对重要的,和标签相关的词敏感。从而通过加权平均的方式,得到的句向量只包含重要词的信息,忽略不重要的词的信息,从而加强模型的效果。
- 使用self-attention, 尝试对语句里词的分布做重新的调整,提高模型的学习能力
- 使用Transformer encoder或者bert来做学习
硬核好课,限时1分钱秒杀>>Transformer与Bert特训4 - 七月在线
3.Bert模型和Transformer模型之间的关系
- Transformer模型有encoder和decoder
- Bert其实就是Transformer的encoder的部分
- Transformer只是一个空模型,里面的参数都是随机的,需要在下游任务上做有监督的训练,由于参数量大,直接使用Transformer做训练,模型难收敛,并且速度慢
- Bert其实是预训练好的Transformer的encoder部分,也就是已经在海量的数据集上做了Transformer的参数的训练了,其参数可以保存下来,直接拿来在下游任务上使用,做调优。
4.Bert模型中有哪些预训练的任务
- 首先是MLM任务,masked language model。随机的mask掉一些词,从而基于上下文,通过attention的方法来训练,来预测mask的词。
- NSP任务,Next Sentence Prediction任务。通过CLS的来进行二分类,查看当前两个句子是否是上下文。词任务的有效性在各大论文中也是有争议的,有的说这个任务有用,有的说这个任务没用。
5.Bert模型的做句向量的缺陷
- 直接使用Bert做句向量的输出,会发现所有的句向量两两相似度都很高。
- 因为对于句子来说,大多数的句子都是使用常见的词组成的
- Bert的词向量空间是非凸的,大量的常见的词向量都是在0点附近,从而计算出的句子向量,都很相似
6.如何解决Bert句向量的缺陷
- 使用双卡的形式,将两个句子传入两个参数共享的Bert模型,将两个句向量做拼接,进行有监督的学习,从而调整Bert参数。此方法叫sentencebert。
- 使用无监督或者有监督的对比学习,将同一个句子传入相同的bert(dropout = 0.3)得到标签为正例的一个句子对。通过这种方式来做Bert的微调整,得到SimCSE模型。