自然语言词向量模型:Glove和Bert

自然语言预训练模型:Glove和Bert

    • 1. 词向量模型
    • 2. Glove
    • bert模型
    • bert模型的使用
    • 参考资料

1. 词向量模型

词向量模型包括:word2vec、glove、fastText、elmo、GPT和bert、xlnet等。
这里面有些是“一揽子”表示的词向量模型,如word2vec、glove,是用一个固定的向量来表示一个具体的token(单词)。这样的好处是简单且易于使用,预训练完词向量之后可以直接通过查“词典”来使用,但是缺点也很明显,比如一词多义怎么办?一个token只有一个固定的向量。
另一些则是需要在句子中才能将词向量具体化,比如bert和xlnet。这样词向量就不是一个具体的词向量了,在不同的语境中一个单词可以有不同的意思。缺点是比较消耗资源,太贵。

2. Glove

Glove的用法和word2vec相似,可以直接从网站上下载Glove已经训练好的“词典”,也可以单独训练自己的语料库。glove官方的训练代码是c语言写的,用起来也不难,不需要懂很多c语言的知识,训练完成后再用其他语言进行调用就行,因为“查词典”的解决方案还是很easy的。
glove的理解分为两步(共现矩阵、尽量靠近共现矩阵的词向量表示公式):
自然语言词向量模型:Glove和Bert_第1张图片
自然语言词向量模型:Glove和Bert_第2张图片

bert模型

bert模型是 transformer 模型里的多个 encoder 堆叠而成 ,通过预测15%的MASK来达到无监督训练的目的。bert模型比较复杂,由于编者水平有限,难以在一篇博文中把想要表达的知识点全都讲完,因此提供了一个系统性理解 bert 模型的思路步骤,希望能帮到大家理解 bert,以及更新的 xlnet 模型:
1)seq2seq with attention
2)Transformer
3)bert

bert模型的使用

基本上90%以上的人都只使用fine-tuning,因为pre-trained实在是太消耗资源了。
自然语言词向量模型:Glove和Bert_第3张图片
自然语言词向量模型:Glove和Bert_第4张图片
自然语言词向量模型:Glove和Bert_第5张图片

参考资料

https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/
https://jalammar.github.io/illustrated-transformer/
https://jalammar.github.io/illustrated-bert/

你可能感兴趣的:(算法,bert,自然语言处理,glove,bert,自然语言处理,词向量)