GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ghbtest/ChatScript: Natural Language tool/dialog manager

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

412 Commits
412 Commits

Folders and files

NameName
Last commit message
Last commit date
BINARIES
BINARIES
 
 
DICT
DICT
 
 
HTMLDOCUMENTATION
HTMLDOCUMENTATION
 
 
LIVEDATA
LIVEDATA
 
 
LOEBNERVS2010
LOEBNERVS2010
 
 
NON-WINDOWS NON-C
NON-WINDOWS NON-C
 
 
PAPERS
PAPERS
 
 
PDFDOCUMENTATION
PDFDOCUMENTATION
 
 
RAWDATA
RAWDATA
 
 
REGRESS
REGRESS
 
 
SERVER BATCH FILES
SERVER BATCH FILES
 
 
SRC
SRC
 
 
SUBLIME TEXT EDITOR
SUBLIME TEXT EDITOR
 
 
TOPIC
TOPIC
 
 
VERIFY
VERIFY
 
 
VS2010
VS2010
 
 
VS2015
VS2015
 
 
WEBINTERFACE
WEBINTERFACE
 
 
WIKI
WIKI
 
 
.gitignore
.gitignore
 
 
README.html
README.html
 
 
README.md
README.md
 
 
README.pdf
README.pdf
 
 
authorizedIP.txt
authorizedIP.txt
 
 
changes.md
changes.md
 
 
changes.txt
changes.txt
 
 
license.txt
license.txt
 
 
talk.vbs
talk.vbs
 
 
version.txt
version.txt
 
 

Repository files navigation

ChatScript

Natural Language tool/dialog manager

ChatScript is the next generation chatbot engine that has won the Loebner's 4 times and is the basis for natural language company for a variety of tech startups.

ChatScript is a rule-based engine, where rules are created by humans writers in program scripts through a process called dialog flow scripting. These use a scripting metalanguage (simply called a "script") as their source code. Here what a ChatScript script file looks like:

#
# file: food.top
#
topic: ~food []

#! I like spinach
s: ( I like spinach ) Are you a fan of the Popeye cartoons?
	a: ( yes )  I used to watch him as a child. Did you lust after Olive Oyl?
    	    b: ( no ) Me neither. She was too skinny.
    		b: ( yes ) You probably like skinny models.
	a: ( no ) What cartoons do you watch?
     		b: ( none ) You lead a deprived life.
     		b: ( Mickey Mouse ) The Disney icon.

#! I often eat chicken
u: ( ![ not never rarely ] I * ~ingest * ~meat ) You eat meat.

#! I really love chicken
u: ( !~negativeWords I * ~like * ~meat ) You like meat.

#! do you eat bacon?
?: (do you eat _ [ ham eggs bacon]) I eat '_0

#! do you like eggs or sushi?
?: (do you like _* or _*) I don't like '_0 so I guess that means I prefer '_1.

#! I adore kiwi.
s: ( ~like ~fruit ![~animal _bear] )  Vegan, you too...

#! do you eat steak?
?: (do you eat _~meat) No, I hate _0.

#! I eat fish.
s: ( I eat _*1 >) 
  $food = '_0 
  I eat oysters.

Above example mentioned in article How to build your first chatbot using ChatScript.

Basic Features

  • Powerful pattern matching aimed at detecting meaning.
  • Simple rule layout combined with C-style general scripting.
  • Built-in WordNet dictionary for ontology and spell-checking.
  • Extensive extensible ontology of nouns, verbs, adjectives, adverbs.
  • Data as fact triples enables inferencing and supports JSON representation.
  • Rules can examine and alter engine and script behavior.
  • Planner capabilities allow a bot to act in real/virtual worlds.
  • Remembers user interactions across conversations.
  • Document mode allows you to scan documents for content.
  • Ability to control local machines via popen.
  • Ability to read structured JSON data from websites.
  • Postgres and Mongo support for big data or large-user-volume chatbots.

OS Features

  • Runs on Windows or Linux or Mac or iOS or Android
  • Fast server performance supports a thousand simultaneous users.
  • Multiple bots can cohabit on the same server.

Support Features

  • Mature technology in use by various parties around the world.
  • Integrated tools to support maintaining and testing large systems.
  • UTF8 support allows scripts written in any language
  • User support forum on Chatbots.org and here

Getting started

Installation

Take this project and put it into some directory on your machine (typically we call the directory ChatScript, but you can name it whatever). That takes care of installation.

git clone https://github.com/bwilcox-1234/ChatScript

How to run locally on a console (for developement/test)

Windows

Go to the BINARIES directory and type ChatScript:

cd BINARIES && ChatScript

Linux

cd BINARIES && ./LinuxChatScript64 local

MacOS

cd BINARIES && ./MacChatScript local

This will cause ChatScript to load and ask you for a username. Enter whatever you want. You are then talking to the default demo bot Harry.

How to run as a server (for production)

Windows

Go to the BINARIES directory and type ChatScript port=1024

cd BINARIES && ChatScript port=1024

Linux

cd BINARIES && ./LinuxChatScript64

MacOS

cd BINARIES && ./MacChatScript

This will cause ChatScript to load as a server. But you also need a client (to test client-server communication). You can run a separate command window and go to the BINARIES directory and type ChatScript client=localhost:1024 if you are on Windows, or type ./LinuxChatScript64 client=localhost:1024 if you are on Linux. This will cause ChatScript to load as a client and you can talk to the server.

How to build the engine.

On windows if you have Visual Studio installed, launch VS2010/chatscript.sln or VS2015/chatscript.sln and do a build. The result will go in the BINARIES directory.

On Linux, go stand in the SRC directory and type make server (assuming you have make and g++ installed). This creates BINARIES/ChatScript, which can run as a server or locally. There are other make choices for installing PostGres or Mongo.

How to build a bot

Run ChatScript locally. From the ChatScript command prompt, type

:build Harry

or whatever other preinstalled bot exists. If you have revised basic data, you can first do :build 0 .

Full Documentation

ChatScript Wiki (user guides, tutorials, papers)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Last releases

changes.md

Author

  • Bruce Wilcox
    • home website: BrilligUnderstanding.com
    • mail: [email protected]

About

Natural Language tool/dialog manager

Resources

Readme
MIT license
Activity

Stars

0 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.