Datawhale-NLP入门-打卡1
本次打卡基于Stanford CS224N 2019Winter课程,主讲人Manning。
想看视频的同学建议用:B站链接,博主爱可可的较多,因而弹幕也会多一些,单开英文字幕(中文字幕机翻一塌糊涂),结合弹幕大佬的难词翻译,基本上能跟上。ppt、notes及代码作业官网(官网链接)可下载,不能翻墙的同学网上找找也可以轻松找到。
其它重要学习资料
公众号:夕小瑶的卖萌屋
知乎文章:[NLP] 秒懂词向量Word2vec的本质
Coursera课程:618才上线的全新入门课程
Lec 1:Introduction and Word Vectors
第一讲最重要的就是word2vec,至于其它NLP的历史,简单了解即可。
Motivation
要对文本进行处理,首先得将非结构化数据的文本转化为结构化数据,再让计算机做进一步处理,比较直接的想法是将文本词汇编码为整数,但这一编码方式隐含的序数关系是实际不存在的,而且并没有充分表征文本的信息。
人们想到用One-hot编码的方式,但是这一方式虽然解决了隐含序数关系的问题,但是因为向量之间两两正交,实际上也并没有表示出不同词汇之间的关系。
word vector(word embedding,word representation)就是为了充分表征文本信息所设计的一类模型。
虽然在2018年之后,这类模型已经被全面替代,但是它的思想还是值得学习。
Models
将文本转换成向量的word2vec有两类基本模型。
1.CBOW
通过上下文来预测当前值。相当于一句话中扣掉一个词,让你猜这个词是什么。类似于英语中的“完形填空”。
2.Skip-gram
用当前词来预测上下文。相当于给你一个词,让你猜前面和后面可能出现什么词。
3.模型优化
此外,为了提高速度,word2vec 经常采用 2 种加速方式:
- Negative Sample(负采样)
- Hierarchical Softmax
Pros&cons
1.优点:
- 由于 word2vec 会考虑上下文,跟之前的 embedding 方法相比,效果要更好(但不如 18 年之后的方法)
- 比之前的embedding方法维度更少,所以速度更快
- 通用性很强,可以用在各种 NLP 任务中 word2vec在相似度计算上效果不错
2.缺点:
- 由于词和向量是一对一的关系,所以多义词的问题无法解决。
- Word2vec 是一种静态的方式,虽然通用性强,但是无法针对特定任务做动态优化
- 无法处理Out of vocabulary(OOV)words