Giter Club home page Giter Club logo

billy's Introduction

==============================
BILLY v2.1
Created by Greg Leedberg, 2000
==============================
This program is FREEWARE and
may be distributed freely.
==============================  

*********************************************
*I. WELCOME TO THE WONDERFUL WORLD OF BILLY!*
*********************************************   
   Yes, welcome to the wonderful world of Billy!  Actually, maybe I'm
moving too fast.  You're probably wondering who this "Billy" character 
is.  Well, let's start from the beginning.
   Billy is not a real person, even though I constantly refer to
Billy as a he, rather than an it.  Billy is an artificial intelligence 
program.  In technical terms, he is a natural language processor / 
generator.  You can just call him a conversation simulator.  Or, just 
call him Billy (I do).  Billy is a (somewhat) complex AI program that 
can take input (from you, the user), and actually understand it and 
generate a (sometimes) intelligent response.  Billy can even learn 
things from talking to you that I never programmed into him. 
   This memory can used to get the most fun out of Billy.  Let
multiple different people talk to Billy.  Teach Billy facts.
Teach Billy "facts" about other people.  In general, just try and have
fun with Billy.  It's not too hard. :) 

::::::::::::::
: DISCLAIMER :
::::::::::::::
The BILLY software is an attempt to simulate human intelligence
and language.  To accomplish this goal, the BILLY software is capable
of learning.  The software uses many learning models to simulate
intelligence, and all of these models involve storing data it has
seen used by the humans it interacts with.  Much of this stored data
will eventually be used by the software to generate intelligent
responses.  Upon initialization, the BILLY software contains no
objectionable material.  However, the author, Greg Leedberg, cannot 
be held responsible for any material stored in the software's files 
after initialization, or any offensive responses generated by the 
learned data.


**********************
*II. HOW TO RUN BILLY*
**********************
     To run Billy, execute BILLY.EXE.  It is very preferable to
run Billy from a hard disk, as the program needs to access the
disk quite a bit.  However, it should run perferctly fine from a
floppy disk as well.


***************************
*III. HOW TO TALK TO BILLY*
***************************
     Once you're in the BILLY program, there are really no rules
for conversation (just like in real life).  You can say whatever
you want and talk about whatever you want.  One important note:
try and use correct spelling and grammar when talking to Billy!!  
The computer can only be as smart as you are!
     When you're done talking, just type BYE.     
     Actually... there is one "rule" when talking to Billy.
No possessives!  What does that mean?  Don't say this: 
"That is Greg's cat."  Or this: "The car's wheel is flat."  If you want to
say something like that, rephrase it.  For instance, say: "That is the
cat who belongs to Greg."  Or: "The wheel of the car is flat."  Same
meaning, less confusion (for Billy, at least).
    Also, when you first try talking to Billy, he will be less 
intelligent than usual, because all of his "brain" files are empty.
Be forgiving at first.  As he is exposed to more coversation, he
will become smarter.  Maybe.  In theory.


*****************************************************
*IV. HOW TO STOP BILLY FROM MAKING A FOOL OF HIMSELF*
*****************************************************
    If Billy says something that is very very stupid, you can make 
him "unlearn" it by typing DON'T SAY THAT, or DO NOT SAY THAT.  
Beware that his compliance is not always guaranteed, however...


*************************************************************
*V. VIEWING TRANSCRIPTS OF CHATS (or, SAVORING THE MEMORIES)*
*************************************************************
   BILLY automatically keeps a transcript of every conversation he
takes part in.  If you want to view the complete log for "educational
purposes", just open up BILLY.TXT.


*********************************************************
*VI. OPTIONS
*********************************************************
     Billy is slightly customizable, through special "option commands"
which you can input during a conversation.  All option commands 
start with a forward slash ("/"), and require some sort of parameter.
If you do not give a parameter, help text will be displayed to
show you how to use the given option.  All commands should be typed
in lower case.

:::::::::::::::::::
: /pause [amount] :
:::::::::::::::::::
    If you aren't pleased with Billy's typing rate, you can adjust
