3.1 ONE - HOT(Bag-of-word)
缺点显而易见,一是 onehot 编码向量维度将会很高,二是 onehot 编码并不能体现语义信息。
3.2 N-Gram(统计语言模型)
相较于 ONE - HOT 考虑了词序。
3.3 GloVe(基于所有语料)
基于统计的获取词向量的方法,基本思想是:用 一个词语周边其他词语出现的次数(或者说两个词共同出现的次数)来表示每一个词语 ,此时 每个词向量的维度等于词库容量,每一维存储着词库对应序号的词语出现在当前词语周围的次数,所有这些词向量组成的矩阵就是 共现矩阵。
3.4 NNLM(神经网络语言模型)
NNLM 本身不产生词向量,NNLM 的主要任务是要学习一个解决语言模型任务的网络结构,语言模型就是要看到上文预测下文,而 Word Embedding只是 NNLM 无心插柳的一个副产品;但是 Word2Vec 目标不一样,它单纯就是要 Word Embedding 的,这是主产品,所以它完全可以随性地这么去训练网络。
3.5 Word2Vec
CBOW(Continuous Bag-of-Words 连续词袋) 和 Skip-gram 分别用 上下文预测中心词 和 中心词预测上下文 注意采用负采样减少梯度下降复杂度。
3.6 ELMo (BiLSTM)
得到的词向量包含前后文信息, 但LSTM是串行机制,训练时间长,相比于Transformer,LSTM提取特征的能力还是不够,依然存在梯度消失,梯度爆炸。