NLP基础1-词向量之序号化,One-Hot,BOW/TF,TF-IDF
NLP基础2-词向量之Word2Vec
NLP基础3-词向量之Word2Vec的Gensim实现
文章目录
一、Word Embedding
1. 什么是词嵌入,Word Embedding?
词嵌入是一种将词汇表中的单词或短语映射为固定长度向量的技术,通过词嵌入技术我们可以将 one-hot 编码表示的高维稀疏向量转为低维稠密的向量。
举例说明
我门将单词 “we” 用 one-hot 编码表示,维度为(1,N),其中 N 为词汇表大小
词嵌入层的维度大小为(N,V),其中 V 为嵌入层维度,通常为 100 左右
(1,N)* (N,V)= (1,V),该低维稠密的向量就可以表征单词 “we”
Note: 由于one-hot编码只在对应位置为1,其余位置均为0,这就类似于在词嵌入层中的查找某一行的向量,因此词嵌入层的每一行其实就是代表一个单词的特征信息
2. 词嵌入技术的优势:
- 相比上万维的 ont-hot 编码,词嵌入的效率更高并且更具有通用性,可以用在不同的NLP任务中;
- 可以理解单词与单词之间的语义信息,并进行词语推理,语义相似的词在向量空间上也会更相近;
3. 词嵌入的相关算法
- 基于矩阵分解的主题模型:LDA,NMF 等
- 基于神经网络的 Word2Vec:CBOW,Skip-Gram 等
二、Word2Vec 基本介绍
1. 两个算法:
continuous bag-of-words(CBOW) 和 Skip-gram
- CBOW 是根据上下文预测中心词
- Skip-gram 则相反,是根据中心词预测上下文
这两种方法训练得到的隐层参数即为词向量
2. 两个优化方法
- 负采样 (Negative Sampling)
- 层次 Softmax (Hierarchical Softmax)
相关论文:Mikolov et. al., 2013. Efficient estimation of word representations in vector space.