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

Specifying which file does what in my robot
 
 

Hi all

Can someone explain how to specify which file does what in a robot in chatscript?
My basic filesciso.txt has the following entries.
# underlying conversation system
RAWDATA/ciso/
# quibble ability
RAWDATA/QUIBBLE/

How does chat script know which file is the control script? Which file contains keywords etc.?

 

 
  [ # 1 ]

there is one outputmacro you define that matches the name of your bot.  That macro defines the bot, and inside that you name what topic is to be used as the control script.

 

 
  [ # 2 ]

Hi Bruce,
Many thanks for your answer. In Harry, there is an output macro in the file called simplecontrol.top. I have altered this macro to call my bot named ciso. However, how does chatScript know that it should look at the file named simplecontrol.top?
Sorry if I am being dense.

 

 
  [ # 3 ]

To start with, the file filesHarry.txt tells CS what to compile when you say :build Harry. That file says to compile everything in the top level of the two named directories.

When you talk to CS, you either pass a bot name or the default null bot name.  The code in simplecontrol

table: defaultbot (^name)
^createfact(^name defaultbot defaultbot)
DATA:
harry
tells the system to use harry as the default bot (special fact with specific meaning to CS).

You have an outputmacro in there called “Harry”.  When trying to communicate with Harry, that outputmacro now has special meaning- it defines what the bot looks like. Otherwise, it is just an ordinary macro.  The macro has assignments that the engine cares about, like
$cs_token = #DO_INTERJECTION_SPLITTING | #DO_SUBSTITUTE_SYSTEM   | #DO_NUMBER_MERGE | #DO_DATE_MERGE | #DO_PROPERNAME_MERGE | #DO_SPELLCHECK | #DO_PARSE
$cs_control_main = ~control

 

 
  login or register to react