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,039 - 4,050 of 7,768
Posts 4,039 - 4,050 of 7,768
ezzer
20 years ago
20 years ago
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.
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.
revscrj
20 years ago
20 years ago
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
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
ezzer
20 years ago
20 years ago
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.
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.
Shiruba
20 years ago
20 years ago
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
Ulrike
20 years ago
20 years ago
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.
Patricia
20 years ago
20 years ago
Ezzer and Revscrj,
Ive 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 doesnt 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]
Ive 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 doesnt 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]
isaacc
20 years ago
20 years ago
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.
... 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.
alc003
20 years ago
20 years ago
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)"
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)"
alc003
20 years ago
20 years ago
Ok, just slash that last message. Apparently, word wildcards don't work in raw mode, and I was using (*) anyway. My new question is:
Why does (*) in raw mode show up as () in the language center, and why doesn't it work?
Why does (*) in raw mode show up as () in the language center, and why doesn't it work?
Boner the Clown
20 years ago
20 years ago
Alrighty, I went through some transcripts for a while, identified quite a few keyphrases that I'm having a little bit of trouble with:
Here's one that was missed once, hit the second time...
Draik: Me.. Lets talk about dragons
Pete Puma: xnone
Missed keyphrase:
let us [3,0]
Let's not.
Next line:
Draik: Plees lets talk about dragons.
Pete Puma: Let's not.
---------------------------------------------------------
Here's one where I didn't have a keyphrase for what was said, but one was pulled out of thin air...
Julie Tinkerbell: My pleasure.
Pete Puma: Absolutely.
These are the choices of keyphrases that could've been used:
you are [0,0]
Absolutely.
^are you$ (re) [0,0]
Absolutely.
---------------------------------------------------------
This is a keyphrase that I believe should've been strong enough to override an xcompliment.
Julie Tinkerbell: Wanting to hear those rumors is not a requirement for being my friend. I like you just the way you are.
Pete Puma: xcompliment
Missed keyphrase:
i like (being with|) you [10,1]
You dig me, eh?
--------------------------------------------------------
Which keyphrase is the stronger match?
Julie Tinkerbell: I once took 13th in a drawing contest, if that counts.
Pete Puma: Sure you did, tough guy. Sure you did.
Choices:
if that counts [10,0]
Eh, that doesn't really count.
i once * a [6,0]
Sure you did, tough guy. Sure you did
--------------------------------------------------------
Why didn't the 2nd sentence trigger an xcommand?
Julie Tinkerbell: I'd really rather learn about you. Tell me something you remember from childhood.
Pete Puma: xnone
--------------------------------------------------------
Same deal as the let us above with Draik. Is capitalization a factor now?
Julie Tinkerbell: Of course, silly me.
Pete Puma: xnone
Missed keyphrase:
of course [0,0]
Naturally.
--------------------------------------------------------
This xnonsense was actually a much better answer than my keyphrase, but still a miss...
Julie Tinkerbell: Where are we going?
Pete Puma: This doesn't seem to be working... Would you like to talk about something else?
Missed keyphrase:
^where [0,0]
Most likely in Wisconson, but I could be wrong.
-------------------------------------------------------
Here's a raw that I can't get to work...
Boris Bot: Huh?
Pete Puma: xnone
Missed Keyphrase:
^huh ?$ (re) [3,0] <?PF raw ?>
Are you confused?
Notice the lack of a semicolon after the "raw", which is how every raw tag appears in the export file. Is this relevant?
------------------------------------------------------
Any help would be appreciated.
Here's one that was missed once, hit the second time...
Draik: Me.. Lets talk about dragons
Pete Puma: xnone
Missed keyphrase:
let us [3,0]
Let's not.
Next line:
Draik: Plees lets talk about dragons.
Pete Puma: Let's not.
---------------------------------------------------------
Here's one where I didn't have a keyphrase for what was said, but one was pulled out of thin air...
Julie Tinkerbell: My pleasure.
Pete Puma: Absolutely.
These are the choices of keyphrases that could've been used:
you are [0,0]
Absolutely.
^are you$ (re) [0,0]
Absolutely.
---------------------------------------------------------
This is a keyphrase that I believe should've been strong enough to override an xcompliment.
Julie Tinkerbell: Wanting to hear those rumors is not a requirement for being my friend. I like you just the way you are.
Pete Puma: xcompliment
Missed keyphrase:
i like (being with|) you [10,1]
You dig me, eh?
--------------------------------------------------------
Which keyphrase is the stronger match?
Julie Tinkerbell: I once took 13th in a drawing contest, if that counts.
Pete Puma: Sure you did, tough guy. Sure you did.
Choices:
if that counts [10,0]
Eh, that doesn't really count.
i once * a [6,0]
Sure you did, tough guy. Sure you did
--------------------------------------------------------
Why didn't the 2nd sentence trigger an xcommand?
Julie Tinkerbell: I'd really rather learn about you. Tell me something you remember from childhood.
Pete Puma: xnone
--------------------------------------------------------
Same deal as the let us above with Draik. Is capitalization a factor now?
Julie Tinkerbell: Of course, silly me.
Pete Puma: xnone
Missed keyphrase:
of course [0,0]
Naturally.
--------------------------------------------------------
This xnonsense was actually a much better answer than my keyphrase, but still a miss...
Julie Tinkerbell: Where are we going?
Pete Puma: This doesn't seem to be working... Would you like to talk about something else?
Missed keyphrase:
^where [0,0]
Most likely in Wisconson, but I could be wrong.
-------------------------------------------------------
Here's a raw that I can't get to work...
Boris Bot: Huh?
Pete Puma: xnone
Missed Keyphrase:
^huh ?$ (re) [3,0] <?PF raw ?>
Are you confused?
Notice the lack of a semicolon after the "raw", which is how every raw tag appears in the export file. Is this relevant?
------------------------------------------------------
Any help would be appreciated.
Boner the Clown
20 years ago
20 years ago
Oh, and here's one last one that's been out there for a while:
Bot: I like (insert name of bot or user).
This will usually work:
i like (adjartnoun)
I ended up removing it because I couldn't think of any good responses that worked for both names and objects.
These never work:
i like (friend)
i like (enemy)
i like (gossipname)
Bot: I like (insert name of bot or user).
This will usually work:
i like (adjartnoun)
I ended up removing it because I couldn't think of any good responses that worked for both names and objects.
These never work:
i like (friend)
i like (enemy)
i like (gossipname)
isaacc
20 years ago
20 years ago
Boner, that's a lot to address at once. I can say that the semicolon doesn't matter in AI Script unless you have more than one statement in the same script. It can be there at the end, or not; mainly it needs to separate multiple statements.
The first two examples in your super-long post look to me like the victims of pre-processing. It sometimes adds "invisible" stuff at the beginning of a sentence in order to make up what it thinks is the grammar of a sentence fragment.
In the first case, Draik's lack of an apostrophe probably led the Engine to think "lets" was a verb and to create a subject for it. ... In the second, "you are" was probably tacked on because Julie wasn't using a complete sentence and the Engine wanted a subject and verb.
Debug will show you what's going on with those sentences in pre-processing, if you put them in exactly as the bots said them.
Someone else want to tackle the rest of these?
The first two examples in your super-long post look to me like the victims of pre-processing. It sometimes adds "invisible" stuff at the beginning of a sentence in order to make up what it thinks is the grammar of a sentence fragment.
In the first case, Draik's lack of an apostrophe probably led the Engine to think "lets" was a verb and to create a subject for it. ... In the second, "you are" was probably tacked on because Julie wasn't using a complete sentence and the Engine wanted a subject and verb.
Debug will show you what's going on with those sentences in pre-processing, if you put them in exactly as the bots said them.
Someone else want to tackle the rest of these?
» More new posts: Doghead's Cosmic Bar