High-level library for building and testing neural dialogue systems
Neural DSRT: Neural dialogue systems for humans
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 clone https://github.com/sbarham/dsrt.git
cd to the Neural DSRT folder and install using
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
email@example.com. We'd love to collaborate with you.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.