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,070 - 6,081 of 8,680
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,070 - 6,081 of 8,680
MickMcA
18 years ago
18 years ago
>> [1,-2:5]
I have seen things like this appear in responses, but they usually have a typo of some sort in them. For example, if you try [0], the parser reads it as a literal and prints it. The only number that can appear alone is [1].
I have seen things like this appear in responses, but they usually have a typo of some sort in them. For example, if you try [0], the parser reads it as a literal and prints it. The only number that can appear alone is [1].
Hejix
18 years ago
18 years ago
SubliminaLiar Jr: Hey. what time is it?
Croak: It is 3:O7. Croak.
The : and 0 are transforming into a smiley. Not very practical. Any idea how to prevent this?
Croak: It is 3:O7. Croak.
The : and 0 are transforming into a smiley. Not very practical. Any idea how to prevent this?
MickMcA
18 years ago
18 years ago
Regarding xnomatch:
I just confirmed something I've suspected for some time. You cannot trap a conversation with xnomatch. Apparently the xnomatch code has a goto xnone (at least) embedded in it. This strikes me as why it is so bloody close to impossible to shut down a "conversation" with a perv. The only 100% effective shutdown is a HANGUP on the KP. And I have not confirmed that even this works! Any attempt to do something a bit less draconian than that is simply doomed by the parser's blasted talent for knowing what we want better than we do.
I have to say, the "nanny" aspect of this parser gets old fast. I don't find it amusing that my bots respond with gibberish because some switch I can't turn off wants to play crudely with the thesaurus ("I have a pen." "What are you doing with your confining device?" Whatever.) even to the point of rewriting MY responses to make them "more interesting"! If I say that the bot should do the next action no matter what the speaker says, I don't expect to be overruled by the parser. My bot is my creation, and I don't appreciate having it "discover" "favorites" that are made up at random instead of using the consistent favorites I took precious time creating for it.
I think it's time for a break.
M
I just confirmed something I've suspected for some time. You cannot trap a conversation with xnomatch. Apparently the xnomatch code has a goto xnone (at least) embedded in it. This strikes me as why it is so bloody close to impossible to shut down a "conversation" with a perv. The only 100% effective shutdown is a HANGUP on the KP. And I have not confirmed that even this works! Any attempt to do something a bit less draconian than that is simply doomed by the parser's blasted talent for knowing what we want better than we do.
I have to say, the "nanny" aspect of this parser gets old fast. I don't find it amusing that my bots respond with gibberish because some switch I can't turn off wants to play crudely with the thesaurus ("I have a pen." "What are you doing with your confining device?" Whatever.) even to the point of rewriting MY responses to make them "more interesting"! If I say that the bot should do the next action no matter what the speaker says, I don't expect to be overruled by the parser. My bot is my creation, and I don't appreciate having it "discover" "favorites" that are made up at random instead of using the consistent favorites I took precious time creating for it.
I think it's time for a break.
M
psimagus
18 years ago
18 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
18 years ago
18 years ago
MickMcA
18 years ago
18 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
18 years ago
18 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
18 years ago
18 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
18 years ago
18 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
18 years ago
18 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
18 years ago
18 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
18 years ago
18 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.
» More new posts: Doghead's Cosmic Bar