GithubHelp home page GithubHelp logo

lettersporter / rasatalk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jackdh/rasatalk

0.0 2.0 0.0 16.64 MB

A chatbot framework for Rasa NLU

License: MIT License

JavaScript 98.19% HTML 1.79% Dockerfile 0.02%

rasatalk's Introduction

                 

Basic Overview

Rasa Talk is a Dialog Management tool built on top of Rasa NLU. It was built out of a desire for a open source on premise dialog management system. Originally inspired by Rasa UI inspiration was taken from watson conversation.

Rasa Talk can be used as just a training data generator but can also hook your chatbot up to Facebook/Skype/Slack whatever!

Feel free to message me on Gitter chat

Demo

https://www.talk.jackdh.com (User: [email protected] Pass: demo1234)

Installation

Prerequisites

  • Database: Mongodb - You can run this locally or online like mlab
  • Chatbot Brain: Rasa NLU - I reccommend running with Docker
git clone https://github.com/jackdh/RasaTalk/
Rename example.env to '.env'
Update the variables to include your MongoDB server IP and Rasa NLU IP.
yarn
yarn start

Or view https://github.com/jackdh/RasaTalk/wiki/Setup for a more detailed setup guide

Up and Running

  • Update .env with correct environment variables.
  • Create a new user
  • Add a new Agent
  • Add some intents to the agent
  • Add some expressions to the intents.
  • Add entities if required.
  • Start training the model
  • Create a dialog node which is recognised by either and Intent or Regex.
  • Populate the rest of the node
  • Test it out on the right!

Features

Facebook / Skype / Third parties.

Third Party Intregration

Due to the constumisable nature of RT it's possible to hook it up to practically any third party chatbot you'd like. For starters I've included a quick example of how you might use [Botkit](https://github.com/howdyai/botkit) as a middleware to get to Facebook

Currently Facebook has been enabled with Slack and many more still to come!

Generate Rasa NLU Training Data

  • Agents - Create multiple agents to host multiple chatbots from one backend.
  • Intents / Expressions - Build multiple varied expressions within the agents either manually or with the variant generator.
  • Entities - Create multiple entities with their synonyms.
  • Entity insertion - Highlight to insert entities into expressions

Quickly add training data with entities

Dialog Management

  • Watson Conversation style dialog management.
  • Regex based or Intent based recognition.
  • Dynamic recognition with multiple Intents or Entities ie: #intent OR @entity
  • Smart contextual awareness
  • Slot Filling with default slot or prompting
  • Multiple and or varied responses.
  • Jump to nodes
  • Send and use REST API web hooks within nodes.
  • Conditional based responses, webhooks, jump to's.
  • Save user responses for future use within nodes or API's
  • Create quick reply buttons.

Dialog management Updating Nodes

Permission Based Editing

  • Role based, Group Based & individual user permissions.
  • Create secure user accounts using PassportJS
  • Limit user access to certain features within the application.

Fine grain permission control

Training Rasa

  • Convert Intents into training data.
  • Accurate entity insertion (Not just search and replace)
  • View current training time.
  • View models currently in training.

Generate, download & train Rasa UI.

Built in Chatbot / Rasa parsers

  • Ping the Rasa server directly to get a JSON response.
  • Test the chatbot directly to see output of dialog management.

Directly see NLU results and chatbot outputs.

Still to come!

Further Analytics

  • Fill out the front dashboard to expand on the simple analytics.

History

  • View user's chats with the chatbot.
  • Filter down based on criteria such as Dates, Topics or Intents.

Small Talk

  • Implement simple small talk.

Todo / Help requested!

  • Increase test coverage to 100%.
  • Add Travis / Appveyor
  • Provide autocomplete options for fields such as nodes.
  • Better validation / error notifications.
  • Add rename option for intents / expressions
  • Add backup option for node / training data.
  • Add sockets for chat as well as update notifications.

Known issues

  • Prettier is picking up a non existent issue with spacing.
  • Dashboard analytics need a default value.

Thanks

@Material-UI React Boilerplate

rasatalk's People

Contributors

jackdh avatar imgbotapp avatar

Watchers

James Cloos avatar 萌级小菜鸟 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.