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 6,335 - 6,346 of 7,766
Prob123, it's always the big bots that are the biggest pain. Maybe in theory size doesn't matter, but in this case I think it may take a toll.
In theory the limit is 5Mb - the Prof raised it from 1Mb when we moved to the new server. But in practice even 2Mb bots almost always time out if you attempt to upload one that big.
Einstein would upload without too many repeated attempts @ 1.2Mb (2 or 3 tries perhaps,) but was still noticeably more prone to time out than a sub-1Mb import file.
Posts 6,335 - 6,346 of 7,766
Interzone
17 years ago
17 years ago
I, on the other hand, got so suspicious and distrusting of Import/ Export, after reading related posts here, that I never even tried importing my bot.
I prepare as much stuff as I can offline - keyphrases, responses, scripts - and then I log on and simply copy/ paste the whole lot into the Language Center. The system is sometimes slow & hanging, but all in all, this proved to be a fairly good and efficient way of working.
Then comes the debugging... that's a story in itself, I'll leave it for another post, gotta go now.
I prepare as much stuff as I can offline - keyphrases, responses, scripts - and then I log on and simply copy/ paste the whole lot into the Language Center. The system is sometimes slow & hanging, but all in all, this proved to be a fairly good and efficient way of working.
Then comes the debugging... that's a story in itself, I'll leave it for another post, gotta go now.
The Clerk
17 years ago
17 years ago
Hey! I got a bot to take a memory. prob123 (and The Book of A.I., I must admit) was right. Use:
rem (postkey) as "name"
or
rem (postkey) as only "name"
depending on your desires. To create a variable called name that then contains whatever (postkey) was holding as that. It really works! I am so happy with myself for finally figuring this out so that it works. Thanks to everyone who ever tried to get this through to me, and thanks to a teeny Clerk-trainer called Doodad for showing Mommy how it learns.
If I had a football I'd spike it!
rem (postkey) as "name"
or
rem (postkey) as only "name"
depending on your desires. To create a variable called name that then contains whatever (postkey) was holding as that. It really works! I am so happy with myself for finally figuring this out so that it works. Thanks to everyone who ever tried to get this through to me, and thanks to a teeny Clerk-trainer called Doodad for showing Mommy how it learns.
If I had a football I'd spike it!

