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 4,035 - 4,046 of 7,768

20 years ago #4035
Boner -- You could also use the "goto xnone" trick in that situation. If all the responses were checked to be used just once except that one, then after they were used up it would essentially get ignored.

20 years ago #4036
Yeah, ezzer suggested that to me. That would kind of defeat the purpose though.

The point is that a bot might already have numerous responses for a given sentence, though only the "best" keyphrase will ever be used. Rather than adding numerous responses to every single keyphrase to avoid repeats, existing alternates could be utilized.

20 years ago #4037
ezzer- right, that was an update not too long ago. You can now goto any xKeyphrase. Of course it wont work right with some like xmath and xgossip.

20 years ago #4038
Prof, is there any way you could set the AI Engine to pre-process out the word Why when it's followed by a comma at the beginning of a sentence -- the way that it edits out "Well"?

I mean, the difference between

"Why are you clunky?"

and

"Why, you are clunky!"

etc.

20 years ago #4039
That's kinda what I was asking in message 4031. It's true that you can make it goto xnone, but that's really more llike redirecting it than ignoring it. I still want the rest of the other chatter's response to be considered for possible matches.

Random suggestion- on the plug-ins page, wouldn't it be cool if there were a "new" section to highlight the newest plug-ins? It would make them more visible to users like myself that have read the plug-in lists so many times that they might not notice new additions otherwise.

20 years ago #4040
can one write formula into memories? (not writing in botish, just demonstrating)
Ex: "Do you think that blah-blah is good?"
if answer= yes then x = x+1
if answer= no then y = y+1
RES if yes:out of (x+y) people ive asked (x) agreed with you!

Im not asking for someone to necsessarily work it all out for me I just wanted to know the phraseology or if its possible to keep a running numeric computation

20 years ago #4041
Wow, I was wondering that too! I went to sleep last night thinking of combining something like what revscrj just said with a chrono statement, to make the bot remember how long ago an event occured. I thought it might be possible, because I had a cold bot tell me "I cant speak well even though I'm 3 years old". The bot was indeed 3 years old, and the botmaster hadn't been on in over a year.
Of course, it could have been a coincidence. lol The conversation wasn't long enough for me to determine if script was used in other ways...

Anyway, the only problem that I see with the formula idea in RES if yes:out of (x+y) people ive asked (x) agreed with you! is that the resulting statement, ie. "Out of 3 people ive asked 2 agreed with you" would trigger another bot's xmath.

You could assign default values to x and y, though, which would be the first step. I was thinking of using default "0" as only "x" in initialization, which would definitely work, then using some kind of formula in responses like <?PF rem "(mem-x)+1" as only "x"; ?>, which definitely would NOT work lol...so I was wondering what, if anything would.

20 years ago #4042
Where can (gossipname) be used? i have put in many sentences and Glaive has LOTS of friends and enemies and still sometimes those (gossipname)s come blank... thanks

20 years ago #4043
I think it only works in xgossip. If you want to insert a name elsewhere, use (friend) - which inserts the name of someone your bot likes, or (enemy) - inserts the name of someone your bot dislikes.

20 years ago #4044
Ezzer and Revscrj,
I’ve tried something similar a few months ago. But memories are always considered as text never as numeric values on with you can perform math.
I was also trying to increment a value stored in memory:
A seek or a keyphrase with a formula like <?PF rem (mem-x) = (mem-x) + 1; ?>
Responses with a formulas like <?PF if (mem-x) > 6; ?>
Of course the AI above doesn’t work. Although it would simplify a lot of responses because now we have to test for every possible value of that particular memory in different responses before changing it, eventually duplicating the seeks following the response.
Response 1 [0,0] <?PF if (mem-x) is "1"; rem "2" as only "x"; ?>
    + seek keywords [0]
Response 2 [0,0] <?PF if (mem-x) is "2"; rem "3" as only "x"; ?>
    + seek keywords [0]

20 years ago #4045
For something where you weren't doing a lot of counting, you could spell it out with words. Like, you could use a mem like "times-told" for each respondent, and have AI Script that gave responses based on "once" and "twice" and "threetimes" ...

... and also have AI Script that would replace "once" with "twice" as the only thing in the memory. You could accomplish SOME math operations manually this way, but it wouldn't be much of a long-term solution for the kinds of things y'all are raising.

20 years ago #4046
How exactly would you get a regular expression and a raw keyphrase to work together? For example: How would you tell the difference between

why do you like (adjartnounprep)
and
why, do you like (adjartnounprep)
When I tried doing the second one, I just got back the response for "do you like (adjartnounprep)"


Posts 4,035 - 4,046 of 7,768

» More new posts: Doghead's Cosmic Bar