深度学习与NLP--论文笔记和TensorFlow实现
文章平均质量分 87
主要记录平时看的一些论文和使用TensorFlow实现方法,希望可以帮助到大家。主攻领域是深度学习与NLP相结合,CNN、LSTM等模型
liuchongee
这个作者很懒,什么都没留下…
展开
-
HRED+VHRED+AWI模型介绍
这次会介绍三篇文章,因为原理比较相似,都是采用分层架构来解决多轮对话问题,三篇论文如下所示:Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models(HRED)A Hierarchical Latent Variable Encoder-Decoder Model for原创 2018-02-02 12:24:03 · 6549 阅读 · 1 评论 -
A Diversity-Promoting Objective Function for Neural Conversation Models论文阅读笔记
本文是李纪为的论文“A Diversity-Promoting Objective Function for Neural Conversation Models”阅读笔记。违章提出使用MMI代替原始的maximum likelihood作为目标函数,目的是使用互信息减小“I don’t Know”这类无聊响应的生成概率。一般的seq2seq模型,倾向于生成安全、普适的响应,因为这种响应更符合语法原创 2018-01-23 20:46:17 · 2193 阅读 · 0 评论 -
深度学习对话系统理论篇--数据集和评价指标介绍
对话系统常用评价指标当前对话系统之所以还没有取得突破性的进展,很大程度上是因为没有一个可以准确表示回答效果好坏的评价标准。对话系统中大都使用机器翻译、摘要生成领域提出来的评价指标,但是很明显对话系统的场景和需求与他们是存在差别的,这也是当前模型效果不是很好的原因之一。从对话系统不同的层次角度来评价对话系统的效果时,每个层面会有不同的关注点,如下图所示:从上图可以看出,黄色标识人类的主观角度,而蓝色表原创 2018-01-19 10:41:58 · 9427 阅读 · 1 评论 -
从头实现一个深度学习的对话系统--tf.contrib.seq2seq API介绍
这篇文章就简单从源码的角度上分析一下tf.contrib.seq2seq下提供的API,首先来讲这个文件夹下面的几个文件和函数上篇文章中都已经提到而且介绍了他们之间的关系和如何使用,如果对源码不感兴趣就不用看下去了~~BasicDecoder和dynamic_decode为了简单起见,从decode的入口dynamic_deocde函数开始分析: dynamic_deco原创 2018-01-12 11:00:17 · 7814 阅读 · 4 评论 -
从头实现深度学习的对话系统--新版本tf seq2seq API构建chatbot
上篇文章我们使用tf.contrib.legacy_seq2seq下的API构建了一个简单的chatbot对话系统,但是我们已经说过,这部分代码是1.0版本之前所提供的API,将来会被弃用,而且API接口并不灵活,在实际使用过程中还会存在版本不同导致的各种个样的错误。所以我们有必要学习一下新版本的API,这里先来说一下二者的不同:新版本都是用dynamic_rnn来构造RNN模型,这样就避免原创 2018-01-10 11:43:14 · 8749 阅读 · 10 评论 -
使用微信监管你的TF训练
以TensorFlow的example中,利用CNN处理MNIST的程序为例,我们做了下面一点点小小的修改。 1,首先导入了itchat和threading两个包分别用于微信和县线程(因为要有一条线程专门负责接收微信消息,另一个线程运行TF程序); 2,写了个itchat的handler。作用是,如果收到微信消息,解析消息内容,然后执行相应的操作。(开始,停止,参数等) 3,将原本程序在con转载 2017-03-07 16:16:08 · 956 阅读 · 0 评论 -
从头实现深度学习的对话系统--简单chatbot代码实现
从头实现深度学习的对话系统–简单chatbot代码实现本文的代码都可以到我的github中下载:https://github.com/lc222/seq2seq_chatbot预训练好的模型可以到我的百度云网盘中下载:链接:https://pan.baidu.com/s/1hrNxaSk 密码:d2sn前面几篇文章我们已经介绍了seq2seq模型的理论知识,并且从tensorflo原创 2017-12-29 11:13:27 · 12972 阅读 · 10 评论 -
从头实现一个深度学习对话系统--tensorflow Seq-to-Seq API介绍和源码分析
上一篇文章中我们已经分析了各种seq2seq模型,从理论的角度上对他们有了一定的了解和认识,那么接下来我们就结合tensorflow代码来看一下这些模型在tf中是如何实现的,相信有了对代码的深层次理解,会在我们之后构建对话系统模型的时候有很大的帮助。tensorflow版本升级之后把之前的tf.nn.seq2seq的代码迁移到了tf.contrib.legacy_seq2seq下面,其实这部分API原创 2017-12-20 19:32:45 · 6741 阅读 · 1 评论 -
从头实现一个深度学习对话系统--Seq-to-Seq模型详解
上一篇文章已经介绍了几篇关于Seq-to-Seq模型的论文和应用,这里就主要从具体的模型细节、公式推导、结构图以及变形等几个方向详细介绍一下Seq-to-Seq模型。这里我们主要从下面几个层次来进行介绍:Seq-to-Seq框架1Seq-to-Seq框架2Seq-to-Seq with Attention(NMT)Seq-to-Seq with Attention各种变形Seq-to-Se原创 2017-12-17 13:03:02 · 12904 阅读 · 4 评论 -
从头实现一个深度学习的对话系统--1,论文简介
上篇文章我们介绍了DRL用于对话系统的应用,看完论文我们会发现,其是在一个Seq-to-Seq模型的基础上进行重新训练进而得到效果的提升,那么自然我们会想到如何使用Seq-to-Seq模型构造基础的对话系统呢,接下来我会使用几篇文章来一步步介绍使用Seq-to-Seq构造对话系统过程中所用到的知识和代码。首先让我们从提出Seq-to-Seq模型的论文说起:本文主要介绍下面几篇Seq-to-Seq刚被原创 2017-12-15 09:43:42 · 5074 阅读 · 1 评论 -
Deep Reinforcement Learning for Dialogue Generation阅读笔记
文章亮点本文是使用深度增强学习DRL的方法来解决多轮对话问题。首先使用Seq-to-Seq模型预训练一个基础模型,然后根据作者提出的三种Reward来计算每次生成的对话的好坏,并使用policy network的方法提升对话响应的多样性、连贯性和对话轮次。文章最大的亮点就在于定义了三种reward(Ease of answering、Information Flow、Semantic Cohe...原创 2017-12-08 11:15:17 · 2919 阅读 · 0 评论 -
论文“Teaching Machines to Converse”阅读笔记
李纪为博士论文阅读笔记这是李纪为大神的博士毕业论文,趁热赶紧读一读,为自己科研道路指明方向。论文的下载地址是他的github1.1 背景知识介绍对话系统的分类及方法:Chit-Chat-oriented Dialogue Systems: 闲聊型对话机器人,产生有意义且丰富的响应。 Rule-based system:对话经过预定义的规则(关键词、if-else、机器学习方法等)处理,然后执行相原创 2017-11-28 16:48:08 · 1992 阅读 · 0 评论 -
记忆网络之在对话系统中的应用
记忆网络之在对话系统中的应用前面几天看了下Jason Weston等人在对话系统方面的工作,可以看成是对Memory Networks的扩展吧,应用到了对话领域中,主要看了下面三篇论文,基本上是按照发表时间顺序来的,接下来我们逐篇来介绍一下其主要工作内容:evaluating prerequisite qualities for learning end-to-end dialog system原创 2017-11-16 22:00:50 · 3078 阅读 · 0 评论 -
记忆网络之Gated End-To-End Memory Networks
记忆网络之Gated End-to-End Memory Networks今天要介绍的论文“gated end-to-end memory networks”时16年10月份发布的,他是在End-To-End Memory Networks这篇论文的基础上做了一些修改。因为End-To-End Memory Networks在multi-fact QA、 positional reasoning、原创 2017-11-03 21:16:30 · 1541 阅读 · 0 评论 -
tensorflow中RNNcell源码分析以及自定义RNNCell的方法
我们在仿真一些论文的时候经常会遇到一些模型,对RNN或者LSTM进行了少许的修改,或者自己定义了一种RNN的结构等情况,比如前面介绍的几篇memory networks的论文,往往都需要按照自己定义的方法来构造RNN网络。所以本篇博客就主要总结一下RNNcell的用法以及如何按照自己的需求自定义RNNCell。tf中RNNCell的用法介绍我们直接从源码的层面来看一看tf是如何实现RNNCell定义原创 2017-10-31 16:44:16 · 10798 阅读 · 3 评论 -
深度学习装机、系统、环境配置指南--预算15000
随着要处理的任务越来越复杂,对计算能力要求越来越高,所以最近萌生了要自己配一台深度学习主机的想法。只是苦于一直没有钱==然后很幸运的被评上了国奖,果断入手!!!!然后就是历时一周的各种查资料看博客上京东看价钱的来回对比,终于从一个完全小白变身成入门级玩家。下面就详细说一下自己的配置和装机经历,满满的血泪史啊。。。主机配件先来说一下关于主机配件的选择,由于预算只有15000左右,所以呢只能配一个单显卡原创 2017-10-29 21:43:47 · 10703 阅读 · 5 评论 -
记忆网络之Neural Turing Machines
记忆网络之Neural Turing Machines前面介绍了Memory Networks相关的几篇文献,接下来让我们从新回到Memory的起点,也就是DeepMind在14年发表的“Neural Turing Machines”这篇论文。这是第一篇提出使用外部memory模块来增强神经网络记忆能力的论文,我将结合Tristan Deleu的博客对该论文进行介绍。(因为论文很长,前面两章都是从历原创 2017-10-23 20:08:50 · 2467 阅读 · 0 评论 -
记忆网络之Hierarchical Memory Networks(架构分层)
记忆网络之Hierarchical Memory Networks(架构分层)这是中科院去年发表的一篇论文“Hierarchical Memory Networks for Answer Selection on Unknown Words”。其仿真代码作者已经开源,是用Lasagne实现的。虽然和上一篇一样都叫做“Hierarchical Memory Networks”,但是却千差万别。上一篇主原创 2017-10-18 20:03:29 · 4095 阅读 · 0 评论 -
记忆网络之Hierarchical Memory Networks
记忆网络之Hierarchical Memory Networks这是Bengio团队在2017年发表在ICLR上面的论文“hierarchical Memory Networks”,这篇论文的主要思想是使用分层结构的Memory,目的是在维持准确度的基础上实现训练速度的提升。因为当需要的记忆量很大时,对所有的记忆进行Attention操作,必然会及其浪费时间,而通过本文提出的Hierarchica原创 2017-10-14 16:37:08 · 2035 阅读 · 0 评论 -
记忆网络之Dynamic Memory Networks模型介绍及代码实现
记忆网络之Dynamic Memory Networks今天我们要介绍的论文是“Ask Me Anything: Dynamic Memory Networks for Natural Language Processing”,这篇论文发表于2015年6月,从题目中就可以看得出来,本文所提出的模型在多种任务中均取得了非常优秀的表现,论文一开始说道,NLP中很多任务都可以归结为QA问题,所以本文...原创 2017-10-11 17:14:26 · 14218 阅读 · 8 评论 -
记忆网络之Key-Value Memory Networks tensorflow实现
记忆网络之Key-Value Memory Networks tensorflow实现前面我们介绍了Key-Value Memory Networks这篇论文,这里我们介绍一下该论文使用tensorflow的实现方法。其实github上面有一个实现方案,但是该方案用于仿真bAbI任务的数据集,与QA任务还有一定的区别,又与之前一篇End-to-End MemNN已经对该数据进行了仿真实现,所以这篇文原创 2017-10-08 21:41:40 · 2946 阅读 · 1 评论 -
记忆网络之Key-Value Memory Networks
记忆网络之Key-Value Memory Networks今天要介绍的这篇文章是Facebook在2016年6月发表的一篇文章,相比之前的两篇可以说是更加完美的将Memory Networks应用的了QA任务上。End-To-End那篇文章相比第一篇解决的强监督的问题,从而提出一种端到端的记忆网络,但仍然没有运用到QA的数据集上(虽然专栏的第三篇文章介绍了两篇使用该模型进行QA数据集训练的方法,但原创 2017-09-30 16:22:44 · 4201 阅读 · 0 评论 -
记忆网络之open-domain QA 应用
记忆网络之open-domain QA 应用前面两篇文章分别介绍了Memory Networks和End-To-End MemNN两种模型,但是都是基于bAbI数据集进行的介绍,更像是一种阅读理解式的任务,也就是给定一段文字和一个问题,从中找出答案。然而平时遇到的QA任务,往往并不会给定一段材料和问题,而是直接给一个问题需要给出答案,那么这种情况下应该如何使用记忆网络的模型来解决呢?我们这次结合两篇原创 2017-09-28 21:17:11 · 3610 阅读 · 0 评论 -
记忆网络之End-To-End Memory Networks
记忆网络之End-To-End Memory Networks这是Facebook AI在Memory networks之后提出的一个更加完善的模型,前文中我们已经说到,其I和G模块并未进行复杂操作,只是将原始文本进行向量化并保存,没有对输入文本进行适当的修改就直接保存为memory。而O和R模块承担了主要的任务,但是从最终的目标函数可以看出,在O和R部分都需要监督,也就是我们需要知道O选择的相关记原创 2017-09-26 11:37:48 · 3737 阅读 · 1 评论 -
记忆网络之Memory Networks
Memory Network是深度学习的一个小分支,从2014年被提出到现在也逐渐发展出了几个成熟的模型,我比较关注的是其在QA领域的应用和发展。本专栏会选择几篇论文比较系统的介绍Memory Network相关的模型和应用。对一些论文也会结合TensorFlow的实现进行介绍。第一篇要介绍的论文是FaceBook在2014年发表的论文“Memory Networks”,与其同期提出的“Neural原创 2017-09-25 10:40:41 · 7132 阅读 · 0 评论 -
Tracking the World State with Recurrent Entity Networks--阅读笔记和TensorFlow实现
这篇论文是facebook在前段时间ICLR会议上发表的论文,提出了一种Recurrent Entity Network的模型用来对world state进行建模,实时的根据模型的输入对记忆单元进行更新,从而得到对world的一个即时的认识。该模型可以用于机器阅读理解、QA等领域。下面对论文所提出的模型架构进行一个简单的概述:1,论文提出了一种新的动态记忆网络,其使用固定长度的记忆单元来存储世界上的原创 2017-09-12 21:08:32 · 2624 阅读 · 2 评论 -
深度学习与文本分类总结第二篇--大规模多标签文本分类
上一篇博客中我们已经总结了文本分类中常用的深度学习模型,因为知乎的本次竞赛是多标签的文本分类任务,这也是我第一次接触多标签分类,所以想单独写一篇博客来记录这方面的相关知识。原创 2017-09-07 20:54:26 · 22721 阅读 · 8 评论 -
tensorflow报错:setting an array element with a sequence
最近很多人跟我发私信说会遇到这个问题,其实我之前也遇到过两次,但是感觉当时试了试就解决了,没以为是一个很常见的问题。所以写篇博客来记录一下这个问题,方便以后使用。首先来说这个问题一般会发生在读取数据的时候,也就是把我们Python里面的数据传递给placeholder的时候回报这个错。我之前的解决方法是将要传入的数据全部使用np.array()函数改写。注意这里是全部改写。也就是说如果你要传入的是一原创 2017-09-05 18:28:32 · 63970 阅读 · 1 评论 -
深度学习与文本分类总结第一篇--常用模型总结
前面一段时间一直忙着参加知乎看山杯机器学习挑战赛,现在比赛结束了想着总结一下最近的收获。因为这是一个多标签多类别的文本分类问题,而且题目非常适合用深度学习相关的知识去做,正好结合着这个竞赛把之前一段时间的学习成果检验一下。接下来我会分成常用模型总结、多标签/多类别专题、竞赛实战三部分进行介绍。 首先我们先来总结一下文本分类中常用的几个深度学习模型,这里可以参考brightsmart大神在githu原创 2017-08-16 22:18:27 · 17937 阅读 · 3 评论 -
tensorflow中如何进行可视化和减轻过拟合
TensorFlow可视化界面与过拟合最近因为一些需要所以做了一个关于TensorFlow如何使用tensorboard进行可视化以及如何减轻模型训练过程中的过拟合现象的小demo。这里就直接发出来供大家参考~~本文代码可以前往我的github进行查看。TensorFlow可视化界面–tensorboard介绍tensorflow提供了一个十分强大的功能–tensorboard可视化面板,我想这也是原创 2017-08-15 10:30:29 · 9860 阅读 · 0 评论 -
Hierarchical Attention Network for Document Classification--tensorflow实现篇
上周我们介绍了Hierarchical Attention Network for Document Classification这篇论文的模型架构,这周抽空用tensorflow实现了一下,接下来主要从代码的角度介绍如何实现用于文本分类的HAN模型。数据集首先介绍一下数据集,这篇论文中使用了几个比较大的数据集,包括IMDB电影评分,yelp餐馆评价等等。选定使用yelp2013之后,一开始找数据集原创 2017-07-02 16:08:08 · 14387 阅读 · 35 评论 -
Tensorflow中使用TFRecords高效读取数据--结合NLP数据实践
之前一篇博客在进行论文仿真的时候用到了TFRecords进行数据的读取操作,但是因为当时比较忙,所以没有进行深入学习。这两天看了一下,决定写篇博客专门结合该代码记录一下TFRecords的相关操作。 首先说一下为什么要使用TFRecords来进行文件的读写,在TF中数据的传入方式主要包含以下几种:供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据原创 2017-06-23 20:15:20 · 14505 阅读 · 6 评论 -
Hierarchical Attention Network for Document Classification阅读笔记
最近看了”Hierarchical Attention Network for Document Classification”一篇文章,也在网上找了一些资料结合理解,发现在此之前有篇文章跟他提出的模型架构基本相似,只不过不包含attention机制:“Document Modeling with Gated Recurrent Neural Network for Sentiment Class原创 2017-06-22 21:06:43 · 16023 阅读 · 5 评论 -
阅读理解任务中的Attention-over-Attention神经网络模型原理及实现
本文是“Attention-over-Attention Neural Networks for Reading Comprehension”的阅读笔记。这篇论文所处理的任务是阅读理解里面的完形填空问题。其模型架构是建立在“Text Understanding with the Attention Sum Reader Network”这篇论文至上。该论文首先提出了将Attention用于完形填空任原创 2017-06-06 09:24:00 · 9459 阅读 · 1 评论 -
基于条件知识库(CKB)的对话问答系统--论文阅读笔记
本文是‘’Learning to Extract Conditional Knowledge for Question Answering using Dialogue‘’论文的阅读笔记。最近开始看QA方面的一些论文,刚入门,很多东西都不太懂,感觉很吃力,慢慢坚持吧==传统的基于知识库(KB)的问答系统,有三元组 (Subject, predicate, Object)组成,缺点在于当前面两者相同但原创 2017-05-28 20:22:36 · 4069 阅读 · 0 评论 -
文本分类实战--从TFIDF到深度学习(附代码)
这几周因为在做竞赛所以没怎么看论文刷题写博客,今天抽时间把竞赛用到的东西总结一下。先试水了一个很小众的比赛–文因互联,由AI100举办,参赛队不足20个,赛题类型是文本分类。选择参赛的主要原因是其不像阿里们举办的竞赛那样,分分钟就干一件事就是特征工程和调参,然后数据又多又乱,不适合入门。其次一个原因就是目前我的研究方向就是NLP,之前也做过一个文本分类的东西,所以就参赛了。这里将主要介绍我在比赛中用原创 2017-05-21 21:55:45 · 58390 阅读 · 31 评论 -
使用TensorFlow实现RNN模型入门篇2--char-rnn语言建模模型
这是使用tf实现RNN模型的第二篇,上次用很简单的例子实现了一个简单的RNN用于解释其原理,这次我们开始结合NLP尝试构建一个char-rnn的语言建模模型。和CNN的入门篇一样,我们这里也直接来分析一个github上star很多的项目,这样我们不仅可以学习到一些编程的标准规范,还能够开始我们的RNN-NLP之旅。闲话少说,先来介绍一下此次要实现的char-rnn模型。 这个模型是Andr原创 2017-05-08 22:04:24 · 14313 阅读 · 5 评论 -
字符级卷积神经网络(Char-CNN)实现文本分类--模型介绍与TensorFlow实现
本篇博客主要用于记录“Character-level Convolutional Networks for Text Classification”论文的模型架构和仿真实现方法。这是一篇2016年4月份刚发的文章,在此之前,原作者还发表过一篇“Text Understanding from Scratch”的论文,两篇论文基本上是一样的,不同之处在于后者从写了Introduction部分,然后又补充原创 2017-04-29 14:51:39 · 42264 阅读 · 40 评论 -
使用TensorFlow实现RNN模型入门篇1
最近在看RNN模型,为简单起见,本篇就以简单的二进制序列作为训练数据,而不实现具体的论文仿真,主要目的是理解RNN的原理和如何在TensorFlow中构造一个简单基础的模型架构。其中代码参考了这篇博客。数据集首先我们看一下实验数据的构造:输入数据X:在时间t,Xt的值有50%的概率为1,50%的概率为0;输出数据Y:在实践t,Yt的值有50%的概率为1,50%的概率为0,除此之外,如果`Xt-3原创 2017-04-27 13:04:05 · 17503 阅读 · 12 评论 -
循环神经网络RNN在自然语言处理领域的应用
之前看的论文都是基于CNN在NLP上的应用,但其实深度学习与NLP结合的领域中应用最广的应该是RNN,因为文本可以直观地被表示为输入序列,方便的被RNN处理,捕获其Long-Term依赖等信息,而且实际应用中也取得了很好的效果。之前虽然主要研究CNN,但同时也看了很多关于RNN、LSTM、GRU等模型原理的介绍,使用方法,也读过一些代码。本篇博客作为RNN与NLP领域开启的第一篇,主要介绍一下之前看原创 2017-04-21 08:58:36 · 12396 阅读 · 0 评论