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

why “hello” is adjusted in input
 
 

I found out CS try to modify when “hello” is in input in some case.

For 7.5.1, a fresh unzipped harry, I would not be able to match the world “hello”. Here is what testpattern command told me.

jack: > :testpattern (hello) hello
( hello-      Remaining pattern: )
Failed
  Adjusted Input: ~emohello
  Canonical Input: ~emohello

However,  stockpile bot could to this without any attempt to modify the input.
jack: > :testpattern (hello) hello
( hello+ )+
Matched

Looks like the difference is caused by one of the cs_token flag. Not sure which flag cause the modification. I am wondering why it is designed this way? What’s the reason behind it?

 

 
  [ # 1 ]

A fundamental goal of CS is that you should be able to write rules as fast as possible. The limiting factor on a bot is typically how much you have to type.  Part of that is then reflected in CS providing standardized forms for sentences that mean the same thing.  Eg.  “yes. I want to go”  and “yes, I want to go”.  Whether it is one sentence or two, they mean the same thing. As does “indeed. I want to go.  That is, there are “dialog acts”. A wide range of inputs mean “hello” and “yes” and “goodbye” and you wont want to have to script all of them in a bot. So they come standard.  And yes, you can suppress a bunch of these behaviors by changing the token flag.  Likewise matching original and canonical forms so that this rule:
u: (I * like * cherry) can match in any tense and with both one cherry or multiple cherries. The intent of what the user is the same, and only rarely will you actually care about singular/plural, or past/present/future. And when you do, you can script for that as well

 

 
  [ # 2 ]

I think I have got the reason behind this design. Thank you, Bruce.

 

 
  login or register to react