词向量

我们以句子分类为例,我们使用深度学习模型对句子进行分类,本质上这个模型的接受的舒服需要是数值型。因为文字是人们抽象出来的一个概念,这个
东西是不能被计算机直接理解的,我们需要人为的将这个文字转为数值,换句话讲,我们需要把这个文字嵌入到一个数学空间中去,这中嵌入方式就是词嵌入方式。
Word2vec 就是词嵌入的一种方式(word embedding)

对于有监督的一个机器学习过程,我们可以这么理解这个模型,是一个 f(x) -> y 的映射关系。

在NLP中,x代表的是句子中的一个词,y是这个词的上下文词语,那么这里的f代表的就是NLP中出现的语言模型(language model),这个模型的目的,
最根本的就是判断(x,y)这个样本是否符合自然语言的法则,通俗点将,就是说x和y放在一起是不是人话。

关于语言模型来讲,
如果用一个词语作为输入,来预测它周围的上下文,这个模型我们称之为 skip-gram模型
如果用一个词语的上下文作为输入,来预测这个词语的本身,则是 CBOW 模型

[NLP] 秒懂词向量Word2vec的本质 - 穆文的文章 - 知乎
https://zhuanlan.zhihu.com/p/26306795
word2vec是如何得到词向量的? - crystalajj的回答 - 知乎
https://www.zhihu.com/question/44832436/answer/266068967
Word Embedding 如何处理未登录词? - 韦阳的回答 - 知乎
https://www.zhihu.com/question/308543084/answer/576517555

引申
哈哈,之前也突然懵逼过,word2vec那么简单,那么用的是输入还是输出矩阵?个人感觉,两者都可以用,甚至可以拿输入矩阵转置作为输出矩阵,也没必要存储两个矩阵,不管CBOW还是skip-gram都能保证相似语境下的相关性。主要是w2v太简单了,纯粹是内积运算,本身是对称的。其他例如fasttext或doc2vec就不太一样,加入了side infomation,更极端DNN中常用的embdding,都不能脱离网络直接拿来用了。相似性度量方法太多了,分应用场景吧,w2v本身就是内积,用cos很合适,还归一化了。
另外不知道item2vec是不是真的有效,在i2i挖掘上,graph embedding真的是神器。
不得不说,w2v虽然简单,但是影响了很多模型应用,五体投地了~

上面这个文字见下面这个文章的评论
万物皆Embedding,从经典的word2vec到深度学习基本操作item2vec - 王喆的文章 - 知乎
https://zhuanlan.zhihu.com/p/53194407

