word2vec
word2vec是一个工具,背后的模型是CBOW或者Skip-gram,并且使用了Hierarchical Softmax或者Negative Sampling这些训练的优化方法。
GloVe
1、首先根据语料库创建一个共现矩阵,其中每一个元素代表单词和上下文词再特定的上下文窗口内共同出现的次数,并且GloVe还提供了decreasing weighting,就是基于两个词在上下文窗口中的距离d,去给一个权重1/d,也就是距离远的两个词,占总计数的权重就小;
2、构建词向量和共现矩阵之间的近似关系;
Transformer Architecture
大多数有效地处理序列的模型是基于encoder-decoder架构,给定序列x,经过encoder编码成隐藏向量z,再通过decoder每个时间步去生成序列y。Transformer通过encoder和decoder中都使用堆叠的self-attention和point-wise和全连接层,来延续这样的整体结构;
bert
整个bert分为两步,pre-training和fine-tuning,在pre-training部分,不同的pre-training任务中在未标记数据上及逆行训练,在fine-tuning部分,模型先使用pre-trained的参数初始化,然后在下游不同任务中可以由不同的fine-tuned模型。
最后的input embedding,是三部分向量相加,单词本身是Token embedding,单词归属信息的segment embedding,位置信息的position embeddings,这里的位置信息,前面说Transform提到过,有两种方法,(1)自己训练;(2)自己编码;