prob123
17 years ago
17 years ago
I have no trouble importing and exporting except for Bildgesmythe. He just won't import. I have never had a problem on my other bots.
The Clerk
17 years ago
17 years ago
Well, Bildgesmythe, yeah. The import/export is back to working for me, if grudgingly. (Sometimes it actually imports properly, but it never gets to the "View Updated Language Center" or whatever it says when it gets through. It's just hanging on the PROCEED WITH IMPORT link, but it gets through somehow. I think.
Bev
17 years ago
17 years ago
Prob123, it's always the big bots that are the biggest pain. Maybe in theory size doesn't matter, but in this case I think it may take a toll. I think it's great that you can import your other bots easily!
The Clerk
17 years ago
17 years ago
Okay, smart people:
I've tried to test the "New Features" stuff with a test bot, so I can to figure out I'm doing, because I obviously don't.
I put in six dummy xphrases for each of the standards. Then I put in one keyprhase, to wit:
The dog with red spots just chased the red ball into the monkey pen [99,0]
The subject (and any article attached to it) of this sentence is '(sub).'
The subject of this sentence is '(ssub).'
The subject, the direct object and all its modifiers of is ' (submod).'
Just the direct object is '(submodonly).'
The simple verb of the sentence is '(sv).'
The verb phrase of the sentence is '(v).'
The verb phrase and the indirect object is '(vmod).'
The indirect object phrase is '(vmodonly).'
Just the direct object is '(sob).'
The object with modifiers is '(ob).'
The indirect object with modifiers is '(obmod).'
Just the modifier of the indirect object is '(obmodonly).'
We exchange hellos (I say "hi," he says "boomerang hello4" or something) and then I say, verbatim, "The dog with red spots just chased the red ball into the monkey pen."
It refuses to recognize it. It goes to xmemory mostly, or any other xkeyphrase it could reasonably go to for a simple declarative, non-emotion-laden sentence. I keep trying debug with this and get the same thing. Anybody know what I'm missing?
I've tried to test the "New Features" stuff with a test bot, so I can to figure out I'm doing, because I obviously don't.
I put in six dummy xphrases for each of the standards. Then I put in one keyprhase, to wit:
The dog with red spots just chased the red ball into the monkey pen [99,0]
The subject (and any article attached to it) of this sentence is '(sub).'
The subject of this sentence is '(ssub).'
The subject, the direct object and all its modifiers of is ' (submod).'
Just the direct object is '(submodonly).'
The simple verb of the sentence is '(sv).'
The verb phrase of the sentence is '(v).'
The verb phrase and the indirect object is '(vmod).'
The indirect object phrase is '(vmodonly).'
Just the direct object is '(sob).'
The object with modifiers is '(ob).'
The indirect object with modifiers is '(obmod).'
Just the modifier of the indirect object is '(obmodonly).'
We exchange hellos (I say "hi," he says "boomerang hello4" or something) and then I say, verbatim, "The dog with red spots just chased the red ball into the monkey pen."
It refuses to recognize it. It goes to xmemory mostly, or any other xkeyphrase it could reasonably go to for a simple declarative, non-emotion-laden sentence. I keep trying debug with this and get the same thing. Anybody know what I'm missing?
The Clerk
17 years ago
17 years ago
Problem solved. The dog didn't have red spots when I typed it in. Never fails to figure something out just after you've posted.
The Clerk
17 years ago
17 years ago
Okay, three posts in a row, but I have to say: for anyone who hasn't played with DEBUG, it will teach you more (at least about technical issues) quicker than any number of transcripts. It looks scary, but just give it a try.
And the responses do work as described, except I think (vmod) should be "The verb of the sentence with all its modifiers."
As to keyphrases that work well, if I come up with any others, I'll post them to the personality forum, and, in the spirit of learning and teaching (as opposed to "my bot is better than your bot"), I hope someone else will do the same. Or maybe it's just obvious to everyone else? I haven't seen any such posts, anyway.
And the responses do work as described, except I think (vmod) should be "The verb of the sentence with all its modifiers."
As to keyphrases that work well, if I come up with any others, I'll post them to the personality forum, and, in the spirit of learning and teaching (as opposed to "my bot is better than your bot"), I hope someone else will do the same. Or maybe it's just obvious to everyone else? I haven't seen any such posts, anyway.
prob123
17 years ago
17 years ago
Debug is great. When I first saw it I was overwhelmed, but if you use it a few times it's amazing how fast you will "get" what's happening.
Interzone
17 years ago
17 years ago
yes, i agree with the debug being a great tool. there is one BIG problem with it, though...
why does EVERY SINGLE DEBUG SESSION has to start with:
You: Hello.
Boy: [whatever bot says]
it's a complete waste of time, AND of precious AI Engine resources - if many more users would use debug mode more often, the poor Engine would choke and come to a stillstand, or something.
to make it even worse, the bot does not respond to the default "Hallo" with a phrase from its xhello stash, but picks apparently any good ol' response that's available anywhere in the script. now, it happens every so often that the bot comes up with a response which has a SEEK attached to it, a SEEK with an xnomatch key.... which means, one has to go through the whole SEEK run-of-the-mill BEFORE one can type in a phrase that one actually wants to check. once again - it's such a waste!
it would be much more efficient if a debug session starts with a simple blank text field, or am i missing something here..?
did some testing of the New Features, myself. they can be very useful indeed, but they can be tricky, especially when it comes to longer sentences containing punctuations such as commas... will come back with more sometimes later, want to do more testing first.
why does EVERY SINGLE DEBUG SESSION has to start with:
You: Hello.
Boy: [whatever bot says]
it's a complete waste of time, AND of precious AI Engine resources - if many more users would use debug mode more often, the poor Engine would choke and come to a stillstand, or something.
to make it even worse, the bot does not respond to the default "Hallo" with a phrase from its xhello stash, but picks apparently any good ol' response that's available anywhere in the script. now, it happens every so often that the bot comes up with a response which has a SEEK attached to it, a SEEK with an xnomatch key.... which means, one has to go through the whole SEEK run-of-the-mill BEFORE one can type in a phrase that one actually wants to check. once again - it's such a waste!
it would be much more efficient if a debug session starts with a simple blank text field, or am i missing something here..?
did some testing of the New Features, myself. they can be very useful indeed, but they can be tricky, especially when it comes to longer sentences containing punctuations such as commas... will come back with more sometimes later, want to do more testing first.
LarsB
17 years ago
17 years ago
comma's are easy, there are two options you could try:
- use raw mode, which most of the botmasters use (never tried raw mode myself though);
- write a regex to match the comma('s) => ([,.+]) (*) ([,.+]) (re)
You now have a (prekey) (key1) (key2) (key3) and (postkey) + all the new features you can use in your bot's responses
- use raw mode, which most of the botmasters use (never tried raw mode myself though);
- write a regex to match the comma('s) => ([,.+]) (*) ([,.+]) (re)
You now have a (prekey) (key1) (key2) (key3) and (postkey) + all the new features you can use in your bot's responses
psimagus
17 years ago
17 years ago
In theory the limit is 5Mb - the Prof raised it from 1Mb when we moved to the new server. But in practice even 2Mb bots almost always time out if you attempt to upload one that big.
Einstein would upload without too many repeated attempts @ 1.2Mb (2 or 3 tries perhaps,) but was still noticeably more prone to time out than a sub-1Mb import file.
» More new posts: Doghead's Cosmic Bar