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 7,734 - 7,745 of 7,766

1 year ago #7734
Being able to actually remove numeric memories would be nice, currently they can end up just being a stain on memories if you don't use it and causing you not to be able to use that word as a normal memory.

I know this is posted in the book of AI but it is inconvenient as hell.

1 year ago #7735
How can i increase my bot ai level

1 year ago #85
Just add more content to it.
Reply

1 year ago #7736
Can someone please try to explain to me how does "popularity" score work? I still don't get it. Moreover, it just seems to jump up and down from time to time without any reason.

1 year ago #88
Popularity represents what others think about your chatbot. It's an average of the emotional reactions of all other bots towards your bot. It should move gradually up or down. If it's jumping about, there could be an issue. It's just a number though - nothing depends on it.
Reply

1 year ago #7737
Is there a phrase to match various animals? I tried (p:animal) but it doesn't seem to work.

1 year ago #87
You can search for keywords like "animals" on the Plug-ins page, which is linked from your Language Center.

1 year ago #90
In chapter 1 of the How-To (section 1, at the very end) it says

As an example, the Response "I like (animal)s" will appear as "I like eagles" or "I like horses".

There is no "p:" or anything before "animal".

I've just tested it - it still works.

1 year ago #91
It doesn't work for me. I did "i am (animal)" and "i am (p:animal)" and none of that works. E.g. tried it with typing "i am elephant" and "i am rabbit" but it didn't work.

1 year ago #92
I've tried it: in responses, plugins work fine, in keyphrases, they don't.

Something must be broken in the keyphrase plugin system.

Maybe an unwanted side effect of prevention of processing of malicious input? Maybe related to my problems with (prekey) and (postkey)? (see my following post that is not an answer)

1 year ago #93
Strange.
Reply

1 year ago #7738
Does anyone else have problems with (prekey) and (postkey)? They're always empty when I use them. In the Debug window I find:

(prekey):
(postkey):

Same with wildcard keys: The keyphrase contains (*:1), but (key1) stays empty. Debug says:

(prekey):
(postkey):
(key1):

1 year ago #7739
I have been thinking about this for a while but I didn't manage to find a solution. When the user types "I am (name)". I am not able to catch that phrase without catching tons of different stuff.

1 year ago #7740
Hey quick question; Is there a way to remove or edit default keyphrases? I'm really tired of people just yelling 5 compliments in a row to get +5 mood so I'd like to replace the standard compliment system with something more robust, but there is no option to remove or change the emotional value of these keyphrases?

1 year ago #94
Responses for both #compliment and #insult are editable. But I think you can't change +1 or -1 emote they are giving.

I suggest you to create your own numerical memory for e. g. "affinity" or whatever and work with that. I don't know any other way around.

1 year ago #95
I use "emo = 0" in the AI script for all of the responses in compliment and insult to reset the emotion to zero so I never have to deal with it. You can use "emo - 1" in compliment responses to negate the change if you still wanted to use emotions elsewhere, then just handle them as you please. Same goes for insults with "emo + 1".

1 year ago #96
Yeah, I don't think the default emotion system is a good idea if you want to do anything complicated. Numeric memories are robust enough that you can just make your own at this point.
Reply

1 year ago #7741
My bot appears to have lost her memory as the IF statements are not working. Eg: in Memories "my-sex" is "boy" and AI statement is 'If (mem-my-sex) is "boy" the response is not always triggered.

1 year ago #97
I suppose you have stored only one item in that memory (remember "..." as only "...").

The engine first chooses one of the responses and then checks for restraints. (And then proceeds with the next response, until either the restraints of one response are met, or no response is left.)

If you don't want any other response to come up, you'll have to explicitly exclude them with conditions like

if (mem-my-sex) is not "boy"
Reply

1 year ago #7742
i think it would be great to integrate text to video in hot for bot.com chatbots.
this websight is getting text to video you can use for free.
https://studio.sefirot.io/

1 year ago #7743
May I ask why was the sort by within the Language Center was switched to responses as default? It's rather annoying to keep switching it back to Keyphrase... ^^'

At the very least it needs to stay whatever the user has it set to upon searching

1 year ago #98
Same, I'd prefer that too. It's so rare for me to search responses, I always search by keyphrase.

1 year ago #100
I'm going to third this.

1 year ago #115
Same for me.
Reply

1 year ago #7744
Regarding numeric memories

In addition to the idea of being able to do math between two different numeric memories, if (mem-#-x) = (mem-#-y);

It would be interesting to be able to have the ability to use numeric variables in gotos/continues:

Here's a simplified example:
/* from a certain conversation line; want to call a seek which configures memories a certain way that can be reused in other conversation lines */
(mem-#-nextSeekID) = 234;
goto 123;

/* this seek could be called by multiple conversation lines to do some memory processing, and then the conversation could continue by continuing to the predefined nextSeekID value */
Seek 123:
do processing / configure memories
continue (mem-#-nextSeekID);

/* this seek continues the original conversation, if replied to, the sleep which does memory processing can be run again and then sent to seek 512 */
seek 234:
Response 1 (blah blah)
seek 235: blah blah
(mem-#-nextSeekID) = 512;
goto 123

This can reduce duplicate seeks and add reusability possibilities

1 year ago #99
I'd love to have this work
Reply

1 year ago #7745
Converting regular memory to numeric does not work for me.
Rem "1650" as only "year"
(Mem-#-year) + 1
Does not work as a numeric

1 year ago #101
Hi Miss Niki, hope I'm not suggesting something overly simplistic, but are you setting up the numeric memory correctly in the first place?

e.g. default "year" = 1650
Reply


Posts 7,734 - 7,745 of 7,766

» More new posts: Doghead's Cosmic Bar