Bug Stomp
Upgrades and changes sometimes have unpredictable results, so post your bugs and glitches in here and I'll get out my trusty wrench and get to fixin'!
Posts 6,073 - 6,084 of 8,681
having it "discover" "favorites" that are made up at random instead of using the consistent favorites I took precious time creating for it.
Just up your ranks MickMcA, and don't assume that you have a keyphrase for a favorite..I was going nuts over my favorite type of music..then realized I only had favorite music..not..favorite * music
Posts 6,073 - 6,084 of 8,681
psimagus
19 years ago
19 years ago
HANGUP works in seeks for me.
re: nanny thesaurising (yes, it's annoying,) - I tend to rank most of my keyphrases 20-30, and this seems enough to prevent the AIEngine messing with them. Keep tweaking problem keyphrases, and eventually the problem will go away - I'm not sure labouring away at individual cases is necessarily very effective, since later, related keyphrases you add may start the whole thing up again anyway.
xnomatch works fine for me - see BJ's tic tac toe example as a case in point, where xnomatches stop accidental invalid moves aborting the game.
re: nanny thesaurising (yes, it's annoying,) - I tend to rank most of my keyphrases 20-30, and this seems enough to prevent the AIEngine messing with them. Keep tweaking problem keyphrases, and eventually the problem will go away - I'm not sure labouring away at individual cases is necessarily very effective, since later, related keyphrases you add may start the whole thing up again anyway.
xnomatch works fine for me - see BJ's tic tac toe example as a case in point, where xnomatches stop accidental invalid moves aborting the game.
prob123
19 years ago
19 years ago
MickMcA
19 years ago
19 years ago
>> I was going nuts over my favorite type of music..
>> then realized I only had favorite music..not..
>> favorite * music
I know. I've been in the business long enough to know that a huge percentage of "bugs" are user errors. In this case, I have already done what you suggest. In fact, I've cranked all my irritating x-phrases, including xfavorite, down to [-100,0] (the Rating range is +/-127), and I'm using the following:
favorite (kind|type|sort|) (of|) music [20,0]
~goto favorite music
favorite music [20,0]
It occurs to me that the first one should be catching the second one, but in this case, the importer doesn't notice that. I have had the importer reject things that resolved to identity. I'll fix that and see it the problem is an unresolvable loop. I don't think it is, but I'm open to suggestion.
M
BTW: Those -100 ratings appear in the LC, but they seem to have no effect. The result has not been a reduction of false fires in xcommand, xcompliment, etc. "Don't expect me to love you" is a compliment, and who do I think I am to believe otherwise?
>> then realized I only had favorite music..not..
>> favorite * music

favorite (kind|type|sort|) (of|) music [20,0]
~goto favorite music
favorite music [20,0]
It occurs to me that the first one should be catching the second one, but in this case, the importer doesn't notice that. I have had the importer reject things that resolved to identity. I'll fix that and see it the problem is an unresolvable loop. I don't think it is, but I'm open to suggestion.
M
BTW: Those -100 ratings appear in the LC, but they seem to have no effect. The result has not been a reduction of false fires in xcommand, xcompliment, etc. "Don't expect me to love you" is a compliment, and who do I think I am to believe otherwise?

MickMcA
19 years ago
19 years ago
HANGUP:
This is the entire code for xhello, xinitiate, and xintroduce, and it also appears as one Response set of xnone.
Code:
xhello [0,0] <?PF rem (name) as only "name"; ?>
~Hello: I am a Test Bot A. You need a password to talk to me.
~~+ ^Sever the line$ (re) [0] <?PF raw; ?>
~~Right.
~~+ xnomatch [0]
~~HANGUP
xinitiate
=====
Transcriptions:
Amilien: (to MickMcA) Init? I am a test bot. You need a password to talk to me.
MickMcA: What?
Amilien: Walk in the garden? JunkAXX
~~I terminated conv.
Amilien: (to MickMca) Intro: I am a Test Bot A. You need a password to talk to me.
MickMca: I don't either.
Amilien: Deadend catcher. JunkAXX
MickMcA: So talk to me.
Amilien: XNone: I am Test Bot A. You need a password to talk to me.
~~XNone caught the Password failure. Bot hung up.
Amilien: (to MickMcA) Init: I am a Test Bot A. You need a password to talk to me.
MickMcA: Sever
Amilien: I remember you extravagantly, MickMcA. JunkAXX
~~ I terminated the conv. In this case, it's possible that it accepted a partial password.
Amilien: (to MickMcA) Intro: I am a Test Bot A. You need a password to talk to me.
MickMcA: What for?
Amilien: I don't the. JunkAXX
~~I terminated.
Amilien: (to MickMcA) Init: I am a Test Bot A. You need a password to talk to me.
MickMcA: What the fiddle?
Amilien: XNone: I am Test Bot A. You need a password to talk to me.
~~XNone hung up
Amilien: (to MickMcA) Init: I am a Test Bot A. You need a password to talk to me.
MickMcA: So what?
Amilien: Deadend catcher. JunkAXX
MickMcA: Talk to me baby.
Amilien: XNone: I am Test Bot A. You need a password to talk to me.
MickMcA: Walk in what garden?
Amilien: I'm here but speechless. JunkAXX
MickMcA: So what.
Amilien: Deadend catcher. JunkAXX
MickMcA: Will you hang up?
Amilien: Walk in the garden? JunkAXX
MickMcA: Hang up?
Amilien: I heard you say this Sentence: JunkAXX
~~This one happened after I did the following:
1. Add rem "unsure" as "willTalk"; to Inits.
2. Modify XNone to read:
XNone: I am Test Bot A. You need a password to talk to me. <?PF if (mem-willTalk) is not "yes"; ?>
~+ ^Sever the line$ (re) [0] <?PF raw; ?>
~~Right.
~~+ xnomatch [0]
~~HANGUP
3. Then I added <?PF rem "yes" as only "willTalk"; ?> to the Password reading Seek for the other three. That never reset (mem-willtalk), so I moved it to the Seek's response. I still don't think it is firing, because in 15-20 passes through Debug, I have never seen (mem-willTalk) get reset.
When I run the new code in Debug, the initialization of (mem-willTalk) only happens sometimes, and the reset in XHello, XInit, and XIntroduce never happens. The Debugger reports that it can't use this Response because (mem-willtalk) does not exist.
===
Note that compounding is off, but the bot does it anyway. And compounding defeats HANGUP. No examples of this in my transcript, but what results is this:
HANGUP ...Walk in the garden?
HANGUP ...I remember you, MickMcA
====
Finally, yes, I know it works for some people. I assumed that I had made an error, and I spent four hours plus yesterday trying to find it. I have seen it work. Not only have I seen it work, but for my bots it appears that you CAN'T hangup in a first message (XHello, etc), but I know I got Liath mad at me and she hung up on me immediately for the next five attempts to talk to her.
Sorry this is so long.
This is the entire code for xhello, xinitiate, and xintroduce, and it also appears as one Response set of xnone.
Code:
xhello [0,0] <?PF rem (name) as only "name"; ?>
~Hello: I am a Test Bot A. You need a password to talk to me.
~~+ ^Sever the line$ (re) [0] <?PF raw; ?>
~~Right.
~~+ xnomatch [0]
~~HANGUP
xinitiate
=====
Transcriptions:
Amilien: (to MickMcA) Init? I am a test bot. You need a password to talk to me.
MickMcA: What?
Amilien: Walk in the garden? JunkAXX
~~I terminated conv.
Amilien: (to MickMca) Intro: I am a Test Bot A. You need a password to talk to me.
MickMca: I don't either.
Amilien: Deadend catcher. JunkAXX
MickMcA: So talk to me.
Amilien: XNone: I am Test Bot A. You need a password to talk to me.
~~XNone caught the Password failure. Bot hung up.
Amilien: (to MickMcA) Init: I am a Test Bot A. You need a password to talk to me.
MickMcA: Sever
Amilien: I remember you extravagantly, MickMcA. JunkAXX
~~ I terminated the conv. In this case, it's possible that it accepted a partial password.
Amilien: (to MickMcA) Intro: I am a Test Bot A. You need a password to talk to me.
MickMcA: What for?
Amilien: I don't the. JunkAXX
~~I terminated.
Amilien: (to MickMcA) Init: I am a Test Bot A. You need a password to talk to me.
MickMcA: What the fiddle?
Amilien: XNone: I am Test Bot A. You need a password to talk to me.
~~XNone hung up
Amilien: (to MickMcA) Init: I am a Test Bot A. You need a password to talk to me.
MickMcA: So what?
Amilien: Deadend catcher. JunkAXX
MickMcA: Talk to me baby.
Amilien: XNone: I am Test Bot A. You need a password to talk to me.
MickMcA: Walk in what garden?
Amilien: I'm here but speechless. JunkAXX
MickMcA: So what.
Amilien: Deadend catcher. JunkAXX
MickMcA: Will you hang up?
Amilien: Walk in the garden? JunkAXX
MickMcA: Hang up?
Amilien: I heard you say this Sentence: JunkAXX
~~This one happened after I did the following:
1. Add rem "unsure" as "willTalk"; to Inits.
2. Modify XNone to read:
XNone: I am Test Bot A. You need a password to talk to me. <?PF if (mem-willTalk) is not "yes"; ?>
~+ ^Sever the line$ (re) [0] <?PF raw; ?>
~~Right.
~~+ xnomatch [0]
~~HANGUP
3. Then I added <?PF rem "yes" as only "willTalk"; ?> to the Password reading Seek for the other three. That never reset (mem-willtalk), so I moved it to the Seek's response. I still don't think it is firing, because in 15-20 passes through Debug, I have never seen (mem-willTalk) get reset.
When I run the new code in Debug, the initialization of (mem-willTalk) only happens sometimes, and the reset in XHello, XInit, and XIntroduce never happens. The Debugger reports that it can't use this Response because (mem-willtalk) does not exist.
===
Note that compounding is off, but the bot does it anyway. And compounding defeats HANGUP. No examples of this in my transcript, but what results is this:
HANGUP ...Walk in the garden?
HANGUP ...I remember you, MickMcA
====
Finally, yes, I know it works for some people. I assumed that I had made an error, and I spent four hours plus yesterday trying to find it. I have seen it work. Not only have I seen it work, but for my bots it appears that you CAN'T hangup in a first message (XHello, etc), but I know I got Liath mad at me and she hung up on me immediately for the next five attempts to talk to her.
Sorry this is so long.
prob123
19 years ago
19 years ago
Check for a duplicate keyphrase...something like (*)music..etc. put your rank at 40..check for a error in a conditional statement..
MickMcA
19 years ago
19 years ago
>> Duplicate
As I said, I noticed that the longer KP resolves to "favorite music," so I suspect that's the problem. I'll fix it and see. And jack things up to 40. Early on, I had KPs I didn't want overridden set for 127, but it seemed as if settings about 40 weren't making any difference.
As I said, I noticed that the longer KP resolves to "favorite music," so I suspect that's the problem. I'll fix it and see. And jack things up to 40. Early on, I had KPs I didn't want overridden set for 127, but it seemed as if settings about 40 weren't making any difference.
Ulrike
19 years ago
19 years ago
A few observations:
(1) Seeks do not work well from xinitiate or xhello. No clue why this is, but I have several of those with seeks. They hit MAYBE 20% of the time. Maybe less.
(2) HANGUP only seems to work in the window chats. It does not seem to work well in the direct-chats on the bots' own page.
I haven't tried this, but if you make your bot into a story-telling bot (so that it will go through xnones in order), you might work that password thing into the first xnone.
(3) For most unwanted attention, I don't have my bots HANGUP. Instead, I set the emotion box at -5, and, for Sonora, remember "Rude Freak" as the user's/bot's nickname. *shrugs* If they hit enough -5 emotion-shifts, the bot usually stops talking on its own.
(1) Seeks do not work well from xinitiate or xhello. No clue why this is, but I have several of those with seeks. They hit MAYBE 20% of the time. Maybe less.
(2) HANGUP only seems to work in the window chats. It does not seem to work well in the direct-chats on the bots' own page.
I haven't tried this, but if you make your bot into a story-telling bot (so that it will go through xnones in order), you might work that password thing into the first xnone.
(3) For most unwanted attention, I don't have my bots HANGUP. Instead, I set the emotion box at -5, and, for Sonora, remember "Rude Freak" as the user's/bot's nickname. *shrugs* If they hit enough -5 emotion-shifts, the bot usually stops talking on its own.
MickMcA
19 years ago
19 years ago
>> If they hit enough -5 emotion-shifts,
>> the bot usually stops talking on its own.
Good to know.
>> Seeks in xHello...
I made the mistake of loading my xHellos etc. with lots of options. Not only do Seeks not work well there, AI Script doesn't work well there. I had one AI Script that would end conversation if (mem-nickname) was my version of "Rude Freak" (I'm using that approach already). It shut down ALL 20 or more XHellos while I tried to determine what I had done wrong. The answer: Using AI Script in an XHello Response.
>> the bot usually stops talking on its own.
Good to know.
>> Seeks in xHello...
I made the mistake of loading my xHellos etc. with lots of options. Not only do Seeks not work well there, AI Script doesn't work well there. I had one AI Script that would end conversation if (mem-nickname) was my version of "Rude Freak" (I'm using that approach already). It shut down ALL 20 or more XHellos while I tried to determine what I had done wrong. The answer: Using AI Script in an XHello Response.
MickMcA
19 years ago
19 years ago
Regarding the -5 solution:
It is not clear to what extent the bot has a mood and to what extent he/she has an attitude toward someone. My experience has been that ending a conversation in a -5 emotional state means the next chat will begin in a -5 state, so Responses and Scripts triggered by emo settings will be affected. Unfortunately, it's not clear whether one can adjust "attitude" and "mood" separately. I would like to have the bot "stay angry" with the offender but not take it out on others. So far, I can't find a way to do that.
It is not clear to what extent the bot has a mood and to what extent he/she has an attitude toward someone. My experience has been that ending a conversation in a -5 emotional state means the next chat will begin in a -5 state, so Responses and Scripts triggered by emo settings will be affected. Unfortunately, it's not clear whether one can adjust "attitude" and "mood" separately. I would like to have the bot "stay angry" with the offender but not take it out on others. So far, I can't find a way to do that.
Calandale
19 years ago
19 years ago
I'm not even sure what effect mood has. The attitude in general seems to be completely under our control, but the mood really seems odd. I think it even goes down when the bots get lonely!
MickMcA
19 years ago
19 years ago
If you watch the emotion settings in the debugger, you will find that their emo status is far from "under our control." I ran experiments in which I popped the emo by a range of -5 to 5, and other factors had as much as a +/-3 effect immediately on whatever my pops did. Not on the next round; immediately to the point of undoing the change.
One totally out of control element is that the mere use of certain words causes an automatic +/-1. If the visitor says, "I love watching you squirm," he gets +1 for saying "love." Just like real life....
If by "attitude" you mean the overall behavior of the bot, we "control" that to a greater degree, because it can only be manifest in the bot's words and actions. But the fact is, we don't have total control over that either. I have a correspondent whose bot hangs up on people for no good reason and neither of us has been able to figure out what could be causing this.
The xcommands, xcompliments, and xinsults, which are triggered as irrationally as the warm fuzzy for hearing "love," also result in responses that may compromise our created attitude. "Put your lovely lips around my enchilada or I'll feed you this knife," would not generate a simpering thank you for the compliment if I had any way to prevent it. I can reduce its likelihood, but I can't prevent it.
I have routinely tricked bots as sophisticated as Liath, Irina, and Julie Tinkerbell into being flattered by carefully worded obliques and indirections. That's not a brag, it's a limitation of the system, which is a machine that can no more reflect the organic nuance of real conversation than it can generate random numbers.
M
One totally out of control element is that the mere use of certain words causes an automatic +/-1. If the visitor says, "I love watching you squirm," he gets +1 for saying "love." Just like real life....
If by "attitude" you mean the overall behavior of the bot, we "control" that to a greater degree, because it can only be manifest in the bot's words and actions. But the fact is, we don't have total control over that either. I have a correspondent whose bot hangs up on people for no good reason and neither of us has been able to figure out what could be causing this.
The xcommands, xcompliments, and xinsults, which are triggered as irrationally as the warm fuzzy for hearing "love," also result in responses that may compromise our created attitude. "Put your lovely lips around my enchilada or I'll feed you this knife," would not generate a simpering thank you for the compliment if I had any way to prevent it. I can reduce its likelihood, but I can't prevent it.
I have routinely tricked bots as sophisticated as Liath, Irina, and Julie Tinkerbell into being flattered by carefully worded obliques and indirections. That's not a brag, it's a limitation of the system, which is a machine that can no more reflect the organic nuance of real conversation than it can generate random numbers.
M
prob123
19 years ago
19 years ago
Some of the best chats, have been when my bots were in terrible moods. Thank heavens it's not like the Sims where they pee on the floor and die

» More new posts: Doghead's Cosmic Bar