Lecture 01 : Introduction and Word Vectors

Lecture 01 : Introduction and Word Vectors

slides 链接1 链接2

note 链接

vedio 链接

1.词的表示

1.1 WordNet

  • missing nuance 无法表示细微的差别
  • missing new meaning of words
  • Subjective
  • 人力
  • 无法计算相似性

1.2 Onehot

  • 维度高
  • There is no natural notion of similarity for one-hot vectors! 任何两个词都是正交的,没有计算相似性的方法。

解决方法: learn to encode similarity in the vectors themselves 学习在向量本身中编码相似性

1.3 Word vectors

word vectors\word embeddings\word representations :distributed representation

Distributional semantics : A word’s meaning is given by the words that frequently appear close-by

2.SVD Based Methods

首先在一个大的数据集中循环计算共现矩阵X,然后对X进行奇异值分解得到 U S V T USV^T USVT,然后用U的行代表词的词向量。

2.1 Word-Document Matrix

word i i i 出现在document j j j 中: X i j X_{ij} Xij 这个矩阵很大 R ∣ v ∣ ∗ M R^{|v|*M} RvM,因为M非常大

2.2 Window based Co-occurrence Matrix

计算每个单词在一个特定大小的窗口中出现的次数

2.3 Applying SVD to the cooccurrence matrix

得到 X = U S V T X=USV^T X=USVT,根据所捕获的期望方差百分比,在某个指数k处将它们截断.

∑ i = 1 k σ i ∑ i = 1 ∣ V ∣ σ i \frac{\sum_{i=1}^k \sigma _i}{\sum_{i=1}^{|V|} \sigma_i} i=1Vσii=1kσi

U 1 : ∣ V ∣ , 1 : k U_{1:|V|,1:k} U1:V,1:k 是我们的词向量矩阵。

很难用在大型文档

3.Iteration Based Methods - Word2vec

不需要全局信息,而是不断迭代,一次学习一次迭代。按照一定的目标训练模型。在每个迭代中,我们运行我们的模型,评估错误,并遵循一个更新规则,最终学习到词向量。

  • Go through each position t in the text, which has a center word
    c and context (“outside”) words o

  • Use the similarity of the word vectors for c and o to calculate
    the probability of o given c (or vice versa) 需要再理解 根据c和o
    的相似性计算给定c得到o的概率或者相反。

  • Keep adjusting the word vectors to maximize this probability

两种算法:

  1. Skip-grams (SG)

Predict context (”outside”) words (position independent) given centerword

  1. Continuous Bag of Words (CBOW)

Predict center word from (bag of) context words

训练方法
1、Negative sampling
2、hierarchical softmax

3.1 Continuous Bag of Words Mode(CBOW)

V 、 U V、U VU分别是输入、输出词向量矩阵

steps

  1. 对上下文大小为m的生成 one hot词向量: ( x ( c − m ) , . . . , x ( c + m ) ∈ R ∣ V ∣ ) (x^{(c-m)},...,x^{(c+m)}\in R^{|V|}) (x(cm),...,x(c+m)RV)

  2. one hot词向量依次与V相乘的到词嵌入

  3. 得到平均向量 v ^ = v c − m + . . . + v c + m 2 m \hat v=\frac{v_{c-m}+...+v_{c+m}}{2m} v^=2mvcm+...+vc+m

  4. 生成分数向量 z = U v ^ ∈ R ∣ V ∣ z=U\hat v \in R^{|V|} z=Uv^RV

  5. 将分数转化为概率 y ^ = s o f t m a x ( z ) ∈ R ∣ V ∣ \hat y=softmax(z) \in R^{|V|} y^=softmax(z)RV

  6. 希望 y ^ \hat y y^匹配 y y y y y y也是一个one hot 向量。

然后我们需要一个度量 y 和 y ^ y和\hat y yy^距离的函数,我们采用cross entropy

H ( y ^ , y ) = − ∑ j = 1 ∣ V ∣ y j log ⁡ ( y ^ j ) H(\hat y,y)=-\sum_{j=1}^{|V|}y_j\log(\hat y_j) H(y^,y)=j=1Vyjlog(y^j)

