Skip to content
Ben James edited this page Dec 10, 2016 · 15 revisions

IntroductionTriggersRepliesConversationsTopicsPlugins and FunctionsKnowledgeUnder the Hood


Introduction

What is SuperScript?

SuperScript is a dialog system and bot engine for creating human-like conversation chat bots. It exposes an expressive script for crafting dialogue and features text-expansion using WordNet and information retrieval using a LevelDB graph system.

What comes in the box

  • Dialog engine
  • Multi-user platform for easy integration with group chat systems
  • Message pipeline with POS tagging, sentence analysis and question tagging
  • Extensible plugin architecture
  • A built in graph database using LevelDB and each user has their own SubLevelDB.
  • WordNet, a database for word and concept expansion.

Where can I use this?

SuperScript is platform agnostic. There are example clients for Slack and Telnet and has been tested on Twilio, IRC, Slack, WebRTC, SocketIO, Telegram and TCP.

How it works

When a bot receives a message, it will first create a message object using the ss-message library. By default, some basic analysis like word stemming is performed, but you can write and plug in various extra features you wish to use in your message, such as NLP tagging or question classification.

We then pass this to the dialog engine, which will look for a match to what the user has said using the message, any knowledge the bot has gained, and other mechanisms like whether it's a question, whether we're in a conversation, or any keywords in the user's message that correspond to certain topics.

Once a trigger has been matched, its reply is processed, recorded in the database, and sent back to the user.

All of these ideas are explored further in Under the Hood.

Glossary

  • Topic: a way to logically group one or more gambits that are about a certain topic, such as football or fishing. All your conversations start within a topic. SuperScript will continue to search topics until it finds a matching trigger and reply.
  • Gambit: a trigger, one or more replies, and any additional rules that tell the bot how to reply to a specific input, such as filters.
  • Input: the message sent by the user to the bot.
  • Trigger: a string that is matched against the user's input in order to work out how to respond.
  • Reply: a specific reply given by the bot under certain conditions.
  • Conversation: a set of gambits that will only match if a previous gambit in the conversation chain has already been matched.

Installing

A detailed walkthrough can be find here: Installing


Continue to Triggers

Clone this wiki locally