cakechat - CakeChat: Emotional Generative Dialog System

  •        982

It is written in Theano and Lasagne. It uses end-to-end trained embeddings of 5 different emotions to generate responses conditioned by a given emotion. The code is flexible and allows to condition a response by an arbitrary categorical variable defined for some samples in the training data. With CakeChat you can, for example, train your own persona-based neural conversational model[5] or create an emotional chatting machine without external memory[4].



Related Projects

plato-research-dialogue-system - This is the Plato Research Dialogue System, a flexible platform for developing conversational AI agents

  •    Python

The Plato Research Dialogue System is a flexible framework that can be used to create, train, and evaluate conversational AI agents in various environments. It supports interactions through speech, text, or dialogue acts and each conversational agent can interact with data, human users, or other conversational agents (in a multi-agent setting). Every component of every agent can be trained independently online or offline and Plato provides an easy way of wrapping around virtually any existing model, as long as Plato's interface is adhered to. Plato wrote several dialogues between characters who argue on a topic by asking questions. Many of these dialogues feature Socrates including Socrates' trial. (Socrates was acquitted in a new trial held in Athens, Greece on May 25th 2012).

DeepQA - My tensorflow implementation of "A neural conversational model", a Deep learning based chatbot

  •    Python

This work tries to reproduce the results of A Neural Conversational Model (aka the Google chatbot). It uses a RNN (seq2seq model) for sentence predictions. It is done using python and TensorFlow. The loading corpus part of the program is inspired by the Torch neuralconvo from macournoyer.

neuralconvo - Neural conversational model in Torch

  •    Lua

This is an attempt at implementing Sequence to Sequence Learning with Neural Networks (seq2seq) and reproducing the results in A Neural Conversational Model (aka the Google chatbot). Human: What is the purpose of living? Machine: To live forever.

stealth - An open source Ruby framework for conversational voice and text chatbots. 🤖

  •    Ruby

Stealth is a Ruby based framework for creating conversational (voice & chat) bots. It's design is inspired by Ruby on Rails's philosophy of convention over configuration. It has an MVC architecture with the slight caveat that views are aptly named replies. Stealth is extensible. All service integrations are split out into separate Ruby Gems. Things like analytics and natural language processing (NLP) can be added in as gems as well.

rasa_core - Rasa Core is now part of the Rasa repo: An open source machine learning framework to automate text-and voice-based conversations

  •    Python

Licensed under the Apache License, Version 2.0. Copyright 2019 Rasa Technologies GmbH. Copy of the license. A list of the Licenses of the dependencies of the project can be found at the bottom of the Libraries Summary.

Rasa - Create chatbots and voice assistants

  •    Python

Rasa is an open source machine learning framework to automate text-and voice-based conversations. With Rasa, you can build chatbots on Facebook, Slack, Microsoft Bot Framework, Rocket.Chat, Mattermost, Telegram etc. Rasa's primary purpose is to help you build contextual, layered conversations with lots of back-and-forth. To have a real conversation, you need to have some memory and build on things that were said earlier. Rasa lets you do that in a scalable way.

tf_seq2seq_chatbot - [unmaintained]

  •    Python

Note: the repository is not maintained. Feel free to PM me if you'd like to take up the maintainance. Build a general-purpose conversational chatbot based on a hot seq2seq approach implemented in tensorflow. Since it doesn't produce good results so far, also consider other implementations of seq2seq.

transfer-learning-conv-ai - 🦄 State-of-the-Art Conversational AI with Transfer Learning

  •    Python

The present repo contains the code accompanying the blog post 🦄 How to build a State-of-the-Art Conversational AI with Transfer Learning. This code is a clean and commented code base with training and testing scripts that can be used to train a dialog agent leveraging transfer Learning from an OpenAI GPT and GPT-2 Transformer language model.

seq2seq_chatbot_links - Links to the implementations of neural conversational models for different frameworks


Links to the implementations of neural conversational models for different frameworks. Contributions are welcomed. A dialog system that is able to express emotions in a text conversation. See online demo.

RLSeq2Seq - Deep Reinforcement Learning For Sequence to Sequence Models

  •    Python