所以:

m i n i m i z e J = − log ⁡ P ( w c ∣ w c − m , . . . , w c + m ) = − log ⁡ P ( u c ∣ v ^ ) = − log ⁡ e x p ( u c T ) ∑ j = 1 ∣ V ∣ e x p ( u j T v ^ ) = − u c T v ^ + log ⁡ ∑ j = 1 ∣ V ∣ e x p ( u j T v ^ ) minimize J = -\log P(w_c|w_{c-m},...,w_{c+m}) \\ = -\log P(u_c|\hat v)\\ =-\log \frac{exp(u_c^T)}{\sum_{j=1}^{|V|}exp(u_j^T\hat v)}\\ =-u_c^T\hat v+\log \sum_{j=1}^{|V|}exp(u_j^T\hat v) minimizeJ=logP(wcwcm,...,wc+m)=logP(ucv^)=logj=1Vexp(ujTv^)exp(ucT)=ucTv^+logj=1Vexp(ujTv^)

3.2 Skip-Gram Model

中心词预测上下文,“跳转为上下文”,(Here we callthe word “jumped” the context)

steps:

  1. 生成中心词的one hot 向量 x ∈ R ∣ V ∣ x\in R^{|V|} xRV

  2. 生成中心词的词嵌入 v c = V x ∈ R n v_c=Vx \in R^n vc=VxRn

  3. 生成分数向量 z = U v c z=Uv_c z=Uvc

  4. 转为概率 y ^ = s o f t m a x ( z ) \hat y=softmax(z) y^=softmax(z)

5.希望 y 与 y ^ y与\hat y yy^相近

然后需要有一个目标函数,我们用贝叶斯的假设条件,给定中心字,所有输出字都是完全独立的。

所以:

m i n i m i z e J = − log ⁡ P ( w c − m , . . . , w c + m ∣ w c ) = − log ⁡ ∏ j = 0 , j ≠ m 2 m P ( u c − m + j ∣ v c ) = − log ⁡ ∏ j = 0 , j ≠ m 2 m e x p ( u c − m + j T v c ) ∑ k = 1 ∣ V ∣ e x p ( u k T v c ) − ∑ j = 0 , j ≠ m 2 m u c − m + j T v c + 2 m log ⁡ ∑ k = 1 ∣ V ∣ e x p ( u k T v c ) minimize J=-\log P(w_{c-m},...,w_{c+m}|w_c)\\ =-\log \prod_{j=0,j\neq m}^{2m}P(u_{c-m+j}|v_c)\\ =-\log \prod_{j=0,j\neq m}^{2m}\frac{exp(u_{c-m+j}^T v_c)}{\sum{k=1}{|V|}exp(u_k^T v_c)}\\ -\sum_{j=0,j\neq m}{2m}u_{c-m+j}^{T}v_c+2m\log\sum_{k=1}^{|V|}exp(u_k^Tv_c) minimizeJ=logP(wcm,...,wc+mwc)=logj=0,j=m2mP(ucm+jvc)=logj=0,j=m2mk=1Vexp(ukTvc)exp(ucm+jTvc)j=0,j=m2mucm+jTvc+2mlogk=1Vexp(ukTvc)

3.3 Negative Sampling

观察上面两个模型的目标函数,每一次迭代都要在 ∣ V ∣ |V| V量的数据上计算,十分耗费时间。所以不在整个数据上计算,我们只采样在一个噪声分布 P n ( w ) P_n(w) Pn(w)进行负样本,其概率分布与词汇表频率的排序相匹配。

假设word and context ( w , c ) (w,c) (w,c), P ( D = 1 ∣ w , c ) 、 P ( D = 0 ∣ w , c ) P(D=1|w,c)、P(D=0|w,c) P(D=1w,c)P(D=0w,c)分别表示w与c是正样本和负样本。

假设w c是正样本的概率为:

P ( D = 1 ∣ w , c , θ ) = σ ( v c T v w ) = 1 1 + e ( − v c T v w ) P(D=1|w,c,\theta)=\sigma(v_c^T v_w)=\frac{1}{1+e^{(-v_c^T v_w)}} P(D=1w,c,θ)=σ(vcTvw)=1+e(vcTvw)1

