1、one-hot
在one-hot里面每一个token用一个长度为N向量表示,N表示的是词典的数据量。(不重复的词数量)
缺点:维度太高,用稀疏向量表示文本。
2、word embedding
使用float的矩阵来表示token,根据词典的大小,通常向量采用不同的维度,向量中初始化的每一个值都是一个超参数,在训练之后来不断的学习。矩阵的就是m*n(m就是词典的大小,n就是一个初始化给定的一个维度)
文本向量化的过程中,我们是先把分词toekn先用数字进行表示,在把数字用向量来表示。
上述图二就是单词 word embedding的过程。
3、pytorch里面的APi介绍
### 3.1 思考
思考:每一个batch中的每一个句子都有10个词语,经过形状为[20,4]的word embedding之后,原来的句子的形状变为什么形状?
每个词语用长度为4的向量表示,所以句子最终变为[batch_szie,10,4]的形状。增加了一个维度,这个维度就是embedding 的dim。
NLP学习的小白,后续会更新NLP更多的知识和分析案例。