Skip to main content

High-level library for building and testing neural dialogue systems

Project description

Neural DSRT: Neural dialogue systems for humans

license

Newborn from the University of Maryland, Neural DSRT (pronounced dessert) is a high-level neural dialogue systems API, written in Python and running on top of familiar deep-learning (DL) and machine-learning (ML) libraries like Keras, TensorFlow, and scikit-learn. It focuses on allowing for the easy construction, training, and testing of neural dialogue models.

Its key purpose is to enable rapid development and experimentation in a burgeoning field otherwise bereft of high-level libraries with busy researchers in mind.

What is it for?

Neural DSRT is all about building end-to-end dialogue systems using state-of-the-art neural dialogue models. It is a new project (born at the University of Maryland in the waining days and weeks of March, 2018), and it still has a lot of growing to do.

In order to help that growth along, we adopt a few guiding principles liberally from Keras:

  • User-friendliness. Ease-of-use should be front and center, the library should expose consistent & simple APIs, and should minimize the amount of work involved in getting common use-cases up and running. The focus should be on enabling rapid, hassle-free experimentation with neural dialog models.

  • Modularity. Dialogue experiments, and their constituent components -- dataset wrappers, data preprocessors, neural dialogue models, conversation objects -- should alike be implemented as fully-configurable modules that can be plugged together with as few restrictions as possible. Experiments, and their components, should be richly configurable -- but components should fall back on sensible defaults, so that configuration should never be necessary

  • Extensibility. New modules should be simple to add (as new classes and functions), and existing modules and scripts should provide ample and liberally documented examples.

How do I use it? 90 seconds to Neural DSRT

This quickstart guide has yet to be written -- but it should be coming soon.

How can I install it?

Before attempting to install Neural DSRT, you'll need to install Keras (which it's built on):

In installing Keras, you'll of course need to install a neural-network backend. We recommend TensorFlow:

Once you've done this, you're ready to install DSRT. Currently, the only way to do this is from the GitHub source. Thankfully, this is pretty easy, so long as you have pip installed on your machine (did we mention you'll need Python? you'll need Python -- we recommend the latest version of Python 3).

Just in case, instructions for installing pip may be found here:

Assuming you've followed up until this point, proceed to clone DSRT using git:

git clone https://github.com/sbarham/dsrt.git

Now, cd to the Neural DSRT folder and install using pip:

cd dsrt
sudo pip install .

It's as easy as that. Now you're ready to use Neural DSRT!

How can I help?

As we mentioned above, DSRT is very young -- in fact, it's only a few weeks old at the moment. If you're a developer (and especially if you're confident with deep learning, machine learning, or neural dialogue systems) and you'd like to help, please contact the original authors directly at sbarham@cs.umd.edu. We'd love to collaborate with you.

Project details


Release history Release notifications

This version

0.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dsrt, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size dsrt-0.0.1-py2.py3-none-any.whl (36.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size dsrt-0.0.1.tar.gz (25.1 MB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page