home *** CD-ROM | disk | FTP | other *** search
/ Eigen PC: CD-ROM 39 / epc49_cd39.zip / epc49_cd39 / billy / readme.txt < prev    next >
Text File  |  2000-02-01  |  14KB  |  306 lines

  1. ==============================
  2. BILLY v2.1
  3. Created by Greg Leedberg, 2000
  4. ==============================
  5. This program is FREEWARE and
  6. may be distributed freely.
  7. ==============================  
  8.  
  9. *********************************************
  10. *I. WELCOME TO THE WONDERFUL WORLD OF BILLY!*
  11. *********************************************   
  12.    Yes, welcome to the wonderful world of Billy!  Actually, maybe I'm
  13. moving too fast.  You're probably wondering who this "Billy" character 
  14. is.  Well, let's start from the beginning.
  15.    Billy is not a real person, even though I constantly refer to
  16. Billy as a he, rather than an it.  Billy is an artificial intelligence 
  17. program.  In technical terms, he is a natural language processor / 
  18. generator.  You can just call him a conversation simulator.  Or, just 
  19. call him Billy (I do).  Billy is a (somewhat) complex AI program that 
  20. can take input (from you, the user), and actually understand it and 
  21. generate a (sometimes) intelligent response.  Billy can even learn 
  22. things from talking to you that I never programmed into him. 
  23.    This memory can used to get the most fun out of Billy.  Let
  24. multiple different people talk to Billy.  Teach Billy facts.
  25. Teach Billy "facts" about other people.  In general, just try and have
  26. fun with Billy.  It's not too hard. :) 
  27.  
  28. ::::::::::::::
  29. : DISCLAIMER :
  30. ::::::::::::::
  31. The BILLY software is an attempt to simulate human intelligence
  32. and language.  To accomplish this goal, the BILLY software is capable
  33. of learning.  The software uses many learning models to simulate
  34. intelligence, and all of these models involve storing data it has
  35. seen used by the humans it interacts with.  Much of this stored data
  36. will eventually be used by the software to generate intelligent
  37. responses.  Upon initialization, the BILLY software contains no
  38. objectionable material.  However, the author, Greg Leedberg, cannot 
  39. be held responsible for any material stored in the software's files 
  40. after initialization, or any offensive responses generated by the 
  41. learned data.
  42.  
  43.  
  44. **********************
  45. *II. HOW TO RUN BILLY*
  46. **********************
  47.      To run Billy, execute BILLY.EXE.  It is very preferable to
  48. run Billy from a hard disk, as the program needs to access the
  49. disk quite a bit.  However, it should run perferctly fine from a
  50. floppy disk as well.
  51.  
  52.  
  53. ***************************
  54. *III. HOW TO TALK TO BILLY*
  55. ***************************
  56.      Once you're in the BILLY program, there are really no rules
  57. for conversation (just like in real life).  You can say whatever
  58. you want and talk about whatever you want.  One important note:
  59. try and use correct spelling and grammar when talking to Billy!!  
  60. The computer can only be as smart as you are!
  61.      When you're done talking, just type BYE.     
  62.      Actually... there is one "rule" when talking to Billy.
  63. No possessives!  What does that mean?  Don't say this: 
  64. "That is Greg's cat."  Or this: "The car's wheel is flat."  If you want to
  65. say something like that, rephrase it.  For instance, say: "That is the
  66. cat who belongs to Greg."  Or: "The wheel of the car is flat."  Same
  67. meaning, less confusion (for Billy, at least).
  68.     Also, when you first try talking to Billy, he will be less 
  69. intelligent than usual, because all of his "brain" files are empty.
  70. Be forgiving at first.  As he is exposed to more coversation, he
  71. will become smarter.  Maybe.  In theory.
  72.  
  73.  
  74. *****************************************************
  75. *IV. HOW TO STOP BILLY FROM MAKING A FOOL OF HIMSELF*
  76. *****************************************************
  77.     If Billy says something that is very very stupid, you can make 
  78. him "unlearn" it by typing DON'T SAY THAT, or DO NOT SAY THAT.  
  79. Beware that his compliance is not always guaranteed, however...
  80.  
  81.  
  82. *************************************************************
  83. *V. VIEWING TRANSCRIPTS OF CHATS (or, SAVORING THE MEMORIES)*
  84. *************************************************************
  85.    BILLY automatically keeps a transcript of every conversation he
  86. takes part in.  If you want to view the complete log for "educational
  87. purposes", just open up BILLY.TXT.
  88.  
  89.  
  90. *********************************************************
  91. *VI. OPTIONS
  92. *********************************************************
  93.      Billy is slightly customizable, through special "option commands"
  94. which you can input during a conversation.  All option commands 
  95. start with a forward slash ("/"), and require some sort of parameter.
  96. If you do not give a parameter, help text will be displayed to
  97. show you how to use the given option.  All commands should be typed
  98. in lower case.
  99.  
  100. :::::::::::::::::::
  101. : /pause [amount] :
  102. :::::::::::::::::::
  103.     If you aren't pleased with Billy's typing rate, you can adjust
  104. it by typing /pause, followed by the number to increase or decrease it by.
  105. If you wanted to increase it by 100ms, you would type: /pause +100
  106. If you wanted to decreased it by 2ms, you would type: /pause -2
  107. The ideal speed may vary from processor to processor, so play around
  108. with this setting (ideally, it should just about the same speed as
  109. a human's typing, maybe a little faster).  In testing, the ideal
  110. rate was found to be 50ms.
  111.  
  112. ::::::::::::::::::::
  113. : /color [color #] :
  114. ::::::::::::::::::::
  115.    This command allows you to change the color of Billy's text.  The
  116. parameter for this command is a number from 1 to 15, which corresponds
  117. to a color.  For a list of all the possible colors, type /color
  118. with no parameter.
  119.  
  120. ::::::::::::::::::::::
  121. : /mycolor [color #] :
  122. ::::::::::::::::::::::
  123.    This command allows you to change the color of the user's text.  The
  124. parameter for this command is a number from 1 to 15, which corresponds
  125. to a color.  For a list of all the possible colors, type /mycolor with
  126. no paramter.
  127.  
  128.  
  129. ****************
  130. *VII. LINK MODE*
  131. ****************
  132.     If you have a friend who has a copy of Billy, you can allow the 
  133. two Billies to talk to each other using the Link Mode!  To use Link
  134. Mode, you need two copies of Billy, which must be in separate 
  135. directories, or on different disks.  To link the two Billies together:
  136.  
  137.    1) Run the HOST copy as you would normally (it doesn't really 
  138.       matter which one is the HOST and which is the VISITOR, but only 
  139.       the HOST will have a transcript of the chat).  
  140.  
  141.    2) When Billy asks for your name, enter LINK as the name.  
  142.    
  143.    3) Billy will ask for the path to the visitor copy.  This is the
  144.       drive and directory where the version you want to link to
  145.       is located.  Example: A:\  or C:\BILLY\
  146.       *** Make sure that this is NOT the same directory you are
  147.           running the host copy from!! ***
  148.  
  149.    The rest is easy sailing -- the two Billies will talk about 
  150. whatever comes to their minds, until one gets bored.  
  151.     Oh yes, Link Mode can be amusing.  It also goes to show the
  152. extent (ahem) of Billy's intelligence as he carries on a conversation 
  153. with not just a human, but also another inherently non-intelligent
  154. being!  And yes, the two Billies can learn from each other based on
  155. what is said in the conversation.  Have fun.
  156.  
  157.     **** NEW TO VERSION 2.1 ****
  158.     One of the primary new features of Billy 2.1 is the addition of
  159.     UDLP (Universal Dynamic Link Protocol).  UDLP is a new method I
  160.     developed for linking chat programs together.  The main difference
  161.     from the older link mode is that with UDLP, both programs are
  162.     actually running at the same time, interacting with each other
  163.     in real time, dynamically.  Also of note about UDLP is that
  164.     any program that supports UDLP can link with any other program
  165.     that supports UDLP.  So, in the future, Billy generation 14
  166.     will still be able to talk to all the earlier generations,
  167.     including this one.  UDLP is powerful enough to provide everything
  168.     neccessary for two programs to interact with each other in real
  169.     time, while also being simple enough to not limit the technological
  170.     growth of artificial intelligence.
  171.  
  172.  
  173. ***********************************
  174. *VIII. INITIALIZING BILLY'S MEMORY*
  175. ***********************************
  176.    For the most part, you will probably never want to do this.  
  177. Initializing will be neccessary, however if you accidentally delete
  178. one of the .BFB files, or if one of these files become corrupt.  You
  179. may also want to do this if you just want to start from scratch with
  180. Billy, as this clears his memory.  
  181.    To initialize Billy's memory, run INIT.EXE from the directory/disk
  182. that you run Billy from.
  183.  
  184.  
  185. ******************************
  186. *IX. QUESTION AND ANSWER TIME*
  187. ******************************
  188.     
  189. Q: Billy crashed while I was talking to him.  What do I do?
  190. A: E-mail GregL2@ix.netcom.com, and wait for an updated
  191.    revision.  You may also want to try running Billy on another
  192.    computer.
  193.  
  194. Q: Billy won't start.  Why, why, why?
  195. A: Make sure all of Billy's "brain" files are in your current 
  196.    directory.  This should be: AD.BFB, BR.BFB, IS1.BFB, IS2.BFB, 
  197.    IS3.BFB, NOUNS.BFB, PAUSE.BFB, PEOPLE.BFB, SENT.BFB, SR.BFB, and 
  198.    BILLY.TXT.  If they aren't, see section VIII.
  199.  
  200. Q: Can I link version 2.1 with future versions of Billy?
  201. A: Yes!  Any chat bot that supports UDLP is able to talk to Billy
  202.    2.1.  This means not only future versions of Billy, but also
  203.    any other artificial intelligence programs I develop in the
  204.    future.
  205.  
  206. Q: Can I link version 2.1 with versions 2.0 or 2.0.1?
  207. A: Since version 2.1 uses UDLP to link with other software, as opposed
  208.    to the "hack" that 2.0 used, this version cannot link with those
  209.    older versions.  It will, however, be able to link with all
  210.    future versions.  If you know someone still using version
  211.    2.0 or 2.0.1 (*especially* 2.0), tell them to upgrade to 2.1.
  212.    It's worth it.
  213.  
  214. Q: What if Billy grows really smart and tries to take over the world?
  215. A: Then we have a problem on our hands.
  216.  
  217. Q: In reference to section VII, is "Billies" really the plural form
  218.    of Billy?
  219. A: Probably not.  
  220.  
  221. Q: Billy just said something intelligent for the first time.  What
  222.    should I do?
  223. A: Cherish the moment, because it probably won't happen again.
  224.  
  225. Q: Why is Billy SO STUPID???
  226. A: That's it! No more questions!
  227.  
  228.  
  229. *******************************************
  230. *X. HOW TO GET THE LATEST VERSION OF BILLY*
  231. ********************************************
  232.    There's always room for improvement when it comes to Billy.  
  233. The 2.x generation of Billy will continue to be improved over time,
  234. and successive generations will be introduced as well.  Each new 
  235. "generation" will be created from scratch, and will take a different 
  236. approach to simulating intelligence.  Should be exciting.
  237.    The latest version of Billy (as well as his successors) will
  238. ALWAYS be available on the internet at:
  239.     
  240.                    http://greg.simplenet.com/billy/
  241.  
  242.  
  243. *************
  244. *XI. CREDITS*
  245. *************
  246.                 BILLY v2.1 was entirely created by:
  247.  
  248.                          GREG LEEDBERG!!!
  249.                       (GregL2@ix.netcom.com)  
  250.  
  251.  
  252. ***********************
  253. *XII. REVISION HISTORY*
  254. ***********************
  255.    BILLY v1.0 -   (~1994) The first generation of Billy recognized only 
  256.                   complete sentences that were preprogrammed into it.  
  257.                   Any other sentence generated a random response of 
  258.                   about 4 preprogrammed responses.  Billy v1.0 was so
  259.                   dumb his I.Q. test came back negative... :)  
  260.    BILLY v2.0 -   (12/21/1999) The 2.x generation, rather than only
  261.                   looking at complete sentences, breaks the sentences
  262.                   into individual words, and generates a response based
  263.                   on the words it finds.  Unlike other keyword-based
  264.                   NLPs, Billy 2.x is able to also learn from it's 
  265.                   conversations.  It can learn complete sentences,
  266.                   individual words, as well as how to respond to certain
  267.                   phrases, using humans as "models".  It also maintains
  268.                   a "knowledge web" of facts it learns from the user, 
  269.                   which it can then use to answer questions.
  270.    BILLY v2.0.1 - (12/26/1999) Fixed a bug which caused Billy to crash 
  271.               with a "Division by zero" runtime error on some 
  272.                   processors.  Also fixed a glitch that caused Billy
  273.                   to start for the first time with a "blank" name in
  274.                   his list of people he knows.  There was also a typo,
  275.                   which has been corrected.
  276.    BILLY v2.1 -   (1/30/2000)
  277.                   **Rewrote the link mode, now uses UDLP (Universal
  278.                     Dynamic Link Protocol).                 
  279.                   **Billy now remembers who told him facts.
  280.                   **Now knows the day of the week and the part of the
  281.                     day, which can be used in the intro or when 
  282.                     leaving.
  283.                   **Intro text now slightly more variable -- if Billy
  284.                     has been told something about you, he'll say that.
  285.                   **No longer gives milliseconds when asked for the 
  286.                     time.
  287.                   **In addition to learning nouns, Billy now also
  288.                     learns the sentence in which they were used, and
  289.                     is able to plug other nouns into those sentences
  290.                     in the future.
  291.                   **Occassionally adds a smiley face to sentences.
  292.                   **In addition to recognizing adjectives, Billy can
  293.                     recognize modifiers.
  294.                   **Parsing engine has been partially re-written,
  295.                     it is now slightly more accurate and efficient.
  296.                   **When taught facts, can now reverse words like
  297.                     YOU and YOUR when the fact is repeated by Billy.
  298.                     ("GREG IS YOUR PROGRAMMER", 
  299.                           => "GREG IS MY PROGRAMMER")
  300.                   **Can change pronouns, such as changing HE to HIM,
  301.                     when neccessary.
  302.                   **User can now customize colors.
  303.                   **Whole lot of various new responses added, for
  304.                     both old and new contexts. Some awkward ones
  305.                     removed ("Sweet deal!").
  306.