embedding
来源:互联网 发布:java读音 编辑:程序博客网 时间:2024/04/23 18:13
what is emdding
embedding就是把字词用向量表示出来,相当于是对字词做encoding
motivation
比如 猫,狗,我们当然可以直接把他们表示为一些独立的离散符号,但是这样的表示毫无意义,而且会产生大量稀疏数据。使我们在训练统计模型时不得不寻求更多的数据。而词汇的向量表示将克服上述的难题。
background
VSM(vector space model)
核心思想就是把一些词用向量空间的表示方法。最基本的应用,就是tf-idf。
我们把一篇文档用一组向量表示,然后计算文档之间的余弦值来衡量文档相似度。vsm在nlp有着非常丰富的应用历史,不过这一模型又是基于分布式假设的。
分布式假设
其核心思想是:认为出现在上下文情景中的词汇都有着相似的语义。
基于这一假设的方法,大致可以分为两类:
– 计数方法。潜在语义分析(latent sematics analysis)
– 预测方法。神经概率化模型
用神经网络训练语言模型,比较经典就是Bengio于2003年发表在JMLR上的《A Neural Probabilistic Language Model》
最简单的词向量,当属于one-hot的表示,这种表示并不是很理想,而distributed represention则比one-hot的好很多,一个猜测是:one-hot的表示相当于是空间中一个孤立的点,而distributed representation,则有种风险平摊的感觉,就像文档表示,被分摊到很多词上面。神经概率语言模型
比较经典就是Bengio于2003年发表在JMLR上的《A Neural Probabilistic Language Model》,该论文提出的模型如下:
其中,w,u都是权重。p和q表示偏置项(bias)
输入的v是一个已经训练好的词向量。
输入的个数类似于n-gram,比如假设只跟其前n-1个词语有关于,那么输入层就是n-1,如果向量大小为m,那么投影层就是(n-1)*m的大小,隐层是由语料库的大小决定的,假设有C个。
那么神经网络语言模型和传统的n-gram的区别是什么呢?
(1) 词语之间的相似性可以通过词向量来体现。(句子层面)
(2) 自带平滑功能。(词层面)
【这里不是很懂,再看看原文章】
http://blog.csdn.net/itplus/article/details/37969817
Word2Vec
最初的提出者:Tomas Mikolov经典文章: 两种衍生:CBOW Skip-gram
- embedding
- embedding freeswitch
- word embedding
- word embedding
- word embedding
- Word Embedding中Embedding的解释
- 今天开始embedding...
- Embedding JUnit tests
- Embedding Perl under Win32
- Extending and Embedding PHP
- chapter29 Embedding Asset
- 【Silverlight】Font Embedding
- 转:Spectral Embedding/Clustering
- Locally Linear Embedding
- Spectral Embedding/Clustering
- embedding system NFS
- Embedding asset types
- Jetty embedding Server 基本概念
- IOS 之 Swift教程(一) -入门语法(常量、变量)
- android中关于ANR
- 学习N大的飞沙效果
- phpStorm代理设置 (ShadowSocks + Privoxy)
- linux读书摘要--CentOS的在线求助
- embedding
- C语言结构体符号表和类型系统的代码实现
- Ubuntu16.04 64位 + NVIDIA GEFORECE GTX960 + CUDA-8.0.44
- 人脉是麻烦出来的
- CodeForces #?(727A|727B|727D|727F)|贪心|动态规划
- 1613-3-傅溥衍 总结《2016年10月16日》【连续第十六天总结】
- ThreadLocal的理解
- KSH variable
- C++11并发学习之一:小试牛刀