重新定义目标函数:

在这里插入图片描述
在这里插入图片描述
对于skip-gram:
在这里插入图片描述

对于CBOW:
在这里插入图片描述

{ u ^ k ∣ k = 1 , . . . , K } \{\hat u_k|k=1,...,K\} {u^kk=1,...,K}是从 P n ( w ) P_n(w) Pn(w)中采样的。那么 P n ( w ) P_n(w) Pn(w)是什么样的呢?

what seems to work best isthe Unigram Model raised to the power of 3/4.为什么是3/4呢?

在这里插入图片描述

3.4 Hierarchical Softmax

在实际应用中,对于不常用的词,Hierarchical Softmax的效果较好,而对于常用的词和低维向量,负采样效果较好。

树每个叶子节点表示一个词,

In this model, the probability of a word w given a vector wi,P(w|wi), is equal to the probability of a random walk starting in the root and ending in the leaf node corresponding to w. cost is O ( log ⁡ ∣ V ∣ ) O(\log|V|) O(logV)

L ( w ) L(w) L(w) : the number of nodes in the path from the root to the leaf w

n ( w , i ) n(w,i) n(w,i) : the i-th node on this path with associated vector V n ( w , i ) V_{n(w,i)} Vn(w,i) n ( w , 1 ) n(w,1) n(w,1) 是根节点, n ( w , L ( w ) ) n(w,L(w)) n(w,L(w))是w的父亲节点。

对于每一个内部节点 inner node n,我们选择一个孩子节点ch(n)(always the left node)

所以概率为:

在这里插入图片描述

并且保证了
σ ( v n T v w i ) + σ ( − v n T v w i ) = 1 \sigma(v_n^T v_{w_i})+\sigma(-v_n^T v_{w_i})=1 σ(vnTvwi)+σ(vnTvwi)=1
∑ w = 1 ∣ V ∣ P ( w ∣ w i ) = 1 \sum_{w=1}^{|V|}P(w|w_i)=1 w=1VP(wwi)=1

To train the model, our goal is still to minimize the negative loglikelihood−logP(w|wi). But instead of updating output vectors per word, we update the vectors of the nodes in the binary tree that arein the path from root to leaf node.
The speed of this method is determined by the way in which the binary tree is constructed and words are assigned to leaf nodes.Mikolov et al. use a binary Huffman tree, which assigns frequentwords shorter paths in the tree.

3.5 objective function

likelihood:

L ( θ ) = ∏ t = 1 T ∏ − m ≤ j ≤ m ; j ≠ 0 P ( w t + j ∣ w t ; θ ) L(\theta)=\prod_{t=1}^T\prod_{-m\leq j\leq m;j\neq 0}P(w_{t+j}|w_t;\theta) L(θ)=t=1Tmjm;j=0P(wt+jwt;θ)

objective function J ( θ ) J(\theta) J(θ)

J ( θ ) = − 1 T log ⁡ L ( θ ) J(\theta)=-\frac{1}{T}\log{L(\theta)} J(θ)=T1logL(θ)

最小化目标函数就是最大化预测概率

v w v_w vw :w is a center word
u w u_w uw :w is a context word

P ( o ∣ c ) = e x p ( u o T v c ) ∑ w ∈ V e x p ( u w T v c ) P(o|c)=\frac{exp(u_o^T v_c)}{\sum_{w\in V} exp(u_w^T v_c)} P(oc)=wVexp(uwTvc)exp(uoTvc)

  • Exponentiation makes anything positive 幂运算使值为正
  • every word has two vectors v和u向量

理解:在 w t + j 和 w t w_{t+j}和w_t wt+jwt知道时 P ( w t + j ∣ w t ; θ ) P(w_{t+j}|w_t;\theta) P(wt+jwt;θ)代表已知的这种结果不同的参数 θ \theta θ发生这种结果的概率,使乘积最大就是最大可能的参数。 P ( ) P() P()是我们假设的概率分布模型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值