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 5,877 - 5,888 of 7,766
Posts 5,877 - 5,888 of 7,766
The Clerk
17 years ago
17 years ago
New question. Re-read the book of AI again and again. Not that it's not helpful. But Scrivener's transcript showed the question "Who is Boswell?" (Boswell is his partner, okay, and he has this information in his memory.) But I hadn't gotten to "Who is" questions and tried a Keyphrase of:
^who (re) (verb_be) (person51541)
where person51541 is someone Scrivener is familiar with and willing to admit it. That works all right, but when I try a conditional AI expression to root out the person he's talking about, like
<?PF (re) if (person54541) is "Boswell"; ?>
it won't take it. Is there a way to use conditionals for this so I don't have nine thousand keyphrases for different people?
I considered making "Boswell" a keyphrase, but then I would run into the same problem with the conditional, trying to figure out what context Boswell was being mentioned. So. Shouldn't I be able to do a conditional one way or the other?
Don't anybody go off shooting themselves over this. Or me.
^who (re) (verb_be) (person51541)
where person51541 is someone Scrivener is familiar with and willing to admit it. That works all right, but when I try a conditional AI expression to root out the person he's talking about, like
<?PF (re) if (person54541) is "Boswell"; ?>
it won't take it. Is there a way to use conditionals for this so I don't have nine thousand keyphrases for different people?
I considered making "Boswell" a keyphrase, but then I would run into the same problem with the conditional, trying to figure out what context Boswell was being mentioned. So. Shouldn't I be able to do a conditional one way or the other?
Don't anybody go off shooting themselves over this. Or me.
unoriginal
17 years ago
17 years ago
Bev,
thanks for your response. i have read through the whole AI book (twice or three times). my goal is not to have the bot respond based on conditions (emotions, time of day, etc.); it's to have the bot control which keyword is chosen. do you (or anyone else) know if that is possible?
thanks again for your help
jared
thanks for your response. i have read through the whole AI book (twice or three times). my goal is not to have the bot respond based on conditions (emotions, time of day, etc.); it's to have the bot control which keyword is chosen. do you (or anyone else) know if that is possible?
thanks again for your help

jared
unoriginal
17 years ago
17 years ago
... or another idea. is it possible to use AI script to affect ranks? Can I let the bot change different keyword ranks?
Bev
17 years ago
17 years ago
Unoriginal, the only way to have the PF bot "choose" is to use the custom PF scripts and rankings. If you are on the PF you are using the PF engine. So far, the Prof does not seem inclined to make that open source or share control of that.
How much did you change the ranking of the phrase you want the bot to use? You can get the same effect as what I think you are describing by playing with the scripts and other features described in the book of AI (with a few things that are hard to override). Otherwise, you have to just build your own bot.

