nlp
入门
yqy2001
THU
展开
-
nlp-tutorial代码注释笔记
系列语:本系列是nlp-tutorial代码注释系列,github上原项目地址为:nlp-tutorial,本系列每一篇文章的大纲是相关知识点介绍 + 详细代码注释。传送门:nlp-tutorial代码注释1-1,语言模型、n-gram简介nlp-tutorial代码注释1-2,词向量、Word2Vec、Skip-gram简述nlp-tutorial代码注释2-1,CNN用于句子分类简介...原创 2020-03-30 15:36:46 · 496 阅读 · 0 评论 -
nlp-tutorial代码注释3-3,双向RNN简介
系列语:本系列是nlp-tutorial代码注释系列,github上原项目地址为:nlp-tutorial,本系列每一篇文章的大纲是相关知识点介绍 + 详细代码注释。前言:3-1节介绍了普通的RNN:nlp-tutorial代码注释3-1,RNN简介。单向的RNN有一个缺点,即只使用了当前元素之前的信息来做处理,而没有用到之后的信息。而在nlp的一些任务中,常常要兼顾上下文。比如这个命名实体识别...原创 2020-03-16 22:46:26 · 356 阅读 · 0 评论 -
nlp-tutorial代码注释3-2,LSTM简介
上一节笔记是RNN相关,链接如下:nlp-tutorial代码注释3-1,RNN简介,普通的RNN有一个问题,就是梯度消失,本节介绍解决此问题的一个方法:使用LSTM单元。梯度消失问题:考虑第i个时间步的损失对第j个时间步的激活值的导数,通过链式法则可以得到下图的求导公式:当i、j距离较远时,若Wh较小,整个式子会指数级的变小,这是梯度消失;若Wh较大,整个式子会指数级的变大,这是梯度爆炸...原创 2020-03-07 19:45:17 · 324 阅读 · 0 评论 -
nlp-tutorial代码注释3-1,RNN简介
针对之前n-gram等具有fixed-window size的模型的缺点,例如无法处理任意长度的输入、不具有记忆性等,提出了一个新的模型:循环神经网络(RNN)。下对其做简要介绍:RNN:RNN的特点是有多少输入就有多少对应的激活值。可以看成输入是在时间上有先后的,每一次输入是一个时间步,每一个时间步产生激活值,也可能产生预测值(根据需要)。RNN的不同点是,它不是仅用本时间步的输入值来预测...原创 2020-03-07 19:36:57 · 337 阅读 · 0 评论 -
nlp-tutorial代码注释2-1,CNN用于句子分类简介
本部分基于paper:Convolutional Neural Networks for Sentence Classification模型介绍目的:模型的目的是对输入的句子进行分类。论文中的模型图片如下:输入首先将输入的句子的各个单词的词向量叠起来,符号⊕是将向量上下堆叠的意思(如上图最左边的部分):卷积然后使用一个h*k的卷积核对其进行卷积,k为词向量的维数,这里实质上是一个...原创 2020-03-04 21:05:05 · 330 阅读 · 0 评论 -
nlp-tutorial代码注释1-2,词向量、Word2Vec、Skip-gram简述
one-hot传统的自然语言处理中,通常使用one-hot向量表示单词。one-hot向量是一个只有一个1,其他均为0的稀疏向量,维度等于词典中单词的个数。示例如下:one-hot向量有几个缺点:1、每两个one-hot向量都是正交的,无法刻画one-hot向量之间的相似性,模型学习到的结果很难推广;2、当词汇表中词汇数量较多时,one-hot向量维数巨大,带来维度灾难,增大模型学习的难...原创 2020-03-04 20:22:53 · 424 阅读 · 0 评论 -
nlp-tutorial代码注释1-1,语言模型、n-gram简介
语言模型就是预测接下来会出现什么词。即给定一个单词序列,语言模型计算出下一个单词是词汇表中各个词的概率分布。还有一种理解是语言模型可以计算一个句子出现的概率,计算公式如下(条件概率):n-gram语言模型:含义:通过前(n-1)个词去预测某个单词。n-gram有一个基本的假设:假设某个词的出现仅取决于它前面的n-1个单词。根据条件概率公式,某个词的出现概率计算公式为:...原创 2020-03-04 15:53:29 · 999 阅读 · 1 评论