Word2Vec 学习

Word2Vec 算法背景

Word2Vec是Google公司于2013年发布的一个开源词向量工具包。该项目的算法理论参考了Bengio在2003年设计的神经网络语言模型。由于此神经网络模型使用了两次非线性变换,网络参数很多,训练缓慢,因此不适合大语料。Mikolov团队对其做了简化,实现了Word2Vec词向量模型。它简单、高效,特别适合从大规模、超大规模的语料中获取高精度的词向量表示。因此,项目一经发布就引起了业界的广泛重视,并在多种NLP任务中获得了良好的效果,成为NLP在语义相似度计算中的重大突破。Word2Vec及同类的词向量模型都基于如下假设:衡量两个词在语义上的相似性,决定于其邻居词分布是否类似。显然这是源于认知语言学中的“距离象似性”原理:词汇与其上下文构成了一个“象”。当从语料中训练出相同或相近的两个“象”时,无论这两个“象”的中心词汇在字面上是否一致,它们在语义上都是相似的。

自从Word2Vec框架发布之后,无论是在国外还是在国内,该框架都引起了巨大的反响。由于TomasMikolov在相关的论文中并没有谈及太多的算法细节,因此对许多NLP的研究人员来说,对该算法的研究一度成为重要的课题。经过两三年的研究,到目前为止,根据发布出来的研究成果,对相关理论的研究己经非常充分,在网络上可以很容易地找到。

词的向量化

词的向量化就是将语言中的词进行向量化,使得计算机能够进行计算。主要有两种表达方式
(1) one-hot
这是一种简单的表示方式,即用一个长度为字典的大小为长度的向量表示一个词,这个词是字典的第几个词,向量的第几维(即对应位置)就是1,其余为0。这种方式有两个缺点,一是向量是非常稀疏的。二是这种表达方式有信息丢失,无法计算词的相似度。
(2) Distributed representation (词向量)
词向量将词映射到一个低维、稠密的向量空间,使得词义越接近的单词在空间上的距离越近。
其基本想法是:通过训练将某种语言中的每一个词映射成一个固定长度的短向量(当然这里的“短"是相对于one-hot representation的“长”而言的),所有这些向量构成一个词向量空间,而每一向量则可视为该空间中的一个点,在这个空间上引人“距离",就可以根据词之间的距离来判断它们之间的(词法、语义上的)相似性了.word2vec中采用的就是这种Distributed Representation的词向量.

PCA(主成分表示)

https://blog.csdn.net/program_developer/article/details/80632779

降维
 降维就是一种对高维度特征数据预处理方法。降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。在实际的生产和应用中,降维在一定的信息损失范围内,可以为我们节省大量的时间和成本。降维也成为应用非常广泛的数据预处理方法。

降维具有如下一些优点:

  1. 使得数据集更易使用。

  2. 降低算法的计算开销。

  3. 去除噪声。

  4. 使得结果容易理解。
    降维的算法有很多,比如奇异值分解(SVD)、主成分分析(PCA)、因子分析(FA)、独立成分分析(ICA)。

    主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。
    在用统计分析方法研究多变量的课题时,变量个数太多就会增加课题的复杂性。人们自然希望变量个数较少而得到的信息较多。在很多情形,变量之间是有一定的相关关系的,当两个变量之间有一定相关关系时,可以解释为这两个变量反映此课题的信息有一定的重叠。主成分分析是对于原先提出的所有变量,将重复的变量(关系紧密的变量)删去多余,建立尽可能少的新变量,使得这些新变量是两两不相关的,而且这些新变量在反映课题的信息方面尽可能保持原有的信息。
    设法将原来变量重新组合成一组新的互相无关的几个综合变量,同时根据实际需要从中可以取出几个较少的综合变量尽可能多地反映原来变量的信息的统计方法叫做主成分分析或称主分量分析,也是数学上用来降维的一种方法。
    主成分分析,是考察多个变量间相关性一种多元统计方法,研究如何通过少数几个主成分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关.通常数学上的处理就是将原来P个指标作线性组合,作为新的综合指标。

PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。其中,第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的,第三个轴是与第1,2个轴正交的平面中方差最大的。依次类推,可以得到n个这样的坐标轴。通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。于是,我们可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。
事实上,通过计算数据矩阵的协方差矩阵,然后得到协方差矩阵的特征值特征向量,选择特征值最大(即方差最大)的k个特征所对应的特征向量组成的矩阵。这样就可以将数据矩阵转换到新的空间当中,实现数据特征的降维。
由于得到协方差矩阵的特征值特征向量有两种方法:特征值分解协方差矩阵、奇异值分解协方差矩阵,所以PCA算法有两种实现方法:基于特征值分解协方差矩阵实现PCA算法、基于SVD分解协方差矩阵实现PCA算法。

word2vec

word2vec 是 Google 于 2013 年开源推出的一个用于获取 word vector 的工具包,它简单、高效,因此引起了很多人的关注。由于 word2vec 的作者 Tomas Mikolov 在两篇相关的论文 [3,4] 中并没有谈及太多算法细节,因而在一定程度上增加了这个工具包的神秘感。一些按捺不住的人于是选择了通过解剖源代码的方式来一窥究竟。

参考链接:https://www.cnblogs.com/peghoty/p/3857839.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值