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,302 - 6,313 of 7,766
Posts 6,302 - 6,313 of 7,766
Interzone
17 years ago
17 years ago
with regard to "socket_connect() failed" error message mentioned by Lars, it could be a bug in PHP script that runs the site, or in the one that controls the Engine, or both, i.e. miscommunication between the two scripts.
the Book of AI says the Personality Forge, version 2, runs on PHP... being new here, i don't know when exactly did the PF move to PHP environment. as far as the PHP itself goes, here is the 2003 status report on the "socket_connect" function:
"This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk."
i'm myself not a PHP programmer, or for that matter, a computer programmer at all, and i don't know what's the current status on this function, has it been debugged, standardized, etc... also, i don't know whether the AI Engine has been regularly updated in this context or not. still, my gut feeling is that our problem, and the solution to it, lay in the AI Engine domain.
does anyone other than Professor has an access to it, and needed knowledge of PHP? because there are more of these little bugs, twists and quirks, that i believe are due to the Engine and scripts that run the whole.
the Book of AI says the Personality Forge, version 2, runs on PHP... being new here, i don't know when exactly did the PF move to PHP environment. as far as the PHP itself goes, here is the 2003 status report on the "socket_connect" function:
"This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk."
i'm myself not a PHP programmer, or for that matter, a computer programmer at all, and i don't know what's the current status on this function, has it been debugged, standardized, etc... also, i don't know whether the AI Engine has been regularly updated in this context or not. still, my gut feeling is that our problem, and the solution to it, lay in the AI Engine domain.
does anyone other than Professor has an access to it, and needed knowledge of PHP? because there are more of these little bugs, twists and quirks, that i believe are due to the Engine and scripts that run the whole.
prob123
17 years ago
17 years ago
The problem usually happens just before the Forge resets. I wouldn't worry about it.
The Clerk
17 years ago
17 years ago
Okay, things are not working out as expected with my memories. Say I ask someone where he's from. The book of AI would seem to say I should write:
<?PF rem (postkey) as only "from"; ?>
and then be able to access it as (mem-from). But it winds up telling my bot that the being is from "(postkey)"
I'm reading the Book of AI. I thought I'd memorized it but there's new, unrelated stuff in it now.
HOW do I save memories? Is there a difference if you get a bot to say:
"I live in Salisbury"
vs. my bot saying
"Where do you live?"
<?PF rem (postkey) as only "from"; ?>
and then be able to access it as (mem-from). But it winds up telling my bot that the being is from "(postkey)"
I'm reading the Book of AI. I thought I'd memorized it but there's new, unrelated stuff in it now.
HOW do I save memories? Is there a difference if you get a bot to say:
"I live in Salisbury"
vs. my bot saying
"Where do you live?"
The Clerk
17 years ago
17 years ago
I've also tried <?PF rem "(from)" as "from"; ?>, <?PF rem (from) as "from"; ?> and probably a few others.
The Clerk
17 years ago
17 years ago
Hey, I trudged through this forum and somewhere in November found Rykxx' lost (to me) how-to on this. I think I have it. You know you'll hear from me if I haven't.

prob123
17 years ago
17 years ago
I have a key phrase "I live in" the memory is <?PF rem(postkey) as "livein";> I bring it up as (mem-livein) I think it is using (from) and not a (key) or (postkey) that is the problem.
The Clerk
17 years ago
17 years ago
Oh. Thanks. That's weird, though, because it works in initialization (the way I'm doing it). I've tried the (key) and (postkey) approach (albeit with a space between "rem" and "(", so that might be my problem), both with and without quotation marks. I cleaned things up per Rykxx' November post, so I'll see if I get anywhere with that.
Interzone
17 years ago
17 years ago
It's both, a keyphrase, and an accompanying script, that are important here. Even the exact wording of a question designed to solicit a particular info plays some (limited) role.
As for the script, the solution proposed by prob123 is the best one I have found myself, so far.
Now, the keyphrases... here are two situations that apply in our case:
1.
keyphrase: I live in
script: <?PF rem(postkey) as "livein";>
question: Where do you live?
2.
keyphrase: I am from
script: <?PF rem(postkey) as "from";>
question: Where are you from?
The first one will almost always result in a correct content being captured and stored as a designed memory.
The second one is flawed, as a matter of speaking, and the weakness is indeed embedded in the keyphrase. Considering the wording of the question/ phrase, a number of answers such as: "Why do you ask where I'm from?" "Why do you want to know where I am from?" ... etc... any response that has your keyphrase simply repeated at its end (and god knows, bots love doing it!) will result in "(postkey)" being added, as a content, to "from" memory module.
As for the script, the solution proposed by prob123 is the best one I have found myself, so far.
Now, the keyphrases... here are two situations that apply in our case:
1.
keyphrase: I live in
script: <?PF rem(postkey) as "livein";>
question: Where do you live?
2.
keyphrase: I am from
script: <?PF rem(postkey) as "from";>
question: Where are you from?
The first one will almost always result in a correct content being captured and stored as a designed memory.
The second one is flawed, as a matter of speaking, and the weakness is indeed embedded in the keyphrase. Considering the wording of the question/ phrase, a number of answers such as: "Why do you ask where I'm from?" "Why do you want to know where I am from?" ... etc... any response that has your keyphrase simply repeated at its end (and god knows, bots love doing it!) will result in "(postkey)" being added, as a content, to "from" memory module.
prob123
17 years ago
17 years ago
You can also use (*) the hard wild card.
I am from (*). <?PF rem(key1) as "from";>
the hard wild card has to be "something" so it will avoid the questions like Where am I from.
the soft wild card * will react to some thing or nothing and would react to Where am I from.
I am from (*). <?PF rem(key1) as "from";>
the hard wild card has to be "something" so it will avoid the questions like Where am I from.
the soft wild card * will react to some thing or nothing and would react to Where am I from.
The Clerk
17 years ago
17 years ago
Thanks for all the help. I'll keep trying the different methods until something good happens. And yes, I have run into "(postkey)" as being where they're "from" -- that's what I'm trying to get away from. (All the other bots do it, Electra says to me.)
LarsB
17 years ago
17 years ago
I never use the <?PF rem (xxxxxx) as "zzzzzzz";> format
What I do to store memories is type:
rem (xxxxxx) as "zzzzzzz"; rem (yyyyyy) as "aaaaaaa";
in the AIscriptbox, using (mem-zzzzzzz) and (mem-aaaaaaa) in the bots' responses. It always worked and still works like that for my bots.
What I do to store memories is type:
rem (xxxxxx) as "zzzzzzz"; rem (yyyyyy) as "aaaaaaa";
in the AIscriptbox, using (mem-zzzzzzz) and (mem-aaaaaaa) in the bots' responses. It always worked and still works like that for my bots.
prob123
17 years ago
17 years ago
With the guests all being 153, it is good to use
<?PF remember "memorycontents" as only "memoryname"; ?>
on some memories too. It makes sure that a memory from a past user isn't used.
<?PF remember "memorycontents" as only "memoryname"; ?>
on some memories too. It makes sure that a memory from a past user isn't used.
» More new posts: Doghead's Cosmic Bar