代码改变世界

随笔分类 -  nlp

nlp LSTM结构

2022-04-05 15:01 by jym蒟蒻, 154 阅读, 收藏,
摘要: RNN和LSTM 简略表示RNN层:长方形节点中包含了矩阵乘积、偏置的和、tanh函数的变换。将下面这个公式表示成一个tanh节点。 LSTM:Long Short-Term Memory(长短期记忆),长时间维持短期记忆。 LSTM与RNN的接口(输入输出)如下图,不同地方在于,LSTM还有路径c 阅读全文

nlp RNN 梯度消失和爆炸

2022-04-05 15:01 by jym蒟蒻, 223 阅读, 收藏,
摘要: 之前的RNN,无法很好地学习到时序数据的长期依赖关系。因为BPTT会发生梯度消失和梯度爆炸的问题。 RNN梯度消失和爆炸 对于RNN来说,输入时序数据xt时,RNN 层输出ht。这个ht称为RNN 层的隐藏状态,它记录过去的信息。 语言模型的任务是根据已经出现的单词预测下一个将要出现的单词。 学习正 阅读全文

nlp RNNLM

2022-04-05 14:59 by jym蒟蒻, 367 阅读, 收藏,
摘要: RNNLM 基于RNN的语言模型称为RNNLM(Language Model)。 Embedding 层:将单词ID转化为单词的分布式表示(单词向量)。 RNN层:向下一层(上方)输出隐藏状态,同时也向下一时刻的RNN层(右边)输出隐藏状态。 对于“you say goodbye and i say 阅读全文

nlp RNN

2022-04-05 14:58 by jym蒟蒻, 207 阅读, 收藏,
摘要: RNN(Recurrent Neural Network)循环神经网络。 类比血液在体内循环,从过去一直被更新到现在。 RNN具有环路。这个环路可以使数据不断循环。通过数据的循环,RNN一边记住过去的数据,一边更新到最新的数据。 RNN层的循环结构 RNN层的循环结构和它的展开如下图所示。下面的多个 阅读全文

nlp 改进CBOW模型

2022-04-05 14:56 by jym蒟蒻, 232 阅读, 收藏,
摘要: 复习 首先复习一下之前的CBOW笔记。 采用推理的方法认知单词: CBOW模型的核心思路:给出周围的单词(上下文)时,预测目标词处会出现什么单词。 要用神经网络处理单词,需要先将单词转化为固定长度的向量,这就引出了单词的表示。 单词的表示:将单词转化为固定长度的向量(one-hot 表示),神经网络 阅读全文

nlp Embedding改进CBOW

2022-04-05 14:54 by jym蒟蒻, 78 阅读, 收藏,
摘要: Embedding改进CBOW 假设词汇量为 100 万个时的 CBOW 模型如下,输入层和输出层存在 100 万个神经元。 下面两个问题导致耗时严重。 问题一、输入层的 one-hot 表示和权重矩阵的乘积。one-hot 表示占用内存过多,计算 one-hot 表示与权重矩阵 的乘积,需要花费大 阅读全文

nlp 二分类 改进CBOW

2022-04-05 14:52 by jym蒟蒻, 145 阅读, 收藏,
摘要: 二分类负采样方法 多分类问题处理为二分类问题,需要能够正确地对正例和负例进行分类。 如果以所有的负例为对象,词汇量将增加许多,无法处理。作为一种近似方法,将只使用少数负例。 负采样方法:求正例作为目标词时的损失,同时采样(选出)若干个负例,对这些负例求损失。然后,将正例和采样出来的负例的损失加起来, 阅读全文

nlp skip gram模型

2022-04-05 14:49 by jym蒟蒻, 442 阅读, 收藏,
摘要: skip gram模型的实现 CBOW模型的概率表示: P(A):A发生的概率。 P(A,B):事件A和事件B同时发生的概率,称为联合概率。 P(A|B):在给定事件B的信息后,事件A发生的概率,称为后验概率。 CBOW模型:当给定某个上下文时,输出目标词的概率。 用数学式来表示给定上下文wt-1和 阅读全文

nlp CBOW模型实现

2022-04-05 14:47 by jym蒟蒻, 296 阅读, 收藏,
摘要: 实现CBOW模型类 初始化:初始化方法的参数包括词汇个数 vocab_size 和中间层的神经元个数 hidden_size。首先生成两个权重(W_in 和 W_out),并用一些小的随机值初始化这两个权重。设置astype(‘f’),初始化将使用 32 位的浮点数。 生成层:生成两个输入侧的 Ma 阅读全文

nlp CBOW模型

2022-04-05 14:44 by jym蒟蒻, 525 阅读, 收藏,
摘要: 采用推理的方法认知单词、CBOW模型 基于计数的方法,根据一个单词周围的单词的出现频数来表示该单词。需要生成所有单词的共现矩阵,再对这个矩阵进行 SVD,以获得密集向量,如果语料库处理的单词数量非常大,将需要大量的计算资源和时间。基于计数的方法使用整个语料库的统计数据(共现矩阵、PPMI),通过一次 阅读全文

nlp 计数法 PTB数据集

2022-04-05 14:37 by jym蒟蒻, 244 阅读, 收藏,
摘要: 计数方法应用于PTB数据集 PTB数据集 ptb.py 使用ptb.py 计数方法应用于PTB数据集 PTB数据集 内容如下: 一行保存一个句子;将稀有单词替换成特殊字符 < unk > ;将具体的数字替换 成“N” we 're talking about years ago before any 阅读全文

nlp SVD降维

2022-04-05 14:36 by jym蒟蒻, 155 阅读, 收藏,
摘要: 基于SVD的降维优化 向量降维:尽量保留数据“重要信息”的基础上减少向量维度。可以发现重要的轴(数据分布广的轴),将二维数据 表示为一维数据,用新轴上的投影值来表示各个数据点的值,示意图如下。 稀疏矩阵和密集矩阵转换:大多数元素为0的矩阵称为稀疏矩阵,从稀疏矩阵中找出重要的轴,用更少的维度对其进行重 阅读全文

nlp PPMI

2022-04-05 14:35 by jym蒟蒻, 402 阅读, 收藏,
摘要: 使用PPMI改进共现矩阵 共现矩阵的元素表示两个单词同时出现的次数,这里的次数并不具备好的性质,举个例子,有短语叫the car,因为the是个常用词,如果以两个单词同时出现的次数为衡量相关性的标准,与drive 相比,the和car的相关性更强,这是不对的。 点互信息(Pointwise Mutu 阅读全文

nlp 共现矩阵和余弦相似度

2022-04-05 14:34 by jym蒟蒻, 872 阅读, 收藏,
摘要: 通过共现矩阵和余弦相似度实现机器对单词的认知、python实现 本文介绍的定义: 一、语料库预处理 二、单词的分布式表示 三、单词的相似度 四、相似单词排序 本文介绍的定义: 语料库、计数方法的目的、语料库预处理、单词的分布式表示、分布式假设、上下文、窗口大小、基于计数的方法表示单词、用向量表示单词 阅读全文