it by typing /pause, followed by the number to increase or decrease it by.
If you wanted to increase it by 100ms, you would type: /pause +100
If you wanted to decreased it by 2ms, you would type: /pause -2
The ideal speed may vary from processor to processor, so play around
with this setting (ideally, it should just about the same speed as
a human's typing, maybe a little faster).  In testing, the ideal
rate was found to be 50ms.

::::::::::::::::::::
: /color [color #] :
::::::::::::::::::::
   This command allows you to change the color of Billy's text.  The
parameter for this command is a number from 1 to 15, which corresponds
to a color.  For a list of all the possible colors, type /color
with no parameter.

::::::::::::::::::::::
: /mycolor [color #] :
::::::::::::::::::::::
   This command allows you to change the color of the user's text.  The
parameter for this command is a number from 1 to 15, which corresponds
to a color.  For a list of all the possible colors, type /mycolor with
no paramter.


****************
*VII. LINK MODE*
****************
    If you have a friend who has a copy of Billy, you can allow the 
two Billies to talk to each other using the Link Mode!  To use Link
Mode, you need two copies of Billy, which must be in separate 
directories, or on different disks.  To link the two Billies together:

   1) Run the HOST copy as you would normally (it doesn't really 
      matter which one is the HOST and which is the VISITOR, but only 
      the HOST will have a transcript of the chat).  

   2) When Billy asks for your name, enter LINK as the name.  
   
   3) Billy will ask for the path to the visitor copy.  This is the
      drive and directory where the version you want to link to
      is located.  Example: A:\  or C:\BILLY\
      *** Make sure that this is NOT the same directory you are
          running the host copy from!! ***

   The rest is easy sailing -- the two Billies will talk about 
whatever comes to their minds, until one gets bored.  
    Oh yes, Link Mode can be amusing.  It also goes to show the
extent (ahem) of Billy's intelligence as he carries on a conversation 
with not just a human, but also another inherently non-intelligent
being!  And yes, the two Billies can learn from each other based on
what is said in the conversation.  Have fun.

    **** NEW TO VERSION 2.1 ****
    One of the primary new features of Billy 2.1 is the addition of
    UDLP (Universal Dynamic Link Protocol).  UDLP is a new method I
    developed for linking chat programs together.  The main difference
    from the older link mode is that with UDLP, both programs are
    actually running at the same time, interacting with each other
    in real time, dynamically.  Also of note about UDLP is that
    any program that supports UDLP can link with any other program
    that supports UDLP.  So, in the future, Billy generation 14
    will still be able to talk to all the earlier generations,
    including this one.  UDLP is powerful enough to provide everything
    neccessary for two programs to interact with each other in real
    time, while also being simple enough to not limit the technological
    growth of artificial intelligence.
 

***********************************
*VIII. INITIALIZING BILLY'S MEMORY*
***********************************
   For the most part, you will probably never want to do this.  
Initializing will be neccessary, however if you accidentally delete
one of the .BFB files, or if one of these files become corrupt.  You
may also want to do this if you just want to start from scratch with
Billy, as this clears his memory.  
   To initialize Billy's memory, run INIT.EXE from the directory/disk
that you run Billy from.
 

******************************
*IX. QUESTION AND ANSWER TIME*
******************************
    
Q: Billy crashed while I was talking to him.  What do I do?
A: E-mail [email protected], and wait for an updated
   revision.  You may also want to try running Billy on another
   computer.

Q: Billy won't start.  Why, why, why?
A: Make sure all of Billy's "brain" files are in your current 
   directory.  This should be: AD.BFB, BR.BFB, IS1.BFB, IS2.BFB, 
   IS3.BFB, NOUNS.BFB, PAUSE.BFB, PEOPLE.BFB, SENT.BFB, SR.BFB, and 
   BILLY.TXT.  If they aren't, see section VIII.

Q: Can I link version 2.1 with future versions of Billy?
A: Yes!  Any chat bot that supports UDLP is able to talk to Billy
   2.1.  This means not only future versions of Billy, but also
   any other artificial intelligence programs I develop in the
   future.

