NLP自然语言处理学习笔记(一)Word Embedding词嵌入

NLP自然语言处理学习笔记(一)Word Embedding词嵌入

  • 一、word embedding的概念
  • 二、word embedding的使用
  • 三、word embedding的性质
  • 四、词嵌入矩阵
  • 五、学习词嵌入矩阵

本文是根据吴恩达教授的教学视频来整理的学习笔记,部分图片来源于视频的截图。原教学视频连接 https://mooc.study.163.com/learn/2001280005?tid=2001391038#/learn/content

一、word embedding的概念

在one-hot编码中,不能反映词语之间的相似度。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第1张图片

因此提出word embedding的概念。语义相近的词语,向量之间的距离也很近。如下图,苹果和橙子之间的距离很接近,女王和橙子的距离就比较远。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第2张图片

Word embedding的可视化:采用t-SNE算法,可以将word embedding后得到的高维(如300维)向量转化到二维的空间上,便于可视化观察。如下图,表示男人、女人、皇、女王的四个词都是人类,比较接近,聚成一堆。而苹果、橙子、葡萄都是水果,聚成另外一堆。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第3张图片

二、word embedding的使用

在实体识别的例子中,需要识别出人名。算法已经能达到,当输入是第一句话(橙子)的时候,把人名识别出来。那么,如果采用word embedding后,即使榴莲是一个很少出现的词,但算法知道这是水果,和橙子很相似,因此也能准确地把人名识别出来。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第4张图片

迁移学习(tranfer learning)的主要流程如下:
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第5张图片

人脸识别的例子中,将人脸编码为128维的向量,叫做encoding。图像识别领域的encoding和NLP领域的embbedding的含义非常相似,但也有细微的差别。差别在于,人脸识别,输入任意一张人脸(以前从没见过的一张脸),都可以encoding成一个128维的向量。但是word embedding不能对没见过的词进行嵌入,词嵌入输入的字典中含有10000个词,那么就只是对这10000个词的嵌入,不包括新词的嵌入。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第6张图片

三、word embedding的性质

word embedding能够很好地应用于类比推理。

下图中,man-women与king-queen非常接近。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第7张图片

下图中的sim是相似度similarity的缩写。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第8张图片

余弦相似度:
吴恩达教授表示,在词嵌入部分,用余弦表示相似度要比用平方距离来表示相似度要更好一些。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第9张图片

四、词嵌入矩阵

假设词汇表中有10000个单词,嵌入后的向量是300维,那么矩阵E的维度是300*10000,是我们需要学习出来的矩阵。 E j E_j Ej表示第j个单词词嵌入后的向量表示, o j o_j oj表示第j个单词词嵌入前的向量表示。(o代表one-hot)

用E乘上某个词的one-hot编码,得到的就是该词词嵌入后的向量表示。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第10张图片

五、学习词嵌入矩阵

问题:输入前四个词,预测下一个词是什么。
用这个问题来训练神经网络的模型,最终得到的神经网络的模型参数就是上一小节提到的词嵌入矩阵E。E是300*10000维度的。
因为苹果和橙子出现的句子结构很像,所以这种学习方式会倾向于让苹果和橙子有非常接近的向量表达。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第11张图片

如果你的目标是训练一个语言模型,那么采用前N个词来预测下一个词是效果比较好的。
如果你的目标不是训练一个语言模型,而只是学习词嵌入矩阵,那么只选用前一个词、选用附近的一个词、选用前四个词和后四个词,也能达到很好的效果。
NLP自然语言处理学习笔记(一)Word Embedding词嵌入_第12张图片

你可能感兴趣的:(NLP自然语言处理)