word2vec:基于层级 softmax 和负采样的 CBOW

今天我们来看一下 word2vec,它是自然语言处理中非常重要的概念,是一种用语言模型做词嵌入的算法,目的就是将文字转化为更有意义的向量,进而可以让深度神经网络等模型更好地理解文本数据。

词嵌入

词嵌入(Word Embeddings)就是将文本转化为数字表示,转化成数值向量后才能传递给机器学习等模型进行后续的训练和运算,并应用于情感分析文档分类等诸多任务中。

词嵌入的方法主要有两大类:基于传统频数统计的词嵌入,和基于预测算法的词嵌入。

其中传统的词嵌入方法有:

  1. 计数向量
  2. TF-IDF 向量
  3. 共现矩阵
  4. One-hot 向量

1. 计数向量

就是统计每个单词在各个文档里出现的次数。例如我们有 N 个文档,这些文档里的不重复的单词组成了一个字典,然后构建一个矩阵,矩阵的每一行代表每个文档,每一列代表字典里的每个单词,矩阵的数值是每个单词在各文档里出现的次数,最后每一列就构成了这个词的向量表示:

word2vec:基于层级 softmax 和负采样的 CBOW_第1张图片

2. TF-IDF 向量

在每个文档中有一些单词对理解文档起着很重要的作用,而有一些词例如特别常见的冠词等几乎在每个文档中都存在,这些词对理解文档的意义并不大,所以需要放大有意义的词的作用,减少常用词的影响,TF-IDF(Term Frequency–Inverse Document Frequency)就是一种这样的方法。

例如我们有这样一个例子

你可能感兴趣的:(自然语言处理面试基础)