当前位置:   article > 正文

吴恩达《深度学习-序列模型》2 -- 自然语言处理与词嵌入_吴恩达自然语言处理

吴恩达自然语言处理

1. Word representation词汇表征

Word embeddings词嵌入

让算法自动理解同类词。
之前我们将对词的表示用的是one-shot,这种方法简单,这种表示方法的一个缺点就是,它把每个词都孤立起来了,使得其对相关词的泛化能力不强,因为任意两个one-shot向量内积都为0 ,也就是任意两个词间的距离是一样的,没有词类的概念。
举个例子,若已经学习了I want a glass of orange juice“”很可能是一个句子,但再看到“I want a glass of apple __”的时候,因为不知道orange和Apple的相近关系,所以很难从已经学习到的句子学习到 orange juice和Apple juice都是和常见的词组

词的特征化的表示:
就是列举所有可能的特征,用这些特征的值来表示一个词。
这里写图片描述
如果学习了300维的特征,然后表示到2D空间可视化显示,可以看出如下效果:
这里写图片描述
类似的词距离比较近,不同类的词距离比较远。

2. Using word embeddings

以人名实体识别为例,给出一句话:Sally Johnson is an orange farmer。我们知道Sally Johnson应该是一个人名而不是公司名之类的,因为farmer必须为一个人。如果用一个基于词嵌入训练的模型,遇到另外一句Robert Lin is an apple farmer,因为知道橘子和苹果属于一类,那么就很容易推断出Robert Lin也是一个人名,一个比较有意思的情况,如果遇到很少见的词如Robert Lin is a durian cultivator,durian cultivator这两个词都是比较少见的,如果训练集里面没有这两个词,那么预测就会很困难,但是如果有一个学习好的词嵌入,它告诉我们durian属于水果,cultivator和farmer属于一类,那么就很容易能够判断出Robert Lin是一个人名。
词嵌入能达到这样的效果,是因为学习词嵌入的算法通常会考察非常大量的无标签文本库,如1亿甚至百亿单词,其来源可以是互联网文本,通常也是可以免费下载的,所以可以利用迁移学习使用词嵌入。

基于词嵌入的迁移学习

(1)从一个很大的文本集中学习词嵌入或从网上下载学习好的词嵌入;
(2)将学习好的词嵌入应用到只有小量带标签的训练集的新任务当中;
(3)可选步,决定是否根据新任务的训练集对词嵌入进行微调,当新任务的训练集较小的时候,不推荐花费精力调整词嵌入。
迁移学习对于训练集较小的任务比较有意义,所以目前词嵌入广泛应用于NLP,如名称识别、文本摘要、文本解析、parsing等标准的NLP任务,在语言模型、机器翻译等领域应用较少,因为这些任务中有大量的数据。

词嵌入Word embadding和人脸编码face encoding

Word embadding学习的是词的编码,而face encoding学习的是人脸或图像的编码,术语embedding和encoding是可以互换的,那么区别在哪里呢?
不同:
face encoding学习的编码/特征没有范围限定,也就是预先不需要设置编码,所以任何输入都能学习他的编码;
Word embadding则有一个固定的词汇表,所以学习的编码也是固定的。

3. Properties of word embedding词嵌入的特性

词嵌入可以帮助实现类比推理。
这里写图片描述
上图是用词嵌入学习特征表示的几个词,man如果对应woman,那么king对应谁?如何让算法学习到这种推理关系?
(1)用编码向量表示各个词eman,ewoman,eking,equeen...,注意man(5391)中5391标示的是man这个词在词汇表中的位置,向量是man的特征编码;

eman=[1,0.01,0.03,0.09]T

(2)通过编码向量找到与 ekingeman+ewoman相似性最高的词,也就是所找词 ew计算方法如下:
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/809143
推荐阅读
相关标签
  

闽ICP备14008679号