NOTE: THE CODE IS UNDER DEVELOPMENT, PLEASE ALWAYS PULL THE LATEST VERSION FROM HERE. In recent years, sequence-to-sequence (seq2seq) models are used in a variety of tasks from machine translation, headline generation, text summarization, speech to text, to image caption generation. The underlying framework of all these models are usually a deep neural network which contains an encoder and decoder. The encoder processes the input data and a decoder receives the output of the encoder and generates the final output. Although simply using an encoder/decoder model would, most of the time, produce better result than traditional methods on the above-mentioned tasks, researchers proposed additional improvements over these sequence to sequence models, like using an attention-based model over the input, pointer-generation models, and self-attention models. However, all these seq2seq models suffer from two common problems: 1) exposure bias and 2) inconsistency between train/test measurement. Recently a completely fresh point of view emerged in solving these two problems in seq2seq models by using methods in Reinforcement Learning (RL). In these new researches, we try to look at the seq2seq problems from the RL point of view and we try to come up with a formulation that could combine the power of RL methods in decision-making and sequence to sequence models in remembering long memories. In this paper, we will summarize some of the most recent frameworks that combines concepts from RL world to the deep neural network area and explain how these two areas could benefit from each other in solving complex seq2seq tasks. In the end, we will provide insights on some of the problems of the current existing models and how we can improve them with better RL models. We also provide the source code for implementing most of the models that will be discussed in this paper on the complex task of abstractive text summarization.

NLP-Models-Tensorflow - Gathers machine learning and Tensorflow deep learning models for NLP problems, 1

  •    Jupyter

NLP-Models-Tensorflow, Gathers machine learning and tensorflow deep learning models for NLP problems, code simplify inside Jupyter Notebooks 100%. I will attached github repositories for models that I not implemented from scratch, basically I copy, paste and fix those code for deprecated issues.

seq2seq - Sequence to Sequence Learning with Keras

  •    Python

Hi! You have just found Seq2Seq. Seq2Seq is a sequence to sequence learning add-on for the python deep learning library Keras. Using Seq2Seq, you can build and train sequence-to-sequence neural network models in Keras. Such models are useful for machine translation, chatbots (see [4]), parsers, or whatever that comes to your mind. That's it! You have successfully compiled a minimal Seq2Seq model! Next, let's build a 6 layer deep Seq2Seq model (3 layers for encoding, 3 layers for decoding).

Stock-Prediction-Models - Gathers machine learning and deep learning models for Stock forecasting including trading bots and simulations

  •    Jupyter

Stock-Prediction-Models, Gathers machine learning and deep learning models for Stock forecasting, included trading bots and simulations. I code LSTM Recurrent Neural Network and Simple signal rolling agent inside Tensorflow JS, you can try it here,, you can download any historical CSV and upload dynamically.

ChatterBot - ChatterBot is a machine learning, conversational dialog engine for creating chat bots

  •    Python

ChatterBot is a machine-learning based conversational dialog engine build in Python which makes it possible to generate responses based on collections of known conversations. The language independent design of ChatterBot allows it to be trained to speak any language. An untrained instance of ChatterBot starts off with no knowledge of how to communicate. Each time a user enters a statement, the library saves the text that they entered and the text that the statement was in response to. As ChatterBot receives more input the number of responses that it can reply and the accuracy of each response in relation to the input statement increase. The program selects the closest matching response by searching for the closest matching known statement that matches the input, it then returns the most likely response to that statement based on how frequently each response is issued by the people the bot communicates with.

seq2seq-couplet - Play couplet with seq2seq model. 用深度学习对对联。

  •    Python

This is a project use seq2seq model to play couplets (对对联)。 This project is written with Tensorflow. You can try the demo at You will need some data to run this program, the dataset can be downloaded from this project.

seq2seq - Minimal Seq2Seq model with Attention for Neural Machine Translation in PyTorch

  •    Python

Minimal Seq2Seq model with attention for neural machine translation in PyTorch. This implementation relies on torchtext to minimize dataset management and preprocessing parts.

TC-Bot - User Simulation for Task-Completion Dialogues

  •    OpenEdge

An implementation of the End-to-End Task-Completion Neural Dialogue Systems and A User Simulator for Task-Completion Dialogues. This document describes how to run the simulation and different dialogue agents (rule-based, command line, reinforcement learning). More instructions to plug in your customized agents or user simulators are in the Recipe section of the paper.

Facebook-Messenger-Bot - Facebook chatbot that I trained to talk like me using Seq2Seq

  •    Python

The FB Messenger chatbot that I trained to talk like me. The associated blog post. For this project, I wanted to train a Sequence To Sequence model on my past conversation logs from various social media sites. You can read more about the motivation behind this approach, the details of the ML model, and the purpose of each Python script in the blog post, but I want to use this README to explain how you can train your own chatbot to talk like you.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.