AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

ChatScript 4.4e released - HIGHLY STABLE
 
 

While it is unlikely that anyone else will be entering a ChatScript bot into the Loebner qualifiers, in case you want to, this version of CS has been tested for stability and the loebner.exe has been updated to correspond.

 

 
  [ # 1 ]

How (if) did you fix the problem of losing connection with the judge program if the chatbot is reset mid-conversation? I’m not using ChatScript, but I would still have that problem and can only think to store the last sent number in a file to recall on reboot.

 

 
  [ # 2 ]

DIdn’t try to.

Nominally, you can PRESUME how the judge program works but the protocol does not actually provide you with enough information to know if the chatbot is seeing a new judge (and being restarted because of that) or an old judge.  The organizers, in the event of a communications failure, SHOULD RESTART BOTH ENDS, but they have not always been told about that, including at last year’s loebner finals.

Yes, you could just continue your last numbering and hope for the best. I will probably amend CS to do that.

 

 
  [ # 3 ]

My goal is to impress Bletchley Park with a fully automated self contained contest entry that needs no installation nor reboot.  It just wakes up on a Live Windows box and performs the contest flawlessly with no human interaction or harddrive usage, except for the human interaction and harddrive usage that the contest rules require.

This saves money in airfare, hotel or delivery charges. It saves work too. There is no installation nor uninstall procedure, other than loading and unloading the DVD drive by pressing a button. 

In short, it should be a pleasure and convenience at Bletchley Park.  But first it has to get there.  Last time, in 6th place, it never made it out of New York.  Perhaps ChatScript may be just what is needed for my Live DVD chatbot contest entry to make its debut in the UK. 

What do you think, Bruce?

___________________________________________________________________________
Credit due AIML for competing flawlessly in the contest on a Live DVD two years running.

 

 
  [ # 4 ]

If you are asking me if I want to enter Rose via LiveDVD then no thanks. I’ll just be emailing them a zip, and they’ve managed unzipping as installation previously.

 

 
  [ # 5 ]

It would be fantastic to be partners, but that is not what I meant to ask you this time.  You said, “While it is unlikely that anyone else will be entering a ChatScript bot into the Loebner qualifiers, ” so I meant to ask you about that unlikely event.  Do you think a ChatScript bot may be compatible with a self contained fully automated Live DVD that does not use a harddrive (except as required by the contest rules)?


( grin Thanks for saving me from wasting a couple of blank DVDs experimenting. )

 

 

 
  [ # 6 ]

Other than the need to write to a file in folders where the program starts (which is why you can’t run ChatScript from a DVD or CD directly), there is nothing special about ChatScript. It does not install anything. You just run the exe and it reads in data files from that current directory.

 

 
  [ # 7 ]

Legend:

~ means home directory, which is like C:\> in Windows.
.  means the directory you are currently in
/  means subdirectory… So ~/CS4 is like C:\CS4 in Windows
.sh file extension means shell script… So LinuxCompile.sh is like LinuxCompile.bat in Windows

____________________________________________________________________


May we discuss the procedure for compiling ChatScript under Linux?

Lets say that we unzip the zip file to directory: ~/CS4

Inside that directory is subdirectory: ~/CS4/LINUX

There is a shell script file: LinuxCompile.sh

Do we run: ./LinuxCompile.sh   from inside subdirectory: ~/CS4/LINUX   ?

Long story short, while it may compile (with help), there *seems* to be runtime issues.

However, I want to screen out that which is easily avoided before reporting any issues.

NOTE:

This post is strictly technical in nature, and subject to change. So it is not intended to assert the opposite of what this thread claims in its title to be highly stable.  It does compile.  This is just to review the correct way to compile it in LINUX.

 

 

 

 
  [ # 8 ]

Normally, I cd to src directory and do “make server”
Which creates a ChatScript and copies it up one directory. Assumes you have make installed and g++

Alternatively, while standing in the main chatscript directory, I give the manual command g++ ...  which is what you see as the first line of LinuxCompile.sh . assumes you have g++ installed

 

 
  [ # 9 ]

Note- the system ships with a 32 and 64 bit version of linux precompiled.
Note also the default on linux is server mode, so you would run it as ./ChatScript local  
to be a stand alone version.

 

 
  [ # 10 ]

Firstly, what follows is all unofficial. This ChatScript bot officially works excellent.  For the sake of discussion only (not to compete with the official support by Bruce), here are a few unofficial tricks that may prove useful for someone to read about, when they may first try compiling ChatScript in LINUX.

The Windows and Linux file formats, I found, were a bit different, when it comes to line breaks, so I got these errors while trying to run LinuxCompile.sh

EXAMPLE 1: Line break errors [SOLVED]

~/CS4/LINUX$ ./LinuxCompile.sh

./LinuxCompile.sh: line 2: $’\r’: command not found
./LinuxCompile.sh: line 3: !//: No such file or directory
./LinuxCompile.sh: line 4: $’\r’: command not found
./LinuxCompile.sh: line 5: $’\r’: command not found
./LinuxCompile.sh: line 6: $’\r’: command not found


Let’s resolve all of them at once by just making a new bash shell script in Linux, then saving it to, and running it from, the main ChatScript directory (like Bruce said alternatively above).

EXAMPLE 2: mycompile.sh

#!/bin/bash

g++ --funsigned-char src/*.cpp -O2  -DDISCARDDATABASE=1 -o chatscript.go -lpthread -lrt 2>>errors.txt 

So if saving this to file: mycompile.sh
Then making it executable with: chmod +x mycompile.sh
It may be run from the main Chatscript directory with: ./mycompile.sh

Hey checkout the -w switch ... That suppresses all those warnings from scrolling all over the place.  But, they are still saved to the file: errors.txt if you need them.  Otherwise, it is real easy to erase -w, whenever echoing loads warnings in console is preferred.  Opinion: All those gazillion warnings are not ChatScript, rather they may relate to portability issues with the compiler design, and seen in lots of existing C++ code being compiled.

This is completely optional, but to explain EXAMPLE 2… I personally prefer using the .go file extension in Linux which is similiar to .exe (execute) in Windows, but .go starts with the letter g which is cool since it was compiled with g++ which also starts with the letter g.

 

 
  [ # 11 ]

Drats! 

I got a third “i” in the word: similar (above). 

Sorry ‘bout that! My 15 minute of fame edit timer ran out.

 

 
  login or register to react