Q: Can I link version 2.1 with versions 2.0 or 2.0.1?
A: Since version 2.1 uses UDLP to link with other software, as opposed
   to the "hack" that 2.0 used, this version cannot link with those
   older versions.  It will, however, be able to link with all
   future versions.  If you know someone still using version
   2.0 or 2.0.1 (*especially* 2.0), tell them to upgrade to 2.1.
   It's worth it.

Q: What if Billy grows really smart and tries to take over the world?
A: Then we have a problem on our hands.

Q: In reference to section VII, is "Billies" really the plural form
   of Billy?
A: Probably not.  

Q: Billy just said something intelligent for the first time.  What
   should I do?
A: Cherish the moment, because it probably won't happen again.

Q: Why is Billy SO STUPID???
A: That's it! No more questions!


*******************************************
*X. HOW TO GET THE LATEST VERSION OF BILLY*
********************************************
   There's always room for improvement when it comes to Billy.  
The 2.x generation of Billy will continue to be improved over time,
and successive generations will be introduced as well.  Each new 
"generation" will be created from scratch, and will take a different 
approach to simulating intelligence.  Should be exciting.
   The latest version of Billy (as well as his successors) will
ALWAYS be available on the internet at:
    
                   http://greg.simplenet.com/billy/


*************
*XI. CREDITS*
*************
                BILLY v2.1 was entirely created by:
 
                         GREG LEEDBERG!!!
                      ([email protected])  


***********************
*XII. REVISION HISTORY*
***********************
   BILLY v1.0 -   (~1994) The first generation of Billy recognized only 
                  complete sentences that were preprogrammed into it.  
                  Any other sentence generated a random response of 
                  about 4 preprogrammed responses.  Billy v1.0 was so
                  dumb his I.Q. test came back negative... :)  
   BILLY v2.0 -   (12/21/1999) The 2.x generation, rather than only
                  looking at complete sentences, breaks the sentences
                  into individual words, and generates a response based
                  on the words it finds.  Unlike other keyword-based
                  NLPs, Billy 2.x is able to also learn from it's 
                  conversations.  It can learn complete sentences,
                  individual words, as well as how to respond to certain
                  phrases, using humans as "models".  It also maintains
                  a "knowledge web" of facts it learns from the user, 
                  which it can then use to answer questions.
   BILLY v2.0.1 - (12/26/1999) Fixed a bug which caused Billy to crash 
	          with a "Division by zero" runtime error on some 
                  processors.  Also fixed a glitch that caused Billy
                  to start for the first time with a "blank" name in
                  his list of people he knows.  There was also a typo,
                  which has been corrected.
   BILLY v2.1 -   (1/30/2000)
                  **Rewrote the link mode, now uses UDLP (Universal
                    Dynamic Link Protocol).                 
                  **Billy now remembers who told him facts.
                  **Now knows the day of the week and the part of the
                    day, which can be used in the intro or when 
                    leaving.
                  **Intro text now slightly more variable -- if Billy
                    has been told something about you, he'll say that.
                  **No longer gives milliseconds when asked for the 
                    time.
                  **In addition to learning nouns, Billy now also
                    learns the sentence in which they were used, and
                    is able to plug other nouns into those sentences
                    in the future.
                  **Occassionally adds a smiley face to sentences.
                  **In addition to recognizing adjectives, Billy can
                    recognize modifiers.
                  **Parsing engine has been partially re-written,
                    it is now slightly more accurate and efficient.
                  **When taught facts, can now reverse words like
                    YOU and YOUR when the fact is repeated by Billy.
                    ("GREG IS YOUR PROGRAMMER", 
                          => "GREG IS MY PROGRAMMER")
                  **Can change pronouns, such as changing HE to HIM,
                    when neccessary.
                  **User can now customize colors.
                  **Whole lot of various new responses added, for
                    both old and new contexts. Some awkward ones
                    removed ("Sweet deal!").
  

billy's People

Contributors

shizuka avatar

Stargazers

 avatar

Watchers

 avatar  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.