home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / CHAT50.ZIP / CHAT.DOC next >
Encoding:
Text File  |  1996-04-19  |  8.3 KB  |  218 lines

  1.  
  2.                                      CHAT
  3.  
  4.  
  5.                                   Version 3.0
  6.  
  7.  
  8.  
  9.                           Written by Matthew Probert
  10.  
  11.  
  12.                          Published by Servile Software
  13.  
  14.  
  15.  
  16.  
  17. DESCRIPTION:
  18.  
  19. Chat is a stand-alone PC chat system. It is the culmination of two years 
  20. intensive research and study into conversation, natural language processing, 
  21. and computerised chat systems in general. Chat was not the purpose of this 
  22. work, it is a fortunate (?) by-product of some serious investigation into AI 
  23. by Matthew Probert. 
  24.  
  25. If you want a BBS version of this program, Servile Software also publishes 
  26. BBSChat, an enhanced FREEWARE BBS Door version of Chat. 
  27.  
  28. There are two ways of looking at Chat. Firstly as entertainment. Secondly as a 
  29. system for experimenting with Turing's theory of thinking computers. By 
  30. careful selection of responses and key words/phrases, a configuration can be 
  31. developed which appears to be quite intelligent. 
  32.  
  33.  
  34. IN BRIEF:
  35.  
  36. Chat is started from the command line with the path and name of a 
  37. response data file, and an optional typing speed delay.
  38.  
  39. For example:
  40.  
  41. CHAT HARRY.DAT
  42.  
  43. will execute chat using the response file "harry.dat" and a default typing 
  44. delay speed of 150 milliseconds between each character the computer 
  45. personality types. 
  46.  
  47. Or, you might use the command line:
  48.  
  49. CHAT HARRY.DAT 50
  50.  
  51. will execute chat using the response file "harry.dat" and a specified typing 
  52. delay speed of 50 milliseconds between each character the computer personality 
  53. types. 
  54.  
  55. Upon starting, Chat has a short delay while the data is loaded, and then 
  56. commences the conversation by displaying one of the "opening lines" selected 
  57. at random. The user and the computer then take turns to present typed text to 
  58. each other, like a conversation. Chat responds through "replies" contained in 
  59. the response file which are selected based upon matching of key words and 
  60. phrases in the users input with those contained in the configuration file. 
  61.  
  62. The response file is sub-divided into two sections; "no match" responses 
  63. which are output when the computer doesn't know what to say. And "match 
  64. blocks" which contain an optional thread, keywords and a number of comments.
  65.  
  66. The first line of each match block is optional. If it contains any text this 
  67. text will be compared with the last response made by the computer, and further 
  68. consideration of this match block will only take place if this first line (the 
  69. "thread") matches precisely. The second line is not optional. This contains a 
  70. keyword or phrase which is searched for in the user's input. This is followed 
  71. by an optional number of additional keyword and phrases which are searched for 
  72. in the user's input. These are called "aliases". The next line after the last 
  73. alias is a number indicating to chat how many response lines follow. The 
  74. response lines are output in sequence when the match block is selected.
  75.  
  76. Chat selects the first match block where the keyword or one of the aliases 
  77. is contained within the users input, and outputs the next comment from that 
  78. block. If all the responses have been output, Chat terminates.
  79.  
  80. If the keyword commences with #, it will only be selected if it matches the 
  81. users input precisely. Please bear in mind that the user's input always 
  82. commences with and terminates with a space. To precisely match an input of 
  83. just "Y" you would then use the keyword:
  84.  
  85. #" Y "
  86.  
  87.  
  88. LIMITS:
  89.  
  90. Opening lines           100
  91. No match responses      20
  92. Key words/phrases       400
  93. Aliases                 10 per match block
  94. Responses               20 per match block
  95.  
  96.  
  97. VARIABLES:
  98.  
  99. *DELAY*         One second delay
  100. *TIME*          Current time is inserted
  101. *LF*            Line is split, carriage return and line feed inserted
  102. *TIMEOFDAY*     MORNING, AFTERNOON or EVENING inserted ass appropriate
  103. *timeofday*     morning, afternoon or evening inserted ass appropriate
  104. *Keyword*       The matched keyword is inserted with first letter capitalised
  105. *Keyword*       The matched keyword is inserted with first letter capitalised
  106. *KEYWORD*       The matched keyword is inserted capitalised
  107. *keyword*       The matched keyword is inserted as it was typed by the user
  108.  
  109.  
  110. FILE STRUCTURE:
  111.  
  112. ; optional comment lines
  113. ;
  114. ; Up to 100 opening comments to get the conversation going
  115. ;
  116. N       Number of opening lines
  117. XXXX    Opening line 1
  118. XXXX    Opening line 2
  119. ;
  120. ; Up to 20 "if all else fails" responses
  121. ;
  122. NOMATCH
  123. N       Number of responses for non-matched words
  124. XXXX    Non-matched response 1
  125. XXXX    Non-matched response 2
  126. ;
  127. ; Up to 400 match blocks (computer RAM allowing)
  128. ;
  129. THREAD  Computer's last response to match (maximum 80 characters)
  130. KEYWORD Keyword
  131. *ALIAS* An alias key word for this section 
  132. N       Number of responses in this section
  133. XXXX    Response 1
  134.  
  135. Please refer to the supplied demonstration file 'HARRY.DAT' for an example of 
  136. the data file in practice. 
  137.  
  138. Replies are what Chat will display in response to user entered data and are 
  139. terminated by a carriage-return/line feed in the configuration file. Keywords 
  140. and aliases MUST be in upper case Any line commencing with ; is ignored. 
  141. Variables may be inserted in any response, except that: keyword variables may 
  142. not be used in either opening or non-matched responses 
  143.  
  144. When the user enters some text, Chat searches the text for each keyword and 
  145. then associated aliases in turn. Keywords/aliases are matched if they occur in 
  146. the entered text. So it is important to include spaces around words you want 
  147. to match in full, for example: 
  148.  
  149. NO will match with NO, NOW, NOTHING etc
  150. but
  151. " NO " will only match with NO
  152.  
  153. Keywords/aliases may be multiple words, and quote marks are ignored, eg:
  154.  
  155. "WHAT IS THE TIME"
  156.  
  157. When Chat matches a keyword/alias it outputs one of the recorded responses at 
  158. random. That response is then deleted from memory. If there are no responses 
  159. to be made, Chat terminates the conversation. If a match cannot be made with 
  160. the users input, one of the NOMATCH responses is output in the same way. 
  161.  
  162. A conversation thread may be achieved by using subsets of keywords linked to 
  163. different threads. Any data block which includes a thread will only be 
  164. searched for a keyword match if the last output from the computer matches that 
  165. data block's thread. To make this easier to use, the data block will be 
  166. accepted if the last phrase the computer output is the same as the thread or 
  167. if the last output phrase commenced with the thread or if the data block has a 
  168. null thread. For example; 
  169.  
  170. Computer's output was "Yes I do that often"
  171. This will match with the following data block threads;
  172.         "Yes"
  173.         "Yes I do"
  174.         "Yes I do that often"
  175.  
  176. but it will not match with
  177.         "Yes I am"
  178.  
  179. The user may terminate the session by entering 'BYE', 'QUIT' or 'EXIT' as the 
  180. first text in their input.
  181.  
  182. The conversations made are recorded in a file 'CHAT.LOG' which is appended 
  183. with each new conversation, and resides in the current DOS directory.
  184. This program was written by Matthew Probert
  185.                published by Servile Software
  186.          and distributed by Cognitive Development BBS
  187.  
  188.  
  189. All enquiries to:
  190.  
  191. Servile Software
  192. 5 Longcroft Close
  193. Basingstoke
  194. Hampshire
  195. RG21 1XG
  196. ENGLAND
  197.  
  198. Telephone 0256 414072
  199.       BBS 0256 50086 (24 hours, 14.4K baud)
  200.  
  201.         ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  202.         ██▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌████             ┌────────────────────────────┐
  203.         ██ C>_               ▌█▀██             │ COGNITIVE DEVELOPMENT BBS  │
  204.         ██                   ▌████             │                            │
  205.         ██                   ▌████             │ Providing a forum for A.I. │
  206.         ██                   ▌█o██             │ researchers and developers │
  207.         ██                   ▌█o██             ├────────────────────────────┤
  208.         ██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌█ ██             │ Basingstoke, Hampshire, UK │
  209.         ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀             │                            │
  210.   ████████████████████████▀▀▀▀▀▀▀▀▀▀▀▀▀▀█      │ 0256 50086 24 hours a day  │
  211.   ████████████████████████ ═══/═[──]═══ █      │                            │
  212.   ████████████████████████──────────────█      │   300 baud to 14,400 baud  │
  213.   █▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌████ ═══/═[──]═══ █      └────────────────────────────┘
  214.   ████████████████████████▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  215.    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  216.  
  217.  
  218.