原项目链接:https://github.com/chiphuyen/stanford-tensorflow-tutorials/tree/master/assignments/chatbot

一个使用序列的神经聊天者使用注意解码器对序列模型进行排序。 这是一个功能齐全的chatbot。

这是基于Google 翻译 Tensorflow 模型 https://github.com/tensorflow/models/blob/master/tutorials/rnn/translate/

Chip Huyen 等人的序列到序列模型(2014)

由Chip Huyen创建为作业3的起始代码,CS 20SI 课程:“用于深度学习研究的 TensorFlow ” cs20si.stanford.edu

详细的任务讲义和培训时间的信息可以在 http://web.stanford.edu/class/cs20si/assignments/a3.pdf 找到

A neural chatbot using sequence to sequence model with attentional decoder. This is a fully functional chatbot.

This is based on Google Translate Tensorflow model https://github.com/tensorflow/models/blob/master/tutorials/rnn/translate/

Sequence to sequence model by Cho et al.(2014)

Created by Chip Huyen as the starter code for assignment 3, class CS 20SI: "TensorFlow for Deep Learning Research" cs20si.stanford.edu

The detailed assignment handout and information on training time can be found at http://web.stanford.edu/class/cs20si/assignments/a3.pdf

Sample conversation

HUMAN ++++ hi

BOT ++++ hi . what ' s your name ?

HUMAN ++++ i'm chip

BOT ++++ please .

HUMAN ++++ please what?

BOT ++++ i don ' t know what to say .

HUMAN ++++ where are you from?

BOT ++++ california .

HUMAN ++++ do you like california?

BOT ++++ i ' m okay .

HUMAN ++++ i like california a lot

BOT ++++ of what ?

HUMAN ++++ i live here

BOT ++++ and what is it ?

HUMAN ++++ california

BOT ++++ i don ' t know what to say .

HUMAN ++++ i'm a student here

BOT ++++ and get it out of here .

HUMAN ++++ what do you like to do in your free time?

BOT ++++ and what about the gun ?

HUMAN ++++ do you have a gun?

BOT ++++ yes .

HUMAN ++++ you're dangerous!

BOT ++++ i ' m not .

HUMAN ++++ do you go hunting?

BOT ++++ i can do .

HUMAN ++++ what do you hunt?

BOT ++++ virgin .

HUMAN ++++ that's very bad

BOT ++++ and you in love ?

HUMAN ++++ no i'm not

BOT ++++ please - -

HUMAN ++++ okay, i am

BOT ++++ and you are good .

HUMAN ++++ yeah i am good too.

BOT ++++ good good to you .

HUMAN ++++ are you in love?

BOT ++++ i ' m ready .

HUMAN ++++ ready for what?

BOT ++++ for what ?

HUMAN ++++ for what?

BOT ++++ i don ' t know what to say .

HUMAN ++++ tell me

BOT ++++ i can do it .

HUMAN ++++ okay, tell me what you're ready for

BOT ++++ i ' m doing you .

HUMAN ++++ no you're not

BOT ++++ please !

HUMAN ++++ this is a strange conversation

BOT ++++ i don ' t know what to say .

HUMAN ++++ are you a guy?

BOT ++++ of what ?

HUMAN ++++ are you a boy?

BOT ++++ i ' m fine .

HUMAN ++++ are you a man?

BOT ++++ i ' m a little .

HUMAN ++++ what's your name?

BOT ++++ chris -

HUMAN ++++ chris who?

BOT ++++ cornelius .

HUMAN ++++ so i guess you're a guy.

BOT ++++ i am .

HUMAN ++++ okay

BOT ++++ okay ?

HUMAN ++++ do you have a girlfriend?

BOT ++++ i ' m sure .

HUMAN ++++ what's her name?

BOT ++++ let ' s talk about something else .

See output_convo.txt for more sample conversations.

Usage

Step 1: create a data folder in your project directory, download the Cornell Movie-Dialogs Corpus from https://www.cs.cornell.edu/~cristian/Cornell_Movie-Dialogs_Corpus.html Unzip it

Step 2: python data.py

This will do all the pre-processing for the Cornell dataset.

Step 3: python chatbot.py --mode [train/chat]

If mode is train, then you train the chatbot. By default, the model will restore the previously trained weights (if there is any) and continue training up on that.

If you want to start training from scratch, please delete all the checkpoints in the checkpoints folder.

If the mode is chat, you'll go into the interaction mode with the bot.

By default, all the conversations you have with the chatbot will be written into the file output_convo.txt in the processed folder. If you run this chatbot, I kindly ask you to send me the output_convo.txt so that I can improve the chatbot. My email is huyenn@stanford.edu

