AI Zone Admin Forum Add your forum
How do I automatically say when there are no words for a few seconds?
 
 
...
userI sad today.
botokcheer up.
..
..   (
5 second... after)
..
botwhat your name?
userI am choo

How do I automatically say when there are no words for a few seconds?

Does CS have such a feature?...

I don’t find… function on menual

 

 
  [ # 1 ]

You have to tell an external system to “call you back” if the user has not started typing in some timeframe. This is the out-of-bands (OOB)  callback ability, implemented in std webpages supplied with CS.

 

 
  [ # 2 ]
Bruce Wilcox - Oct 12, 2017:

You have to tell an external system to “call you back” if the user has not started typing in some timeframe. This is the out-of-bands (OOB)  callback ability, implemented in std webpages supplied with CS.

thank you.. wilcox.
I will study “alarm ,loopback ,callback”
It’s limited, but I think it’s possible to implement it to some extent

 

 

 
  [ # 3 ]

Hi 추준엽

I see two slightly different use cases

1- input timeout management
bot ask something to user, but this do not reply (for some seconds as in your example).

2- “push notification” / management
how can the bot init a “new” conversation without a previous call flow?

ChatScript is a synchronous system, reacting for each incoming request, without any a priori timing logic.

As Bruce suggested, you have to manage any time events logic with a layer external to CS engine.

user messages
      
^
      |
      
v
.---------------------.     .------------------.
intermediate layer  |<----| events generator |
.---------------------.     .------------------.
      ^
      | 
user messages OOB events
      v
.----------------------------------------.
CS                                     |
.----------------------------------------. 


In your example, the layer have to manage a callback function that, after N second since last user message, send a “fake user message” OOB message to CS like

[5 seconds passed] 


and CS script have to manage a specific pattern like

u: ( [5 seconds timeout] )
    
# some logic to manage timeout, based on context (that could be tricky) 
    
    
what your name

In case of an event due to some application logic (let say some news to communicate to user) the behaviour is not so different: the intermediate layer have to send an OOB message to CS bot, like:

[newsbla bla bla] 


and CS script have to manage a specific pattern like

u: ( [news_*)     
    
_0 

 

 

 

 
  [ # 4 ]
Giorgio Robino - Oct 14, 2017:

Hi 추준엽

I see two slightly different use cases

1- input timeout management
bot ask something to user, but this do not reply (for some seconds as in your example).

2- “push notification” / management
how can the bot init a “new” conversation without a previous call flow?

ChatScript is a synchronous system, reacting for each incoming request, without any a priori timing logic.

As Bruce suggested, you have to manage any time events logic with a layer external to CS engine.

user messages
      
^
      |
      
v
.---------------------.     .------------------.
intermediate layer  |<----| events generator |
.---------------------.     .------------------.
      ^
      | 
user messages OOB events
      v
.----------------------------------------.
CS                                     |
.----------------------------------------. 


In your example, the layer have to manage a callback function that, after N second since last user message, send a “fake user message” OOB message to CS like

[5 seconds passed] 


and CS script have to manage a specific pattern like

u: ( [5 seconds timeout] )
    
# some logic to manage timeout, based on context (that could be tricky) 
    
    
what your name

In case of an event due to some application logic (let say some news to communicate to user) the behaviour is not so different: the intermediate layer have to send an OOB message to CS bot, like:

[newsbla bla bla] 


and CS script have to manage a specific pattern like

u: ( [news_*)     
    
_0 

 

thank you. i understand. haha thank you.

 

 
  [ # 5 ]

Some radom thoughts on the topic to stimulate conversation, ideas, etc.

I do this in a game that uses Chatscript to generate text responses for characters.  The game system AI has characters, those characters each interact with chatscript to generate text responses, but they can also initiate conversation, etc - I think this is the ‘timer’ type function you are talking about.  They also have character game states where they are ‘unavailable’ for a duration of time, so the ‘chat’ with them goes unanswered until they are ‘available’ again.  The overall game state can drive this availability, etc. 

One interesting additional aspect is that a game state object is passed OOB to chatscript.  This includes information on the character’s current status in relation to the player and I use that to do things like give back different information based on where the player is in the game, what game events have occurred, etc.  Every response passes back that game state as an OOB so it’s possible to have chatscript modify the game state as well as giving back a response.

The key point is to primarily look at chatscript as a nlp framework that can generate text responses.  However - It can also do planning, state management, etc.  But - it’s always in response to external stimulus.  So any kind of ‘driver’ has to come from outside of the chatscript ecosystem.

 

 
  login or register to react