提交 f05298cc 编写于 作者: C cx123cx456

Lecture 1

上级 bc70fbb2
**CS224N笔记(一):自然语言处理(NLP)简介**
**WordNet(分类词典)的缺点:**
不能准确识别同义词之间的细微差别。
对词语的理解不够精确(单词的词义不能及时更新,WordNet资源也不完整)。
主观性太强(只有固定的离散同义词集)。
耗费大量的人力资源进行标注,来构建 。
难以准确计算字词之间的相似性。
One-hot vectors:
![](media/d3737e074d0d735dae202cbddb31623f.png)
列如:
[猫,狗,鸡,鸭,汽车旅馆,鸟,骆驼,酒店],对这个数组进行编码之后;
Motel(汽车旅馆)对应的编码应是:
Motel=[0,0,0,0,1,0,0,0];
同理,Hotel(酒店)对应的编码应是:
Hotel=[0,0,0,0,0,0,0,1];
在上面汽车旅馆和酒店的意思是相似,但是对Motel=[0,0,0,0,1,0,0,0]与Hotel=[0,0,0,0,0,0,0,1]内积为0,也就是完全不相关;所以这种方式并不能表示出这种关系。
![](media/26cef4d801bc54c1939a7e0cc8f734aa.png)
由于ONE-Hot满足不了相关性,(J.R.Firth)提出了Distributional
semantics(分布式语义):单词的意思,应该结合它的上下文来确定的;现代统计NLP成功的理念之一。
e:
用‘banking’许多的上下文来构建它的意思:
![](media/d2b95dae5dedcbc90fad260cbc1da976.png)
**词向量:**
将选择的每个单词构建了密集的向量,为了更好的预测上下文的意思:
![](media/40677ebb4b091966d2f8e550b4ca6d30.png)
‘banking’对应的维度是8;每一个单词都有一个向量维度,所有单词在一起将会有一个向量空间。
![](media/90138e84ea3b961732b0d5e70e032f4a.png)
向量中的每个单词具有不同的基础;
Word2vec:是一个学习单词向量的框架。
![](media/756020be8c51e4f89a721f20dca825bd.png)
想法;
我们有大量的文本。
固定词汇表中的每一个单词都由一个向量表示
遍历文本中每一个位置,其中有一个中心词C与外部词O。
用单词的向量的相似性来计算O与C的相同(或想反)的概率。
不断的调整单词向量,使概率值最大化。
用迭代来实现这个算法,要确定一个单词的意思,要结合上下文的意思来确定,我们要遍历文本中的每个位置,通过移动单词向量来实现;重复10亿次之后,得到了好的结果;
计算过程:
![](media/4275e279e6d646246334a84434ebf9dd.png)
目标函数(损失函数或成本函数):
![](media/939133082e8b9ec6e39ac058a84e8cdd.png)
对于给定的数据集T,固定了窗口的大小(每个面几个字),给定中心单词Wj;
模型的概率
![](media/1ed8e2c6f59f03f227a0a96783bee07c.png)
最小化目标函数==最大化概率值;
![](media/86f7fdf808b1a7958f0fa3c15c413ab1.png)
这个模型中,唯一的一个参数就是我们给定的一个变量;
![](media/f6ee3acc5c552202abf5a7bd033cbbe2.png)
最小化损失函数;
将每个单词使用俩个向量:当W是中心词是,当W是上下文词时;
然后是中心词C与上下文词O;
e:
定义一个某个单词的上下文模型:
> P(context\|Wt)=.....
定义损失函数:
> J=1-P(Wt+j\|Wt)(Wt+j与Wt为上下文)
如果预测结果正确,目标函数为0;
在词料库中的不同位置来训练,调整词向量,最小化目标函数:
比如:我喜欢打篮球,也喜欢打羽毛球。
当出现“打篮球”时,预测出现“打羽毛球”的可能性;概率模型为:
> P(打羽毛球\|打篮球)(也就是在“打篮球”的条件下“打羽毛球”的概率)
目标函数:
> J=1-p(W\|打篮球)
如果w=“打羽毛球”,概率为1,目标函数为0。
![](media/2f999b6467c4c018c0306069f60b3625.png)
分子是:通过点积来计算O与C的相似性;分母是对整个词汇表进行标准化后给出的概率分布;
这是一个SOFEMAX函数R\^N——R\^n的例子:
![](media/a1d0273bc4309db805739d88a64fbc92.png)
在SOFTMAX函数中:
“max”是将一些大的概率表示为最大的概率Xi;
“soft”是将一些小的概率表示为更小的概率Xj;
经常用于深度学习;
**通过优化训练参数训练模型:**
为了更好的训练模型,调整参数使目标函数最小化;
也就是用梯度下降来找到最优点;
![](media/8b5e9d716ea43a7b82695a73ad497674.png)
**计算所有向量维度:**
在D维向量与V维向量中,有许多单词:
![](media/0f678a32a897d8a7cbdd958b5e73047a.png)
每个单词都有俩个向量;沿着这个梯度进行优化;
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册