AI Zone Admin Forum Add your forum

NEWS: survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

A line does not fire

I am running this code from the tutorial:

topic: ~introductionsxxx (hack)
t: [Hello] [Hi] [Hey], [talk] [speak] [say something] to me!
u: (what are you) ^noerase() ^repeat() I am a bot.
u: (where do you live) ^noerase() ^repeat() I live on your computer.
u: ([what where]) ^noerase() ^repeat() Good question.
u: (when will you go) ^noerase() ^repeat() I don’t know.

I added the last line at the bottom, but it does not fire.

I see the problem. I replaced ‘will’ with ‘do’ and now it works. There must be something deeper going on, that I am missing. Does anyone know?


  [ # 1 ]

It does not know the word ‘will’.


  [ # 2 ]

Another one I have come across is this:

u: ({~qwords} * [happen event occur] * {village}) A giant rocklobster looted the village.

This line responds to:

what happening
what happening in the village
what has been happening in the village
is happening
is happening in the village

but fails on

what is happening
what is happening in the village

So putting ‘what is’ in front of ‘happening’, fails for some reason. Could this be a bug?


  [ # 3 ]

As a general rule, to see what is happening, you should do :prepare xxx
:prepare what is happening
will show you that it is being decoded as an idiom into ~emohowzit
for “what’s happening” and the like.

ChatScript is, of course, my personal development world that I am sharing. So you get my LIVEDATA files as a best guess of things for chatbots which is not guaranteed to be suitable for everyone else’s applications. 

The interjections file has the conversion that is giving you trouble (what_is_happening) , and you could have your own custom copy that remove that conversion.  OR you decide that you want a responder for “what’s happening” to react to ~emohowit and give your answer.


  [ # 4 ]

I should add that this pattern of yours:
({~qwords} * [happen event occur] * {village})
has unnecessary content.  Since you don’t care if the ~qwords or the village is matched, it is equivalent to
([happen event occur])
and the rest is just noise.


  [ # 5 ]

I ran your “when will you go” example in an older copy of chatscript without problem.  Nor should there be a problem, even though “Will” is also a first name. I will not be able to attend this problem properly with you until I release ChatScript 3.0 and then we can be in synch.  Of course it will probably work correctly in 3.0 because I will make sure it does before I release. smile



  [ # 6 ]

as before, pointing out in your code….
you could move the ^noerase() and ^repeat() as flags on the topic as a whole, instead of on each responder.
The noerase as a topic would not mean the gambit would not erase (that requires explicit noerase on the gambit) but it wouldn’t reflect your exact code at present because the hello gambit would be allowed to pick something it has said before and say it again (though its random so usually it wont).  If that were an issue, you could just make the topic noerase and leave the individual repeats alone.


  [ # 7 ]

Thanks for replying Bruce. 

:prepare is something I missed in the manual, that looks very useful and ~emohowzit is a great tip.

For the my first question concering ‘will’, I was using version 2.0. However that issue went away, when I tried it on a later version. I encountered the problem concering ‘happening’ on the later version, so I thought I must be doing something wrong.

:prepare I will come over

On version 2.0 gives ‘will’ as ‘Will’.

Anyway not to worry, I am still learning by trying things out, so I’m looking forward to version 3.0. smile



  login or register to react
‹‹ C++ Help      Homophones in ChatScript ››