Word2Vec词向量(一)
一、词向量基础(一)来源背景
   word2vec是google在2013年推出的一个NLP工具,它的特点是将所有的词向量化,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系。虽然源码是开源的,但是谷歌的代码库国内无法访问,                        
        因此本文的讲解word2vec原理以Github上的word2vec代码为准。
   最早的词向量是使用one-hot编码表示的(就是有多少个词就有多少维度,每个词对应的位置是1, 其他位置是0), 如下图:
        
  
  这样表示最大的确定就是我们的词汇表一般都非常大,比如达到百万级别,这样每个词都用百万维的向量来表示简直是内存的灾难。
        
       分布式表示可以解决One-hot方式的问题,它的思路是通过训练,将每个词都映射到一个较短的词向量上来。所有的这些词向量就构成了向量空间,
       进而可以用普通的统计学的方法来研究词与词之间的关系。这个较短的词向量维度是多大呢?这个一般需要我们在训练时自己来指定。
比如下图我们将词汇表里的词用"Royalty","Masculinity", "Femininity"和"Age"4个维度来表示,King这个词对应的词向量可能是(0.99,0.99,0.05,0.7)(0.99,0.99,0.05,0.7)。
       当然在实际情况中,我们并不能对词向量的每个维度做一个很好的解释。

有了用分布式表示的较短的词向量,我们就可以较容易的分析词之间的关系了,比如我们将词的维度降维到2维,有一个有趣的研究表明,用下图的词向量表示我们的词时,我们可以发现:

可见我们只要得到了词汇表里所有词对应的词向量,那么我们就可以做很多有趣的事情了。不过,怎么训练得到合适的词向量呢?一个很常见的方法是使用神经网络语言模型。
二、词向量基础(CBOW与Skip-Gram模型)
通俗解释:
    CBOW((Continuous Bag-of-Words)模型根据中心词W(t)周围的词来预测中心词
   Skip-gram模型则根据中心词W(t)来预测周围词
 
 
Word2Vec词向量(一)的更多相关文章
- 文本分布式表示(三):用gensim训练word2vec词向量
		今天参考网上的博客,用gensim训练了word2vec词向量.训练的语料是著名科幻小说<三体>,这部小说我一直没有看,所以这次拿来折腾一下. <三体>这本小说里有不少人名和一 ... 
- word2vec词向量训练及中文文本类似度计算
		本文是讲述怎样使用word2vec的基础教程.文章比較基础,希望对你有所帮助! 官网C语言下载地址:http://word2vec.googlecode.com/svn/trunk/ 官网Python ... 
- word2vec词向量处理中文语料
		word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间 ... 
- 机器学习之路: python 实践 word2vec 词向量技术
		git: https://github.com/linyi0604/MachineLearning 词向量技术 Word2Vec 每个连续词汇片段都会对后面有一定制约 称为上下文context 找到句 ... 
- word2vec词向量处理英文语料
		word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集 ... 
- 机器学习入门-文本特征-word2vec词向量模型  1.word2vec(进行word2vec映射编码)2.model.wv['sky']输出这个词的向量映射  3.model.wv.index2vec(输出经过映射的词名称)
		函数说明: 1. from gensim.model import word2vec 构建模型 word2vec(corpus_token, size=feature_size, min_count ... 
- 文本分类实战(一)—— word2vec预训练词向量
		1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ... 
- 文本情感分析(二):基于word2vec、glove和fasttext词向量的文本表示
		上一篇博客用词袋模型,包括词频矩阵.Tf-Idf矩阵.LSA和n-gram构造文本特征,做了Kaggle上的电影评论情感分类题. 这篇博客还是关于文本特征工程的,用词嵌入的方法来构造文本特征,也就是用 ... 
- PyTorch在NLP任务中使用预训练词向量
		在使用pytorch或tensorflow等神经网络框架进行nlp任务的处理时,可以通过对应的Embedding层做词向量的处理,更多的时候,使用预训练好的词向量会带来更优的性能.下面分别介绍使用ge ... 
随机推荐
- 【luogu P3389 高斯消元法】 模板
			题目链接: gauss消元求线性方程组的解. 这道题对于多解和无解都输出No solution #include <algorithm> #include <cstdio> # ... 
- $_GET 与 $POST
			$_GET就是地址传值,用 '?' 开始传值,多个值间用 '&' 号分隔,多用于简单的传值,比如说看新闻需要新闻id一般就会用地址传值, $_GET的好处是传值可见,也就是只要一个地址就ok了 ... 
- LeetCode10.正则表达式匹配 JavaScript
			给定一个字符串 (s) 和一个字符模式 (p).实现支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符. '*' 匹配零个或多个前面的元素. 匹配应该覆盖整个字符串 (s) ,而不 ... 
- 菜鸟笔记 -- Chapter 6.3 对象
			6.3 对象 Java是一门面向对象的程序设计语言,对象是由类抽象出来的,所有的问题都是通过对象来处理的,对象可以操作类的属性和方法解决相应的问题,所以了解对象的产生.操作和生存周期对学习Java语言 ... 
- Struts-Core jar包
			密码t6mp https://pan.baidu.com/share/init?surl=E--zExzI9-VY1zaT8F9i9w 
- 论REST架构与传统MVC
			一前言 : 由于 REST 可以降低开发的复杂度,提高系统的可伸缩性,增强系统的可扩展性,简化应用系统之间的集成,因而得到了广大开发人员的喜爱,同时得到了业界广泛的支持.比如 IBM,Google ... 
- WKWebView简单使用及关于缓存的问题
			Xcode8发布以后,编译器开始不支持IOS7,所以很多应用在适配IOS10之后都不在适配IOS7了,其中包括了很多大公司,网易新闻,滴滴出行等.因此,我们公司的应用也打算淘汰IOS7.支持到IOS8 ... 
- ETO的公开赛T2《宏聚变》 题解(BY 萌萌哒123456 )
			我们注意到这道题中最多有 $(n+q)$ 个数被加入,而每个数最多被删除一次,因此每次操作 $O(logn)$的复杂度是可以接受的. 我们对于$1..100000$之间每个数分别开一个set,维护这个 ... 
- Tomcat服务器的介绍、安装配置
			[1] Tomcat服务器的介绍 1.是一个免费的.开饭源代码的Servlet服务器,目前非常流行. 2.Tomcat服务器是Apache软件基金会的一个顶级项目,由Apache.Sun等公司共同开发 ... 
- 让微信内置浏览器兼容clipboard.js 复制粘贴 ios 安卓
			<!--js copy事件--><script type="text/javascript" src="/static/js/clipboard.min ... 
