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,228 - 7,239 of 7,766

7 years ago #7228
So I was noticing a problem with names in compound sentences and I came up with a solution to fix it that I thought I would share here.

But before I get into that I want to say that plug ins are awesome. For example:

KP: i am (p:namecatch-m|p:namecatch-f|p:namecatch-u)

Allows me to simply say "I'm Nathan." and the bot will recognize it as a name but won't accidently catch things like "I'm sleepy."

But let's say a user doesn't want to be called a traditional name that those plug ins will catch. Let's say we have a guest who wants to be called Zoomba.

KP: (my name is|i am called|call me|call me a|refer to me as|refer to me as a|call me by my nickname|call me by my real name|call me by my first name|call me by my last name) (*) (I|you|it|pleasure|nice|happy|good|glad|sorry|terrible|is|why|what|to|too|great|shakes|kisses|reaching|reaches|hugs|more|will|tis|such|so|)

Yeah, I know it's really long and deserves it's own plug in but you get the idea. Just jack up the rank to 20. And have the ai script grab Key 2 as name and you end up with this.

You: Hello, my name is Zoomba. You look beautiful.

Bot: 'Zoomba.' She echoes as though tasting the name and trying to determine if she enjoys it. 'Should I call you Zoomba then?'

Or even better!

You: How dare you refer to me as a fool you insipid creature!

Bot: 'fool.' She echoes as though tasting the name and trying to determine if she enjoys it. 'Should I call you fool then?'

The only flaw I've found so far is that you'll have to create rank 21 or higher keyphraes to catch things like...

"Call my crazy but..." or
"You can call me anytime!"

Anyway, I just thought I'd share since I knew there were other bots out there who sometimes had trouble catching names.

7 years ago #7229
Im being driven crazy here. Following the instructions given in the Book of AI.. I cant even get the first part working.

Im attempting to create an RP style bot, but just the storage of a name isnt working. This is what i got

Keyphrase : (My name is|I am|It is) *:1
Response : Hello, (key1). What is your gender?
AI Script : rem (key1) as only "playername"

Now, the response doesnt give the name! (and doesnt store it in playername which is initiated in settings) What have i missed?

7 years ago #7230
In this case, key1 is (my name is|I am|It is)

So unless those key words are in the response it will not recognize a (Key1) as existing. If on the other hand the user had responded with "My name is bob", the bot would have started calling it 'My name is'.

What you're going to want to do is slap some brackets around your * so it reads like (My name is|I am|It is) (*)

ai script: rem (key2) as only "playername"

Let us know if that fixes it. Good luck!


7 years ago #7231
Trouble is I am getting blanks, and isn't the :1 supposed to allow me to designate that as the key 1?

In the above example, i don;t even get key1 as being My Name is Instead it is completely blank.

Changing it to what you have above, it never even triggers the response anymore

7 years ago #7232
Huh... I'm not sure. I never really played around with assigning keys. My name thing is set up kind of like this:

Settings: default (name) as "name";

KP: (my name is|i am called|call me) (*)
AI script: rem (key2) as only "name"

Response: '(mem-name).' She echoes as though tasting the name and trying to determine if she enjoys it. 'Should I call you (mem-name) then?'


Edit: If they say yes, then all is well. If they say no on the other hand..

Response: Alright then,
AI script: rem (name) as only "name"

Which is pretty much the default Username. Guest34534 or whatever their log in name is.


7 years ago #7233
SSremla, I have something like this:

Keyphrase : (My name is|I am|It is)
Response : Hello, (postkey). What is your gender?
AI Script : rem (postkey) as only "playername"

give it a whirl. I dont really like using postkeys, they could bite you later on, but for something as common and fairly "uncomplicated" as giving your name. This should work.
Good luck.

7 years ago #7234
Ill try it and report back. I'm hoping to get it to work with keys though. This is supposed end up as an RP bot, so there will be many areas and such to do with and i want to avoid cross contamination heh

7 years ago #7235
Much like Wimpied did earlier, I'd like to make a suggestion on how to improve the ai engine.

Now we know the engine reprocesses user inputs in order to "interpret' it in a sense. However on many occasions it will change what would have been an exact match to a keyphrase into something that doesn't match with anything, therefore going to xnone, or xcommand or whatever it deems fit.

The reprocessed message always takes priority. I'd like to suggest that it be changed in order to prioritize matches. If the reprocessed message matches a particular keyphrase but the raw doesn't. Then go with that. However if the raw version is a match for something, then go with the raw instead.

7 years ago #7236
Quick question, does anyone know how to make a bot remember a name if the person it is talking to does not enter any Key words? I've been having that problem at the moment, and I've tried changing how he words the question a couple of time now, to no effect.

Example: Bot - May I know your name?
Guest123321 - Alice
Bot - I'm sorry, I do not speak well yet

I have set up the memory script, and it does work when any of the keywords are entered, i.e. - I am, Call me, my name is, ect... I could really use the help

7 years ago #7237
@ Theris, try that:
Bot: May i know your name?
seek: (*)
Aiscript: rem (key1) as "only" name
Responses: Nice to meet you (mem-name)
--------------------------------------------------------------
So Theris, in this case your bot will reply saying nice to meet you Alice and this construction will permit to catch every reply and every name...let's hope guests will reply with their name, that's the only risk because if they reply something like "don't bother" the bot will remember it like a name. But you know, also guests should reply making sense not just chatbots

7 years ago #7238
@ Laptop

Thanks Laptop, that little bit was starting to drive me mad lol. looks like your fix is working though, so thats one problem I can finally cross off ^^

7 years ago #7239
Can I build a short Time delay in to my bot answer..... The chatbot answers come up so fast it dose not feel natural. I would like to maybe build a short delay in to my answers, if possible. Thanks.


Posts 7,228 - 7,239 of 7,766

» More new posts: Doghead's Cosmic Bar