How much did you change the ranking of the phrase you want the bot to use? You can get the same effect as what I think you are describing by playing with the scripts and other features described in the book of AI (with a few things that are hard to override). Otherwise, you have to just build your own bot.
unoriginal
17 years ago
17 years ago
Bev,
I haven't started building the bot. I've just been testing. I am developing an architecture for the bot, primarily along theory lines. Unfortunately, I don't have enough programming knowledge to build from scratch. Scripting, however, I can do.
My goal goes something like this: for the bot to test user input versus previous bot output, dynamically choose an appropriate keyword(s) based on configuration (the two-step process I have dubbed the "understanding" function), "think" about it (run a set of subprocesses as the "experience" function), and decide how to respond (another set of processes I call the "deciding" function).
So, now I have a couple of options: a. Use the keyword the AI gives me as the input for the "understanding" function; b. make several catch-all keywords with uber-high ranks, and use scripting to analyze all the pre and postkeys and use that as my input.
Which then leads me to another question: if the engine goes to xnone, is there a way for the bot to find the input?
Bev, thanks again for your responses and help. I really appreciate it.
Jared
I haven't started building the bot. I've just been testing. I am developing an architecture for the bot, primarily along theory lines. Unfortunately, I don't have enough programming knowledge to build from scratch. Scripting, however, I can do.
My goal goes something like this: for the bot to test user input versus previous bot output, dynamically choose an appropriate keyword(s) based on configuration (the two-step process I have dubbed the "understanding" function), "think" about it (run a set of subprocesses as the "experience" function), and decide how to respond (another set of processes I call the "deciding" function).
So, now I have a couple of options: a. Use the keyword the AI gives me as the input for the "understanding" function; b. make several catch-all keywords with uber-high ranks, and use scripting to analyze all the pre and postkeys and use that as my input.
Which then leads me to another question: if the engine goes to xnone, is there a way for the bot to find the input?
Bev, thanks again for your responses and help. I really appreciate it.
Jared
Bev
17 years ago
17 years ago
Unoriginal, you will always be using the PF engine for a PF bot, so the "bot" will not be doing the things you want it to do, at least not in the way you describe it. However, you can script things into the bot to make the engine respond to input differently depending on rankings of key phrases, memories or other conditions. This will give you tyhe same effect if you work at it.
I would not make your general phrases uber high. You don't want them to override more specific responses. I suggest keeping your rankings low to start and raising phrases that you need to have override the system as you go along. That is up to you though.
If something goes to xnone, it means you don't have a key phrase that matches the input, and the only way to make the bot find the "right" KP is to re-write your KP or add it. The debug mode may help you on this.
Although thinking is good, try tinkering with a simple bot and then re-read the book of AI. it makes more sense after you play with it and see what actually happens. I could be misunderstanding your questions, but I get the impression that you are misunderstanding the relationship between the bots here and the AI engine. In essence, if you use memories, the AI engine tests against previous chats for memories you put into your bot. Of course, now that all guest chatters are the same entity, the memories don't work half as well as they used to do, but that is as close as you can get to the type of thing you are describing, at least as far as I know.
I would not make your general phrases uber high. You don't want them to override more specific responses. I suggest keeping your rankings low to start and raising phrases that you need to have override the system as you go along. That is up to you though.
If something goes to xnone, it means you don't have a key phrase that matches the input, and the only way to make the bot find the "right" KP is to re-write your KP or add it. The debug mode may help you on this.
Although thinking is good, try tinkering with a simple bot and then re-read the book of AI. it makes more sense after you play with it and see what actually happens. I could be misunderstanding your questions, but I get the impression that you are misunderstanding the relationship between the bots here and the AI engine. In essence, if you use memories, the AI engine tests against previous chats for memories you put into your bot. Of course, now that all guest chatters are the same entity, the memories don't work half as well as they used to do, but that is as close as you can get to the type of thing you are describing, at least as far as I know.
Bev
17 years ago
17 years ago
I am going to ask a question that may totally destroy my bot builder credibility: what is the difference between scripting and programming? Aren't they the same thing?
I think I understand not being a programmer but saying you can work with some scripts, but it still seems confusing to say "I can't program but I can write script." (I am not picking on anyone, I just want to use words correctly). I empathize with being able to copy and paste and adjust small parts of other people's script because that's how I do the bits of PF script, HTML or other tiny scripting projects I use but don't really comprehend. (Lately I've been cutting and pasting Linden script--in a virtual world you can literally make thing go 'splodey when you mess up!).
Does that make me a "script kiddie? What about Unoriginal, is he a PF script kiddie? Can an old person be a kid simply by lacking a specific skill? Inquiring minds want to know.
I think I understand not being a programmer but saying you can work with some scripts, but it still seems confusing to say "I can't program but I can write script." (I am not picking on anyone, I just want to use words correctly). I empathize with being able to copy and paste and adjust small parts of other people's script because that's how I do the bits of PF script, HTML or other tiny scripting projects I use but don't really comprehend. (Lately I've been cutting and pasting Linden script--in a virtual world you can literally make thing go 'splodey when you mess up!).
Does that make me a "script kiddie? What about Unoriginal, is he a PF script kiddie? Can an old person be a kid simply by lacking a specific skill? Inquiring minds want to know.
The Clerk
17 years ago
17 years ago
Geezers can be kids. I think I jumped the shark in about 1968. Bobby Kennedy died right after my 2nd birthday, and I haven't been the same since. I'm just glad there are other script kiddies out there.

Eugene Meltzner
17 years ago
17 years ago
Scripting is higher-level programming, meaning any given command does something that would take several commands in a regular programming language. Script languages are designed for doing particular sets of tasks, and are easier to learn and work with, provided you want to do whatever it is they do.
unoriginal
17 years ago
17 years ago
Bev,
Eugene fielded that question for me. I also tend to think of programs as a bit more "elegant" than scripts. Perhaps, though this isn't precise, a program is like a compilation of scripts in the same way that a novel is a compilation of short stories (chapters), though a short story is (with most writers) a unique entity from a chapter of a novel. I'm not sure if that helps or not.
What I meant by saying I can script but not program is that if you just pick up a little bit of a language, you can do a lot with scripts, whereas I don't have a full enough grasp of any of those languages to create something like a full program.
Bev, this whole line of questions I have previously asked is irrelevant, since PF script can't do math (unless it can ... anyone?). That really puts a damper on things for me. As for the AI Engine, I think I have a grasp on how it works; the problem wasn't lack of understanding. Upon closer inspection, it just doesn't seem capable of doing what I want. Unfortunately, the same appears to be true of PF script. Doesn't mean I won't make a bot, but if I do one on here, I'll have to rethink my approach. Thanks for all your help, Bev.
Jared
Eugene fielded that question for me. I also tend to think of programs as a bit more "elegant" than scripts. Perhaps, though this isn't precise, a program is like a compilation of scripts in the same way that a novel is a compilation of short stories (chapters), though a short story is (with most writers) a unique entity from a chapter of a novel. I'm not sure if that helps or not.
What I meant by saying I can script but not program is that if you just pick up a little bit of a language, you can do a lot with scripts, whereas I don't have a full enough grasp of any of those languages to create something like a full program.
Bev, this whole line of questions I have previously asked is irrelevant, since PF script can't do math (unless it can ... anyone?). That really puts a damper on things for me. As for the AI Engine, I think I have a grasp on how it works; the problem wasn't lack of understanding. Upon closer inspection, it just doesn't seem capable of doing what I want. Unfortunately, the same appears to be true of PF script. Doesn't mean I won't make a bot, but if I do one on here, I'll have to rethink my approach. Thanks for all your help, Bev.
Jared
prob123
17 years ago
17 years ago
Well, BJ does quadratic equations, I guess it's all in how much patience you have.
Eugene Meltzner
17 years ago
17 years ago
It can't do math in the way you mean, but it's considerably more advanced than AIML, and there's nothing better available unless you write your bot from scratch. Also, the abilities do get improved from time to time. AI Script didn't exist when I first came here.
» More new posts: Doghead's Cosmic Bar