Reference Architectures
Name | Language | Cost | License | Overview |
---|---|---|---|---|
Virtual Human Toolkit | various | free for research | custom | The Virtual Human Toolkit is based on the ICT Virtual Human Architecture. This architecture defines at an abstract level what modules are needed to realize a virtual human, and how these modules interact. The basic functionality of each module as well as its interface is well-defined, but its actual implementation falls outside the scope of the architecture. The architecture dictates the implementation of a distributed system where communication is mostly realized using message passing. This allows for multiple implementations of a certain module and simple substitution of one implementation for another during run-time. It also allows for distributed systems, where different modules run on separate computers. ICT has developed a general framework, consisting of libraries, tools and methods that serve to support relatively rapid development of new modules. Using this framework, ICT and its partners have developed a variety of modules, both in the context of basic research as well as more applied projects. The Toolkit provides some of the modules that have been transitioned from this research. Visit the Documentation to learn more about the VH Toolkit's Architecture. |
Olympus | RavenClaw, C++ | Free | BSD-Based License | Olympus is a complete framework for implementing spoken dialog systems. It was created at Carnegie Mellon University (CMU) during the late 2000's and benefits from ongoing improvements in functionality. It's main purpose is to help researchers interested in conversational agents to implement and test their ideas on complete systems, without having to build them on their own. |
Galetea | Ruby on Rails | Free | Galatea Toolkit License Agreement | Galatea is a architecture that aims to provide several decentralized modules that cooperate. Galatea reads like a shell script, and provides simple message dispatch information. |
Midiki | Java | Free | MITRE's Open Source License, LICENSE.sun, LICENSE.norvig | Our objective with Midiki is to bridge that gap between linguists and developers. We want to develop a toolkit that is friendly to linguists, supporting sophisticated behavior while providing full visibility into its internal operations. We are striving to build a toolkit that is agnostic with regard to data distribution method, operating system, programming language, and theory of dialogue. With enough users, we might have a shot at it. |
Ariadne | C++, JavaScript, Java | Free | Carnegie Mellon Copyright | Ariadne is a generic task and language independent dialogue system that generates interactions with users based on a description of an application. This means that an application programmer does not have to design dialogues any more, he or she has to describe the application to be speech enabled such that the dialogue system will understand what it has to do. It is possible to develop new simple application without any programming other than the application description. |
Dipper | C++, Java, OAA | Free | University of Edinburgh GPL License | The DIPPER architecture is a collection of software agents for prototyping spoken dialogue systems. Implemented on top of the Open Agent Architecture (OAA), it comprises agents for speech input and output, dialogue management, and further supporting agents |
PED | Prolog | Free | GNU Lesser General Public License version 2.0 | PED is a dialogue management system that uses a probabilistic nested belief model to choose dialogue strategies from a Bayesian game tree. |
OwlSpeak | PHP | Free | GNU Lesser General Public License version 3.0 | OwlSpeak is an ontology-based spoken dialogue management system. The system is written in Java and uses OWL Spoken Dialogue Ontologies to generate VoiceXML dialogue documents. |
OpenDial | Java | Free | MIT License | OpenDial is a Java-based, domain-independent toolkit for developing spoken dialogue systems. OpenDial was originally designed to perform dialogue management tasks, but it can also be used to build full-fledged dialogue systems, integrating e.g. speech recognition, language understanding, generation, speech synthesis, multimodal processing and situation awareness. |
jmNL | Free | JmNL is a modular NL platform for dialogue agents. JmNL integrates NLU(s), DM(s) and NLG(s). It provides a GUI to debug the characters and it's compatible with the VH protocol for communication with external components. | ||
Let's Go | Free | The objective of the Let's Go! project is to create a basic dialog system that extreme populations such as the elderly and non-natives can access. Though the original Let's Go! project is now over, you can use the Let's Go! system for your own research | ||
Rasa Stack | Free | Rasa Stack is a framework for building conversational software including web, slack or messenger bots or Alexa skills from data and machine learning, currently including tools for nlu and dialogue management and response generation. | ||
ParlAI | Free | is a framework from facebookresearch for training and evaluating AI models on a variety of openly available dialog datasets. | ||
NextNova | Custom pricing | Nextnova is a next generation platform that enables organizations to build and deploy conversational user interfaces for communication platforms, enterprise applications and industrial systems. | ||
VoiceXML | XML | Free | Voice Extensible Markup Language (VoiceXML) is a markup language for creating voice user interfaces that use automatic speech recognition (ASR) and text-to-speech synthesis (TTS). VoiceXML is the only XML-based speech language specification to receive the W3C’s Final Recommendation. VoiceXML simplifies speech application development by permitting developers to use familiar Web infrastructure, tools and techniques. | |
wit.ai | Node.js, Python, Ruby | Free | Terms | Wit is a natural language processing toolkit designed to help developers easily create text or voice based bots that humans can chat with on their preferred messaging platform. |
Alex Dialogue System | Python | Free | Apache 2.0 | The Alex Dialogue Systems Framework is being developed by the dialogue systems group at ÚFAL. The purpose of this work is to facilitate research into and development of spoken dialogue systems. |
IrisTK | Java | Free | GNU General Public License | IrisTK is a Java-based framework for developing multi-modal interactive systems. IrisTK is especially designed to be a powerful framework for social robotics applications. IrisTK provides features such as a framework for building event-based modular interactive systems, a 3D situation modeling framework, input and output interfaces across different modalities, and more. |
PSI | .net | Free | MIT License | PSI (Platform for Situated Intelligence) focuses on constructing an open, extensible platform to enable the fast development of multimodal integrative-AI systems. It has been used for several real-time multimodal dialogue systems, combining visual and spoken information. It includes extensive capabilities for processing, logging, replaying and visualizing real-time streams. |
Halef | VXML | open source | Halef is an open source project aimed at building infrastructure of a VXML-based Spoken Dialog system. It is a combination of different Open Source tools such as Zanzibar, Cairo, JVXML, Sphinx, Festival, Mary and others. | |
PyDial | python | opensource | Apache 2.0 | Pydial is an open-source end-to-end statistical spoken dialogue system toolkit which provides implementations of statistical approaches for all dialogue system modules. |
Amazon Lex | paid | Amazon Lex is a service for building conversational interfaces into any application using voice and text. | ||
Watson Assistant | paid | IBM's Watson Assistant allows developers to quickly build and deploy chatbots and virtual agents. | ||
Huggingface | Python | Free | Apache 2.0 | The Hugging Face API is a popular Python library providing pre-trained transformer models that are extraordinarily useful for a variety of natural language processing (NLP) tasks. It supports PyTorch and Tensorflow 2. |