词向量1.md的更多相关文章

  1. Word Representations 词向量

    常用的词向量方法word2vec. 一.Word2vec 1.参考资料: 1.1) 总览 https://zhuanlan.zhihu.com/p/26306795 1.2) 基础篇:  深度学习wo ...

  2. [Algorithm & NLP] 文本深度表示模型——word2vec&doc2vec词向量模型

    深度学习掀开了机器学习的新篇章,目前深度学习应用于图像和语音已经产生了突破性的研究进展.深度学习一直被人们推崇为一种类似于人脑结构的人工智能算法,那为什么深度学习在语义分析领域仍然没有实质性的进展呢? ...

  3. 开源共享一个训练好的中文词向量(语料是维基百科的内容,大概1G多一点)

    使用gensim的word2vec训练了一个词向量. 语料是1G多的维基百科,感觉词向量的质量还不错,共享出来,希望对大家有用. 下载地址是: http://pan.baidu.com/s/1boPm ...

  4. Deep Learning In NLP 神经网络与词向量

    0. 词向量是什么 自然语言理解的问题要转化为机器学习的问题,第一步肯定是要找一种方法把这些符号数学化. NLP 中最直观,也是到目前为止最常用的词表示方法是 One-hot Representati ...

  5. word2vec生成词向量原理

    假设每个词对应一个词向量,假设: 1)两个词的相似度正比于对应词向量的乘积.即:$sim(v_1,v_2)=v_1\cdot v_2$.即点乘原则: 2)多个词$v_1\sim v_n$组成的一个上下 ...

  6. 学习笔记TF018:词向量、维基百科语料库训练词向量模型

    词向量嵌入需要高效率处理大规模文本语料库.word2vec.简单方式,词送入独热编码(one-hot encoding)学习系统,长度为词汇表长度的向量,词语对应位置元素为1,其余元素为0.向量维数很 ...

  7. 词向量-LRWE模型

    上一节,我们介绍利用文本和知识库融合训练词向量的方法,如何更好的融合这些结构化知识呢?使得训练得到的词向量更具有泛化能力,能有效识别同义词反义词,又能学习到上下文信息还有不同级别的语义信息. 基于上述 ...

  8. NLP︱高级词向量表达(三)——WordRank(简述)

    如果说FastText的词向量在表达句子时候很在行的话,GloVe在多义词方面表现出色,那么wordRank在相似词寻找方面表现地不错. 其是通过Robust Ranking来进行词向量定义. 相关p ...

  9. NLP︱高级词向量表达(二)——FastText(简述、学习笔记)

    FastText是Facebook开发的一款快速文本分类器,提供简单而高效的文本分类和表征学习的方法,不过这个项目其实是有两部分组成的,一部分是这篇文章介绍的 fastText 文本分类(paper: ...

随机推荐

  1. SpringBoot系列之——整合JPA、mysql

    一.JPA      1. 概念:JPA顾名思义就是Java Persistence API的意思,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 2. ...

  2. 位运算(2)——Number of 1 Bits

    Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also know ...

  3. Android 修改TabLayout底部导航条Indicator的长短

    关于Tablayout,使用的应该很频繁了,但是底部导航条长短是固定死的,需要自己来改动长短,找了半天没找着方法,看了下官方建议,可以通过映射来修改自己想要的长短,其实也就几行代码的问题,看代码: p ...

  4. Qt开发北斗定位系统融合百度地图API及Qt程序打包发布

    Qt开发北斗定位系统融合百度地图API及Qt程序打包发布 1.上位机介绍 最近有个接了一个小型项目,内容很简单,就是解析北斗GPS的串口数据然后输出经纬度,但接过来觉得太简单,就发挥了主观能动性,增加 ...

  5. Git学习笔记day01 从GitHub克隆版本库

    本期Git教程将会带您进入Git的世界,这是您使用分布版本控制工具Git的开端,祝您学习顺利! 步骤一  在Linux系统中下载Git 如果是Ubuntu系统,在shell中输入指令 sudo apt ...

  6. C#多线程Thread

    在项目中经常用到线程Thread,先做个简单记录,后面再完善下,方便以后参考.本人技术有限,如有不同见解之处,欢迎博友批评指正. 执行的线程Thread分无参数的,一个参数,多个参数的.直接看代码吧. ...

  7. 关于ASP.NET页面事件的知识点

    ASP是动态服务器页面(ActiveServerPage)的英文缩写,是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单.方便的编程工具.那么关于ASP.NET ...

  8. Jerry Wang诚邀广大SAP同仁免费加入我的知识星球,共同探讨SAP技术问题

    大家知道Jerry Wang有一个微信公众号"汪子熙",2017年12月27日,Jerry的这个公众号发布了第一篇文章.到今天2018年10月底为止,正好十个月. 在这10个月的时 ...

  9. nginx缓存批量清除

    研究了一段时间的缓存清除,说说了解的三种方式吧.        1. 原始的只增加缓存模块的,根据访问的路径一条条清除. 根据此方式要进行批量清除的话,必须在设定的缓存目录下通过自己写的程序来读取ng ...

  10. 2017.11.14 C语言---指针的学习

    第八章 善于利用指针 (1)指针是什么 1.内存区每一个字节都有一个编号,这就是"地址".地址形象化的被称为"指针".它能通过以它为地址的内存单元.地址指向(* ...