浅析Word2Vec

本文深入探讨Word2Vec模型,包括Skip-Gram和CBOW模型,重点讲解Hierarchical Softmax和Negative Sampling两种加速策略,以及如何在预处理阶段使用Subsampling Frequent Words。通过对模型细节的分析,揭示词向量如何捕捉单词之间的语义关系。
摘要由CSDN通过智能技术生成

1 预备内容

1.1 NLP任务

NLP的目标是设计算法让计算机去理解自然语言并去解决某些问题。

所有NLP任务德第一步,就是如何将单词表示为模型的输入。为了使得大多数NLP任务表现良好,我们首先需要能够用向量表示单词的相似性和差异性。有了这些词向量,我们可以简单的用向量自身的能力来计算相似性(如Jaccard, cos等)

1.2 Distributional Semantics

A word’s meaning is given by the words that frequently appear close-by.

J. R. Firth 在1957年指出:“You shall know a word by the company it keeps”

1.3 one-hot向量

将每个单词表示成大小为 ∣ V ∣ × 1 |V| \times 1 V×1的向量,该向量只有一个位置为1,其余都为0。其中为1的位置表示该向量在排序后的字典中的索引值。下图是一个例子:
one-hot向量示例
这种使用one-hot向量来表示词向量的优点是简单,但是最大的缺点,就是无法表示单词之间的相似性。如上所示的例子, ( w a ) T ⋅ w z e b r a = 0 (w^{a})^T \cdot w^{zebra} = 0 (wa)Twzebra=0

1.4 softmax函数

s o f t m a x ( x i ) = e x p ( x i ) ∑ j = 1 n e x p ( x j ) = p i softmax(x_i)=\frac {exp(x_i)} {\sum_{j=1}^n exp(x_j)} = p_i softmax(xi)=j=1nexp(xj)exp(xi)=pi
softmax函数将任意值 x i x_i xi映射为概率 p i p_i pi,并保证归一化保证和为1。

  • max: 放大了最大值 x i x_i xi的概率
  • soft: 仍为最小值 x i x_i xi分配概率

2 浅析Word2Vec

2.1 概述

我们训练一个只有一层隐层的简单神经网络来完成该任务,但是我们对模型的最终输出并不感兴趣,而是专注于隐层的权重矩阵——这些权重就是我们所要学习的词向量。

有了词向量,我们可以用代数来计算相似度问题。问题如下:我们已知国王和男性是一组词,女王和女性是一组词。现在我们想让计算机完成这样的推理过程。

我们可以计算向量 X = v e c t o r ( ′ k i n g ′ ) − v e c t o r ( ′ m a n ′ ) + v e c t o r ( ′ w o m a n ′ ) X = vector('king') - vector('man') + vector('woman') X=vector(king)vector(man

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值