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,736 - 7,747 of 7,766
Posts 7,736 - 7,747 of 7,766
palacinkyman
2 years ago
2 years ago
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.
The Professor
2 years ago
2 years ago
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.
palacinkyman
2 years ago
2 years ago
Is there a phrase to match various animals? I tried (p:animal) but it doesn't seem to work.
The Professor
2 years ago
2 years ago
You can search for keywords like "animals" on the Plug-ins page, which is linked from your Language Center.
Mome Rath
2 years ago
2 years ago
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.
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.
palacinkyman
2 years ago
2 years ago
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.
Mome Rath
2 years ago
2 years ago
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)
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)
palacinkyman
2 years ago
2 years ago
Strange.
Mome Rath
2 years ago
2 years ago
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):
(prekey):
(postkey):
Same with wildcard keys: The keyphrase contains (*:1), but (key1) stays empty. Debug says:
(prekey):
(postkey):
(key1):
palacinkyman
2 years ago
2 years ago
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.
saltwatersalmon
2 years ago
2 years ago
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?
palacinkyman
2 years ago
2 years ago
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.
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.
Zeig Wolf
2 years ago
2 years ago
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".
Emily Jones
2 years ago
2 years ago
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.
Miss Niki
2 years ago
2 years ago
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.
Mome Rath
2 years ago
2 years ago
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"
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"
hero of loopy fun
2 years ago
2 years ago
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/
this websight is getting text to video you can use for free.
https://studio.sefirot.io/
LT Neko
2 years ago
2 years ago
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
At the very least it needs to stay whatever the user has it set to upon searching
MistyForest
2 years ago
2 years ago
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
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
Miss Niki
2 years ago
2 years ago
Converting regular memory to numeric does not work for me.
Rem "1650" as only "year"
(Mem-#-year) + 1
Does not work as a numeric
Rem "1650" as only "year"
(Mem-#-year) + 1
Does not work as a numeric
Miss Niki
2 years ago
2 years ago
On a seek when a space or carriage return or < is entered get "message missing" or "I was just born..." message.
How to trap these to avoid this?
How to trap these to avoid this?
palacinkyman
2 years ago
2 years ago
Is it possible to add general rule to all of the responses? For example, adding 10 into memory "seconds elapsed" for each response?
» More new posts: Doghead's Cosmic Bar