If you find the tutorial helpful, please head over to Anonymous Chatlog Donation to see how you can help us create the first realistic dialogue dataset.

Thank you very much!

A neural chatbot using sequence to sequence model with attentional decoder. This is a fully functional chatbot.的更多相关文章

  1. 【论文阅读】Sequence to Sequence Learning with Neural Network

    Sequence to Sequence Learning with NN <基于神经网络的序列到序列学习>原文google scholar下载. @author: Ilya Sutske ...

  2. PP: Sequence to sequence learning with neural networks

    From google institution; 1. Before this, DNN cannot be used to map sequences to sequences. In this p ...

  3. Paper Reading - Convolutional Sequence to Sequence Learning ( CoRR 2017 ) ★

    Link of the Paper: https://arxiv.org/abs/1705.03122 Motivation: Compared to recurrent layers, convol ...

  4. 深度学习方法(八):自然语言处理中的Encoder-Decoder模型,基本Sequence to Sequence模型

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld.技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. Encoder-Decoder(编码- ...

  5. [C5W3] Sequence Models - Sequence models & Attention mechanism

    第三周 序列模型和注意力机制(Sequence models & Attention mechanism) 基础模型(Basic Models) 在这一周,你将会学习 seq2seq(sequ ...

  6. ChatGirl is an AI ChatBot based on TensorFlow Seq2Seq Model

    Introduction [Under developing,it is not working well yet.But you can just train,and run it.] ChatGi ...

  7. sequence to sequence模型

    sequence to sequence模型是一类End-to-End的算法框架,也就是从序列到序列的转换模型框架,应用在机器翻译,自动应答等场景. Seq2Seq一般是通过Encoder-Decod ...

  8. Convolutional Sequence to Sequence Learning 论文笔记

    目录 简介 模型结构 Position Embeddings GLU or GRU Convolutional Block Structure Multi-step Attention Normali ...

  9. Paper Reading - Sequence to Sequence Learning with Neural Networks ( NIPS 2014 )

    Link of the Paper: https://arxiv.org/pdf/1409.3215.pdf Main Points: Encoder-Decoder Model: Input seq ...

随机推荐

  1. 虚拟机Vmware成功安装Ubuntu Server 16.04中文版

    最近想在Linux下学习Python的爬虫开发技术,经过认真考虑优先选择在在Ubuntu环境下进行学习Python的开发,虽然Ubuntu Server 16.04 LTS版本已经集成了Python ...

  2. Vue2学习小记-给Vue2路由导航钩子和axios拦截器做个封装

    1.写在前面 最近在学习Vue2,遇到有些页面请求数据需要用户登录权限.服务器响应不符预期的问题,但是总不能每个页面都做单独处理吧,于是想到axios提供了拦截器这个好东西,再于是就出现了本文. 2. ...

  3. ELK学习总结(4-1)elasticsearch更改mapping(不停服务重建索引)

    elasticsearch更改mapping(不停服务重建索引)原文 http://donlianli.iteye.com/blog/1924721Elasticsearch的mapping一旦创建, ...

  4. 阿里云API网关(6)用户指南(开放 API )

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  5. Linux实用的网站

    ABCDOCKER网站        https://www.abcdocker.com/ 徐亮伟网站          http://www.xuliangwei.com/ 安装centos物理服务 ...

  6. iOS 封装.framework 以及使用

    .framework是什么? .framework是什么? 这个问题相信做iOS的都知道答案. 在我们的日常开发中,经常会用到各种已经封装好的库,比如支付宝.微信SDK等等中的库,这些库可以给我们的开 ...

  7. 在Android项目中使用Java8

    前言 在过去的文章中我介绍过Java8的一些新特性,包括: Java8新特性第1章(Lambda表达式) Java8新特性第2章(接口默认方法) Java8新特性第3章(Stream API) 之前由 ...

  8. RxJava系列2(基本概念及使用介绍)

    RxJava系列1(简介) RxJava系列2(基本概念及使用介绍) RxJava系列3(转换操作符) RxJava系列4(过滤操作符) RxJava系列5(组合操作符) RxJava系列6(从微观角 ...

  9. 【VB超简单入门】四、编译工程及传播程序文件

    四.编译工程及传播程序文件 为什么在这一章中讲到编译这部分内容呢?因为当我们学会怎样用VB开发程序之后,内心肯定喜悦无比.这时候就要和朋友分享一下快乐,所以要先学习编译EXE程序文件. 首先新建工程. ...

  10. MIT许可证

    MIT许可证(The MIT License)是许多软件授权条款中,被广泛使用的其中一种.与其他常见的软件授权条款(如GPL.LGPL.BSD)相比,MIT是相对宽松的软件授权条款. MIT 许可证几 ...