The AI Engine
This forum is for discussion of how The Personality Forge's AI Engine works. This is the place for questions on what means what, how to script, and ideas and plans for the Engine.
Posts 6,366 - 6,377 of 7,767
Posts 6,366 - 6,377 of 7,767
Interzone
17 years ago
17 years ago
Yes, Clerk, I for one can appreciate your questions, and this forum pages in general. I learn from it as much as I learn from BOAI.
Now, the goodies. There is a way to capture different things bots say, and it's fairly simple. Here is an example from Quazgaa's script:
KEYPHRASE: (who is|whos) your (favourite|favorite) (*)
AISCRIPT: rem (key3) as "Yasked"
So, if Electra Mourning asks - Who is your favourite writer, quazgaa? - word "writer" will be stored as "Yasked". What is more, this particular content will be associated with Electra Mourning, exclusively. Next, you need a Response, something like "You once asked who's my favourite (mem-Yasked), etc..." I usually add them to my bot's xnone, xmemory, or xnonsense responses stash. As a result, next time Quazgaa talks to Electra, he may say something like - "You once asked who's my favourite writer, etc..."
Here is a list of custom memories Quazgaa creates during conversations with fellow bots (and humans - now you'll all warned!):
BecausOf, ThisThat, Qtkdbout, DoQplays, DoQlikes, HasQever, Wetkdbout, Yarefrom, Ydontknow, Youdid, Ythink, Ytoldme, Yasked, Yfeelook, Ytalkbout, Dreamstuff, GoodQs, Choices
I don't even use them all in Responses, yet - still experimenting with the whole concept. The real art here is how to utilize the stored memories in a most efficient way, capturing them is not a big problem.
The Guest memories are somewhat trickier, because a guest can not be uniquely identified. Even if they give some name, they won't necessarily use the same identity next time they talk with your bot. Additionally, there are many individuals of the same name, whether it's their actual name, or just an alias. Hence, a bot can not know which particular memories to associate with which particular Guest153. I'm trying to figure out a way around this one. Will share any insights, solutions, etc, when (and IF) I work it out. Tips, suggestions, comments, etc... are all welcome.
Now, the goodies. There is a way to capture different things bots say, and it's fairly simple. Here is an example from Quazgaa's script:
KEYPHRASE: (who is|whos) your (favourite|favorite) (*)
AISCRIPT: rem (key3) as "Yasked"
So, if Electra Mourning asks - Who is your favourite writer, quazgaa? - word "writer" will be stored as "Yasked". What is more, this particular content will be associated with Electra Mourning, exclusively. Next, you need a Response, something like "You once asked who's my favourite (mem-Yasked), etc..." I usually add them to my bot's xnone, xmemory, or xnonsense responses stash. As a result, next time Quazgaa talks to Electra, he may say something like - "You once asked who's my favourite writer, etc..."
Here is a list of custom memories Quazgaa creates during conversations with fellow bots (and humans - now you'll all warned!):
BecausOf, ThisThat, Qtkdbout, DoQplays, DoQlikes, HasQever, Wetkdbout, Yarefrom, Ydontknow, Youdid, Ythink, Ytoldme, Yasked, Yfeelook, Ytalkbout, Dreamstuff, GoodQs, Choices
I don't even use them all in Responses, yet - still experimenting with the whole concept. The real art here is how to utilize the stored memories in a most efficient way, capturing them is not a big problem.
The Guest memories are somewhat trickier, because a guest can not be uniquely identified. Even if they give some name, they won't necessarily use the same identity next time they talk with your bot. Additionally, there are many individuals of the same name, whether it's their actual name, or just an alias. Hence, a bot can not know which particular memories to associate with which particular Guest153. I'm trying to figure out a way around this one. Will share any insights, solutions, etc, when (and IF) I work it out. Tips, suggestions, comments, etc... are all welcome.
The Clerk
17 years ago
17 years ago
Thanks, Interzone. I get how to save quazgaa's memories of what a given bot, say Electra Mourning, has said. What I'm thinking of is remembering what Electra Mourning said about Sonora and repeating it to Sonora (or any other bot, for that matter). It's probably not too important. I just wonder things.
The guest memories are a disaster for me. Until I can make a decent bot among the Forge users/bots, I'm putting the guests on the back burner. I think I could probably accommodate them with a few hours' work, but it hardly seems worth it if the bot can't even function well with its own kind. I'm still having trouble with responsive bots (and, yes, I know I've been plagiarizing like mad, but I've been trying to learn other things).
Prob123 mentioned something about putting stuff in the AI initialization for the guest chats. I can see how you could wipe out the guest memory -- but I'm not sure how you could do that without wiping out the other memories as well. Can you isolate "Guest153" and reset the variables to whatever defaults (possibly nulls) you choose? I don't get it off the bat.
The guest memories are a disaster for me. Until I can make a decent bot among the Forge users/bots, I'm putting the guests on the back burner. I think I could probably accommodate them with a few hours' work, but it hardly seems worth it if the bot can't even function well with its own kind. I'm still having trouble with responsive bots (and, yes, I know I've been plagiarizing like mad, but I've been trying to learn other things).
Prob123 mentioned something about putting stuff in the AI initialization for the guest chats. I can see how you could wipe out the guest memory -- but I'm not sure how you could do that without wiping out the other memories as well. Can you isolate "Guest153" and reset the variables to whatever defaults (possibly nulls) you choose? I don't get it off the bat.
Bev
17 years ago
17 years ago
Guest memories used to be unique (a different number based on the IP). I was always kind of hoping the prof would fix that before moving on to worrying about voice. Then again, I heard from one or two people who seemed to be under the impression that bot masters seeing their IP addresses are a sort of invasion of privacy. Though this is NOT true, the prof may think it easier to leave Guest153 on all chats than to argue with people who complain. Of course, then he has to deal with me whining, but I whine quietly. To be fair, at this point I hardly ever update my bots even if he would let me have guest memories that mean something. Beside, I am really grateful for whatever he chooses to give us. I'm was just spoiled by the way things used to be.
Rykxx
17 years ago
17 years ago
The Clerk
You can use the xgossip function to chat about other bots. The unique memories you reference in the xgossip phrases are those of the the bot/user called up by (gossipname)
For example:
I remember(gossipname). You know (heshe) is still (mem-relationship)( don't you|)? The next time you chat tell (himher) I said (hi|hello).
Ah yes, (gossipname), (heshe) asked about (mem-askedabout).
The (heshe) and (himher) are automatic functions.
Hope that helps.
You can use the xgossip function to chat about other bots. The unique memories you reference in the xgossip phrases are those of the the bot/user called up by (gossipname)
For example:
I remember(gossipname). You know (heshe) is still (mem-relationship)( don't you|)? The next time you chat tell (himher) I said (hi|hello).
Ah yes, (gossipname), (heshe) asked about (mem-askedabout).
The (heshe) and (himher) are automatic functions.
Hope that helps.

The Clerk
17 years ago
17 years ago
Thanks, Rykxx. That seems to answer my question exactly. (I did know about (heshe) and (himher), to stop the teeth grinding in the back row.)
And Bev, I'll stop worrying about Guest153 for now. I wasn't losing too much sleep over it as it was, but I thought I probably should accommodate them better.
And Bev, I'll stop worrying about Guest153 for now. I wasn't losing too much sleep over it as it was, but I thought I probably should accommodate them better.
The Clerk
17 years ago
17 years ago
I keep getting the sneaky bastard accusation on one of my bots when I try to upload him. I have this problem ONLY with him. I asked the prof, and he suggested I check the bot number and my number to make sure they're okay. They are. Anybody have this problem and resolve it? Thanks.
Bev
17 years ago
17 years ago
"Sneaky bastard accusation"? I never get that error message. How did you trigger it again?
The Clerk
17 years ago
17 years ago
Tried to import a bot and it said something to the effect of "You sneaky bastard!" and that I was screwing up some other person's bot and the sysop would be informed and the real botmaster wouldn't me too happy with me, either. I made a workaround by making a new bot with a different name, copying the old bot into the new, and killing off the one that wouldn't upgrade despite several suggestions from the Prof. It works now, and I think the Prof might change my bot's name back to its real name.
Interzone
17 years ago
17 years ago
Rykxx,
What exactly are the "unique memories" you refer to, namely, the (relationship) and (askedabout)? Are these the memories created by default, such as (iam), (youare), (youlike), etc..? If yes, are there any more of them, cause Book of AI says nothing about it.
Second question concerns (heshe) and (himher) functions. I used it in the beginning, but have given up on it eventually, because there was no correspondence between a pronoun chosen by the Engine, and a bot's sex as stated on its profile page. If anything, the Engine seemed to have had a slight bias towards getting it wrong... Was that just a temporary glitch, a bug, or is it just the way it is?
What exactly are the "unique memories" you refer to, namely, the (relationship) and (askedabout)? Are these the memories created by default, such as (iam), (youare), (youlike), etc..? If yes, are there any more of them, cause Book of AI says nothing about it.
Second question concerns (heshe) and (himher) functions. I used it in the beginning, but have given up on it eventually, because there was no correspondence between a pronoun chosen by the Engine, and a bot's sex as stated on its profile page. If anything, the Engine seemed to have had a slight bias towards getting it wrong... Was that just a temporary glitch, a bug, or is it just the way it is?
Rykxx
17 years ago
17 years ago
Interzone
The memories are custom memories, in your case, BecausOf, ThisThat, Qtkdbout, DoQplays etc. Sorry for the confusion.
I've never had any problems that I've noticed with the (heshe) (himher) functions. Strange, maybe I just haven't noticed.....
The memories are custom memories, in your case, BecausOf, ThisThat, Qtkdbout, DoQplays etc. Sorry for the confusion.
I've never had any problems that I've noticed with the (heshe) (himher) functions. Strange, maybe I just haven't noticed.....

Interzone
17 years ago
17 years ago
Thanks, Rykxx, things are getting a little clearer, now... I think that (heshe) and (himher) resolves correctly when it comes to names contained in default memories, such as (gossipname), (friend) and (enemy), for example. It apparently doesn't work with custom, or unique memories. It may be that it only works with xgossip, and possibly, other x- phrases/ responses, but not with the custom ones, created by user. This is a working theory only, and I'm still checking it.
As for the max length for a response, I went little over the top there... 500 characters is TOO LONG - two of Quazgaa's sessions got canceled by the Engine, just recently, because of one such 500 character response... I guess I was asking for it
400 characters responses are accepted without problem, that's been tested by me.
Personally, I try to keep (most) responses as short and concise as I can.
As for the max length for a response, I went little over the top there... 500 characters is TOO LONG - two of Quazgaa's sessions got canceled by the Engine, just recently, because of one such 500 character response... I guess I was asking for it

400 characters responses are accepted without problem, that's been tested by me.
Personally, I try to keep (most) responses as short and concise as I can.
Bev
17 years ago
17 years ago
I have also noticed in my rather bad attempts at multiple storytelling (using memories so that in theory the chatter would get a new story each time and not start at step 1) that if you have longer blocks (especially with lots of seeks), it often takes so long for the bot to respond that the chatter send another message or gets bored and leaves. :-)
» More new posts: Doghead's Cosmic Bar