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,309 - 6,320 of 7,766
Posts 6,309 - 6,320 of 7,766
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.
The Clerk
17 years ago
17 years ago
LarsB -- yeah, that's what I've been reduced to, but I wanted an interactive bot -- how would I know what Fizzy's favorite color of moon dust is? But I do use the initialization script a lot. Unless maybe I'm missing something, I don't see how I could find out something about a bot in conversation using only initialization.
prob -- good idea. I'll add that right away.
prob -- good idea. I'll add that right away.
LarsB
17 years ago
17 years ago
There is only one "default (name) as "name"" in the initialization box on the settings page. What I meant is the AIscriptbox you see when you add a key phrase.
What I understand is that whenever a memory is stored it is stored only for that bot/human, Fizzy's favourite colour of moon dust would not, if you manage to get it stored, be used for other bots/humans in chats.
re the guest 153 memories, i have a lot of memories of these users stored and i love to read transcripts of quest 153 responding to other quest 153 stored responses. That'll teach them, not, but at least I do not have to take counter measures like HANGUP and whatnot.
What I understand is that whenever a memory is stored it is stored only for that bot/human, Fizzy's favourite colour of moon dust would not, if you manage to get it stored, be used for other bots/humans in chats.
re the guest 153 memories, i have a lot of memories of these users stored and i love to read transcripts of quest 153 responding to other quest 153 stored responses. That'll teach them, not, but at least I do not have to take counter measures like HANGUP and whatnot.
The Clerk
17 years ago
17 years ago
Questions Galore
Take this line from my Electra Mourning. It won't load:
Response: 1) "What's it like in (mem-from)?" AIScript: if (mem-from) is not "(postkey)" ERROR: The following AIScript statement is incorrectly formatted: "if (mem-from) is not (self-from)". Please correct this and try again.
Also: When I try to save via
<?PF rem (postkey) as "from"; ?>
it loads well enough, but if I try to access mem-from, it has saved it as "
Take this line from my Electra Mourning. It won't load:
Response: 1) "What's it like in (mem-from)?" AIScript: if (mem-from) is not "(postkey)" ERROR: The following AIScript statement is incorrectly formatted: "if (mem-from) is not (self-from)". Please correct this and try again.
Also: When I try to save via
<?PF rem (postkey) as "from"; ?>
it loads well enough, but if I try to access mem-from, it has saved it as "
The Clerk
17 years ago
17 years ago
What it saves it as is the less than character, which will not, why I know not, print in the above post. I've edited it repeatedly.
What the heck am I doing wrong? It seems simple enough. All the other bots are doing it.
What the heck am I doing wrong? It seems simple enough. All the other bots are doing it.
LarsB
17 years ago
17 years ago
Do you have more responses to that key phrase, at least one without any (mem-from) in it? The engine has to store the memory first before the memory can be used by the bot.
LarsB
17 years ago
17 years ago
Additionally, what you are trying to do is impossible according to the Book of AI:
The Response will only come up when the given memory does not have the given memoryvalue stored. If there are multiple stored memories of that type, none can be the given memoryvalue.
I take that to mean that one cannot have (postkey) matched against (mem-from) as a conditional, in other words, you'll have to define the "memoryvalue" and not use bot/human input => (mem-from) as the "memoryvalue" to match against (postkey).
The Response will only come up when the given memory does not have the given memoryvalue stored. If there are multiple stored memories of that type, none can be the given memoryvalue.
I take that to mean that one cannot have (postkey) matched against (mem-from) as a conditional, in other words, you'll have to define the "memoryvalue" and not use bot/human input => (mem-from) as the "memoryvalue" to match against (postkey).
The Clerk
17 years ago
17 years ago
Lars, re the second issue (I think the answer to the first is yes, but I'll check again): I agree that the Book of AI doesn't support this. I can get rid of the "rem (postkey)s," but I'll still have the problem of having misguided (mem-whatzitz) having the value of "(whatzitz)" -- I guess I'll try that (again) and see what happens.
I have no idea what is happening. Sometimes variables get saved correctly, more often not, and sometimes the whole file (or line, if I'm working on the bot online) will just blow up in a rage that I would try to do such a thing.
Thanks. You may very well have given some good advice here. At least it makes sense to me.
I have no idea what is happening. Sometimes variables get saved correctly, more often not, and sometimes the whole file (or line, if I'm working on the bot online) will just blow up in a rage that I would try to do such a thing.
Thanks. You may very well have given some good advice here. At least it makes sense to me.

» More new posts: Doghead's Cosmic Bar