深度学习-自然语言模型随记

栏目: 编程工具 · 发布时间: 5年前

内容简介:看概率!一行一行看,比如第一行,i后面接i的出现次数,i后面接want的出现次数。上面表表示词后面接某词的次数,下面表表示词后面接某词的概率。
深度学习-自然语言模型随记

语言模型

深度学习-自然语言模型随记
深度学习-自然语言模型随记

看概率!

深度学习-自然语言模型随记
深度学习-自然语言模型随记
深度学习-自然语言模型随记

n-gram

深度学习-自然语言模型随记

一行一行看,比如第一行,i后面接i的出现次数,i后面接want的出现次数。

上面表表示词后面接某词的次数,下面表表示词后面接某词的概率。

深度学习-自然语言模型随记

N表示预料库的大小,小n在建模时一般取2,3就可以,也可以取到4,再大就会造成模型太过庞大。

词向量

深度学习-自然语言模型随记

one-hot构造词向量在此处的问题?但是构造出来的东西的价值利用程度高不高,它无非就是一个词的映射。这种情况下词与词之间,句子与句子就失去了关系。我们不光是要生成词的向量还要使词与词之间是有意义的。所谓的意义就是不能像one-hot编码这么简单,要让词和词之间要有一个潜在的含义。

怎样把一个词转换成一个向量?(word2vector)

深度学习-自然语言模型随记

词向量必须具有一层潜在的含义,相似的词挨的比较近,转换后的词向量也应该挨的比较近。在我们语言空间上应该表现出来这样一层含义。

深度学习-自然语言模型随记

计算机需要理解上表达意思相近的词的含义,比如今天的菜便宜和今天的菜贱,当他们都是指菜便宜这一件事时,计算机应该要在向量空间中表达出来。所以说同义词是非常重要的。

深度学习-自然语言模型随记

右侧是西班牙语表达的词向量空间。 这两种语言构造出来的模型是相似的,这为什么呢?因为我们构造出来的词向量并不是跟语言挂钩,只跟语义的逻辑环境挂钩。 我们不关心词的性质(大小),关心的是词上下文的整体逻辑。

神经网络模型

词向量模型和神经网络模型有什么挂钩?

深度学习-自然语言模型随记

在Projection Layer(投影层)对输入的词向量进行一个拼接,讲他们的向量合层一个整体来处理。

深度学习-自然语言模型随记
深度学习-自然语言模型随记
深度学习-自然语言模型随记

在统计模型看来,猫在房间跑和狗在房间跑是明显不同的。

深度学习-自然语言模型随记

猫在房间跑和狗在房间在神经网络看来就是动物在房间跑,所以其中的一个句子的出现概率增大,另一个句子的出现概率也会相应的增大。这是神经网络模型比较重要的特点。这就是为什么我们要用神经网络来进行一个求解,因为在神经网络语言模型当中我们可以得到词语之间近似的一个含义,而且它求解出来的空间语言模型也是符合我们真实的一个规律的。

Hierarchical Softmax(分层的softmax)

神经网络实现的两种方案:

深度学习-自然语言模型随记

左侧模型是根据上下文的词来预测我们的当前词是什么。右侧模型的输入是当前词,来预测上下文。

CBOW

深度学习-自然语言模型随记

使当前词出现的概率越大越好。

哈弗曼树

深度学习-自然语言模型随记

权值*步长

我们可以把哈弗曼树的权值想象成词的词频,意图是讲我们生活当中越常使用的词在哈弗曼树中越靠前。在树中分层的softmax也就是说分层的进行一个判断,这样可以使得最重要的词在前面。

深度学习-自然语言模型随记

哈弗曼树构造的流程。

我们还可以拿哈弗曼树来进行编码,如果我想知道一个词对应的编码是什么,在哈弗曼树中可以利用到0(左子树)和1(右子树)编码。

哈弗曼树可利用的两点就是:带权路径最短和哈夫曼编码。

那对哈夫曼树进行判断是往左子树走还是往右子树走?我们要用到Hierarchical Softmax来进行判断。对于这样一个二分类,我们通常用的是逻辑回归。

深度学习-自然语言模型随记

Softmax是一个多分类的逻辑回归!!

CBOW模型实例

深度学习-自然语言模型随记
深度学习-自然语言模型随记
深度学习-自然语言模型随记

首先看怎样才能走到足球,需要一次次的判断往左走还是往右走。

得出结果足球的计算是个累乘的过程,相当于第一次*第二次*第三次*第四次

CBOW求解目标

深度学习-自然语言模型随记

求解目标:什么样的Context(w)使得p(概率)达到最大。

梯度上升求解

求一个最大值,那就采用梯度上升的方法。

深度学习-自然语言模型随记

还需要对X进行一个求导,因为X也会对结果才是一个非常大的影响。

深度学习-自然语言模型随记

式子的第一项是每个词的词向量。

Negative Sampling(负采样),一般采用这种建模方式(简单)

词库特别特别大的时候,那么哈弗曼树中间或后面的词节点咋办,计算复杂度还是很高。

深度学习-自然语言模型随记

1:代表预测出来的结果和我的词对应上,0:代表没对应上。

预测的结果有正例和负例。

深度学习-自然语言模型随记

词频越大的越容易被随机到,哈弗曼树是比较老的做法,现在采用的负采样来帮助我们分类。

深度学习-自然语言模型随记

NEG表示负样本的空间。1-不属于这个词的概率,结果就是属于这个词的概率。

深度学习-自然语言模型随记
深度学习-自然语言模型随记

v(w)就是最终我想要的词的词向量结果。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员之禅

程序员之禅

[德] Christian Grobmeier / 荣耀、朱艳 / 人民邮电出版社 / 2015-8 / 39.00元

禅是一种生活态度和生活方式。程序员是一份特别辛苦的职业,也是一个承受各种压力的群体。在物欲横流的今天,禅对于程序员有着特殊的意义和价值。 本书的作者是一名德国程序员老兵,深谙程序员的喜怒哀乐。他曾经发表了一篇题为“程序员之禅的十条法则”的博客文章,引发众多程序员热烈的讨论和强烈的共鸣。本书共10章,结合程序员日常生活和工作的方方面面,作者通过对禅的知识、理解、体验、思考和感悟,提出很多中肯的......一起来看看 《程序员之禅》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具