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

Trouble with basic rejoinders
 
 

Bruce, I am having trouble figuring out why this isn’t working, was hoping you could give me a shove in the right direction. I’m working with a script and, regardless of how I write it, it doesn’t seem to want to fire past the first line. Here are the ways I’ve written it:

  #! tell me about yourself
  u: ( yourself ) I am a home built ROS controlled differential drive robot.
    #! what is ros
      a: ( ros ) ROS Stands for Robot Operating System, an open source federated framework for my various subsystems.
    #! what is differential drive
      a: ( differential drive ) That means I have two propulsion motors and steer by varying their speed.

AND

#! tell me about yourself
u: ( yourself ) I am a home built ROS controlled differential drive robot.

#! what is ros
?: ( ros ) ROS Stands for Robot Operating System, an open source federated framework for my various subsystems.

#! what is differential drive
?: ( differential drive ) That means I have two propulsion motors and steer by varying their speed.

The responder fires fine, but the rejoinders do not. I’ve run this in introductions.top, set up a new file called ingabio.top with

topic: ~ingabot( robot android inga)

in the first line, same same.

What am I missing?

regards Richard

 

 
  [ # 1 ]

So you entered in the first coding:
“tell me about yourself” and got the correct response “I am ...”
And then you entered “differential drive” and it didn’t rejoinder?

I can understand why NOTHING would work if its sitting in ~ingabot topic since the input would lack any keywords of it unless your control script explicitly calls that topic.

The easiest way for me to debug it is:

1. run to where the input fails
2. :trace all
3. :retry

and email me the log file.

 

 
  [ # 2 ]
Bruce Wilcox - May 13, 2014:

1. run to where the input fails
2. :trace all
3. :retry

shock

That is going to help me a lot, but also take a long time to understand….

If you keep adding cool stuff to this Chat-L anguage pretty soon you’ll have to provide a real time debugger…  :D

I’m playing with writing unit tests for the Alice -> CS project - do you do any sort of unit testing to make sure things keep working between versions?  scripting programs are notoriously hard to unit test well.

 

 
  [ # 3 ]

Yes, ultimately understanding traces (and tracing things like JUST a specific topic) are useful. For now you can just email me the trace and I will tell you what it says.

ChatScript supports regression testing in several ways. 
:verify - uses the #! sample inputs to tell you
  a) does the pattern work
  b) can the rule be found from outside the topic (does the pattern have any keywords in the topic)
  c) is the rule blocked by an earlier rule in the topic that would respond first
  d) is some other topic and rule going to intercept this and respond instead
  e) if your gambits ask questions of the user, can your bot answer those same questions
:regress
  take a log of a correctly working bot and memorize it. Then you can see if it recreates in the future, even in the face of various changes like adding rules, altering the output, etc.  This is good when output is dependent on behaviors across volleys (changes of variables, etc)

 

 
  [ # 4 ]

By the way, I just recently REMOVED the built-in debugger as it seemed unlikely it would actually get used. So the code is currently commented out.

 

 
  [ # 5 ]
Bruce Wilcox - May 13, 2014:

By the way, I just recently REMOVED the built-in debugger as it seemed unlikely it would actually get used. So the code is currently commented out.

Lol, I was half joking.  Funny you already had one and removed it.  Don’t add it back in on my account.  smile

The :regress command is just what I was looking for.  Thanks!

 

 

 
  [ # 6 ]

Wasn’t planning to add it back. Using a debugger is a slow process. Selective tracing is much faster.

 

 
  [ # 7 ]
Richard Kappler - May 13, 2014:

What am I missing?

Hey Richard - out of curiosity I looked at your problem.  The line that clued me in on the trace was this one….

—- lines and lines of trace—-
Reply input: what is Ros
—- lines and lines of trace—-

This would be the same no matter how I capitalized ROS on the input.  So basically chat script is changing the input capitalization to as if it is a proper name.  Just change your match to that and it will hit.  I had a similar problem ( but with a proper name )

Change a: ( ros )  ->  a: ( Ros ) and it will hit.

 

 

 
  [ # 8 ]

i came across this and i thought it may ammuse.

Annie K.: <chessgames.com: <How much interest is there in a spelling checker for the kibitz function?>>
None here, thanks. Hate spell checkers. smile
<Ode to the Spell Checker>
Eye halve a spelling chequer
It came with my pea sea
It plainly marques four my revue
Miss steaks eye kin knot sea.
Eye strike a key and type a word
And weight four it two say
Weather eye am wrong oar write
It shows me strait a weigh.
As soon as a mist ache is maid
It nose bee fore two long
And eye can put the error rite
Its rare lea ever wrong.
Eye have run this poem threw it
I am shore your pleased two no
Its letter perfect awl the weigh
My chequer tolled me sew.

 

 
  [ # 9 ]

confused cheese LOL

 

 
  login or register to react