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

Approach to maintaining content available
 
 

Hi,

Since we’re developing “game bots” rather than general conversational bots, we need to keep some crucial lines available to players in case they have forgotten part of the information necessary to progress.

Of course, we can just flag those patterns as ^keep() ^repeat(), but characters repeating word-for-word is not very elegant.

My current approach is to duplicate every crucial pattern, the first version being erasable and the second being “kept” and “repeated” but rephrased to show the character is aware that he’s repeating himself : “I already told you that [blah]”.

It works but it’s heavy and messy. I was wondering anyone would think of a more elegant and automated way to do this. For example, is there a way a pattern might “know” that it’s being repeated and thus automatically modify slightly its output? some form of macro?

Thanks.

 

 
  [ # 1 ]

You can, of course, use [] [] []  as random restatements to be selected among.  There is no way for the CS engine to automatically modify its output. You can write script that can know it has executed this rule before. You have to decide what it means to modify its output. Adding a different teasing phrase before or after is easy enough, eg.
“As I said previously” or “Don’t you remember I said” or whatever. 

These can be written as a modified control script. For the essential rules, you write a macro that you call at the start of the rule output. It checks to see if it has already been recorded as executed, if so, you issue one of these phrases. If not, you record a fact that the rule is being triggered.

 

 
  [ # 2 ]

Interesting. How would the macro know which rule it’s being called from and so remember which was already said?

Thanks.

 

 
  [ # 3 ]

^getrule(TAG ~)

 

 
  [ # 4 ]

thanks again.

 

 
  login or register to react