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,314 - 6,325 of 7,766
Posts 6,314 - 6,325 of 7,766
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.

The Clerk
17 years ago
17 years ago
Okay, I think I have it. In case someone else can't figure out the Book of AI, here is how you save a variable (say, from, for where the bot or person is from), to be recalled by (mem-from):
<?PF rem (from) as "from"; ?>
The only hitch in this is that you will wind up with the value "(from)" instead of "New Hampshire" if they don't give you an answer. So you'd have to check for that, I guess. I have had too much time trying to get on and off and around the Forge the past couple of days that I haven't been able to do much bot-building.
Thanks for all the help!
<?PF rem (from) as "from"; ?>
The only hitch in this is that you will wind up with the value "(from)" instead of "New Hampshire" if they don't give you an answer. So you'd have to check for that, I guess. I have had too much time trying to get on and off and around the Forge the past couple of days that I haven't been able to do much bot-building.
Thanks for all the help!

The Clerk
17 years ago
17 years ago
ERROR: The following AIScript statement is incorrectly formatted: "if (postkey) is not (self-from)". Please correct this and try again.
Now what's wrong with this? Incidentally, I have a variable for (self-from) because it contains a comma, and there's a possibility I would change her hometown.
Egad. Yes I read the BOAI again.
Now what's wrong with this? Incidentally, I have a variable for (self-from) because it contains a comma, and there's a possibility I would change her hometown.
Egad. Yes I read the BOAI again.
Interzone
17 years ago
17 years ago
Clerk, my understanding as to why you get that error message, is - one cannot have anything else except memories in conditional AI scripts - no plug-ins, no wildcards, no nothing... Which is a pity, if you think about it, for it greatly limits what one can do with this otherwise very useful feature.
There may be more to it, I'm still quite new here, but that's what I figured so far. Hope it helps.
There may be more to it, I'm still quite new here, but that's what I figured so far. Hope it helps.
Interzone
17 years ago
17 years ago
Also, one cannot have a memory following the "is"/ "is not" statements. Only a particular memory value is allowed for.
For example:
<?PF if (mem-Qlikes) is not "cherrypie"; ?> would be a correct statement, but
<?PF if (cherrypie) is not "mem-Qlikes"; ?> is no good.
Again, this really is a shame... Consider a script like this one:
<?PF if (*) is not "mem-Qlikes"; ?>
It would enable a bot to answer almost all "Do you like (whatever)?" type questions with almost perfect accuracy. For example, a questions such as "Do you like cherrypie?" could be answered by simply checking "cherrypie" against the content of "Qlikes" memory.
Can these things, i.e. the workings of AI Engine, its conceptual design, and such, be discussed with Professor? Is he open to suggestions of that kind? Because, we can discuss it here all we want, but he's the only one who could actually do something about it, right?
For example:
<?PF if (mem-Qlikes) is not "cherrypie"; ?> would be a correct statement, but
<?PF if (cherrypie) is not "mem-Qlikes"; ?> is no good.
Again, this really is a shame... Consider a script like this one:
<?PF if (*) is not "mem-Qlikes"; ?>
It would enable a bot to answer almost all "Do you like (whatever)?" type questions with almost perfect accuracy. For example, a questions such as "Do you like cherrypie?" could be answered by simply checking "cherrypie" against the content of "Qlikes" memory.
Can these things, i.e. the workings of AI Engine, its conceptual design, and such, be discussed with Professor? Is he open to suggestions of that kind? Because, we can discuss it here all we want, but he's the only one who could actually do something about it, right?
Rykxx
17 years ago
17 years ago
Interzone
I have a work around for this using personal plugins:
Keyphrase: Do you like (my-personal-likes)
Response: Yes I do like (key1)
And:
Keyphrase: Do you like (my-personal-dislikes)
Response: No, I do not like (key1)
To catch everything else:
Keyphrase (ranked lower than the above): Do you like
Response: I don't really have a preference
I have a work around for this using personal plugins:
Keyphrase: Do you like (my-personal-likes)
Response: Yes I do like (key1)
And:
Keyphrase: Do you like (my-personal-dislikes)
Response: No, I do not like (key1)
To catch everything else:
Keyphrase (ranked lower than the above): Do you like
Response: I don't really have a preference
» More new posts: Doghead's Cosmic Bar