深度学习-->NLP-->NNLM简介
来源:互联网 发布:淘宝卖家售后服务流程 编辑:程序博客网 时间:2024/05/21 08:01
本篇博文将总结
embedding
在一般任务中,我们总是非常自然的用特征值来表示一个词汇。但是,到底怎么样表示一个词,才是最合理的? 存储其
如果我们用
我们能得到如图的一个表示: 只有某一维度的值是1,其他维度都是0, 这个值为1的维度就代表这个词。
你可能马上就会意识到,这样表示如果词典大了,会不会向量就太长了?是的! 但这不是这个表示的最大问题,这个表示最大的问题是:它将所有单词视为彼此无关的独立实体。 但是,我们真正想要的表示,是表示词语的语义,显然有很多词的语义是相似的,而不是独立的. 一个好的表示,应该要把这些相似关系也刻画出来。
由此产生了
数学上的概念,从一个空间映射到另外一个空间,保留基本属性。
在神经网络语言模型中,也就是
非线性变换:
作用:
例如:
那么这个
NNLM(Neural Network Language Model)
首先看看
对“词”的理解有限
不能很好的理解每个词之间的联系和含义。上下文的长度有限
我们以
从上面的图可以看到有层
- 能够捕捉到词法的相似性。
good,better - 能够捕捉到语法的相似性。
see,saw - 能够捕捉到语义相似性。
dog,cat
找出每个词对应于
- 假定词表中的每一个
word 都对应着一个连续的特征向量; - 假定一个连续平滑的概率模型,输入一段词向量的序列,可以输出这段序列的联合概率;
- 同时学习词向量的权重和概率模型里的参数。
我们可以将上面整个模型拆分成两部分加以理解:
首先是一个线性的
embedding 层。它将输入的N−1 个one−hot 词向量,通过一个共享的D×V 的矩阵C ,映射为N−1 个分布式的词向量(distributedvector) 。其中,V 是词典的大小,D 是embedding 向量的维度(一个先验参数)。C 矩阵里存储了要学习的word vector 。其次是一个简单的前向反馈神经网络
g 。它由一个tanh 隐层和一个softmax 输出层组成。通过将embedding 层输出的N−1 个词向量映射为一个长度为V 的概率分布向量,从而对词典中的word 在输入context 下的条件概率做出预估:p(wt|w1,w2,...,wt−1)≈f(wt,wt−1,...,wt−n+1)=g(wi,C(wt−n+1),...,C(wt−1))
我们可以通过最小化一个
为什么
Word2Vec
同
因此,
另一个问题就比较严重了。
我们对原始的
移除前向反馈神经网络中非线性的
hidden layer ,直接将中间层的embedding layer 与输出层的softmax layer 连接;忽略上下文环境的序列信息:输入的所有词向量均汇总到同一个
embedding layer ;将future words 纳入上下文环境
说下右边
用途:
- 寻找近义词。
- 用来作为别的自然语言任务的特征值。(训练过程中学习到
embedding ) - 用来为别的Neural Network做初始化。(
word2vec 训练出来的embedding 作为别的神经网络语言模型的embedding 的初始值)
- 深度学习-->NLP-->NNLM简介
- NLP深度学习资源
- 深度学习-->NLP-->语言模型
- 深度学习-->NLP-->RNNLM实现
- NLP 学习教程 第一节 简介
- 深度学习在NLP中的应用
- 深度学习在 NLP 上的实践
- 深度学习利器:TensorFlow与NLP模型
- 深度学习与NLP简单应用
- 2017深度学习NLP进展与趋势
- 2017深度学习NLP进展与趋势
- 2017深度学习NLP进展与趋势
- 2017深度学习NLP进展与趋势
- 2017深度学习NLP进展与趋势
- 【深度学习】深度学习简介
- 看过的机器学习深度学习,NLP课程,视频
- NLP深度学习 —— CS224学习笔记 1
- NLP深度学习 —— CS224学习笔记2
- Cocos2d-x面试题(一)
- RabbitMQ消息队列(三):任务分发机制
- 字符串格式化 (%操作符)
- Tomcat 启动速度慢,一直转圈的原因
- 推荐系统解决冷启动问题策略
- 深度学习-->NLP-->NNLM简介
- 自定义input[type="checkbox"]的样式
- python_pdb_module
- 推荐系统之概率矩阵分解的详细推导过程(Probabilistic Matrix Factorization,PMF)
- 全程解析Linux鼠标驱动
- RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)
- 使用 ProxySQL 提高 MySQL SSL 的连接性能
- RecyclerView 设置item间隔和随机高度
- emca 262 6.0