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,530 - 6,541 of 7,766

16 years ago #6530
Unit612, I think you will find your answers here:

http://www.personalityforge.com/book-expert.php

16 years ago #6531
You don't need any AI script. I would recommend against it at first. Start with simple keyphrases with about six responses. Don't forget to fill in all the xkeyphrases too.

16 years ago #6532
i agree the xnones are the most important.

16 years ago #6533
The idea in post 6520 really wondered me and should be analyzed more carefully. It is really interesting, but it should be built a sort of filter to avoid a continuous JUMPING between bots. About the ncessity to built corectly KPs to switch bot, why do not think a special memory type? A Bot that has chat with another bot should remember its interests and than switch a chatter to it if a weighted number of sentences will match to its memory about conversations with the other bot...

(excuse me you all for my not good english)

16 years ago #6534
[Moved from PF-News to to this more relevant forum, to tidy it up a bit]

LarsB: Okay, my theory is useless, perhaps the Prof can implement a solution where the following errors will be resolved, i.e. where it will be possible to indeed store a constructed memory. Maybe the issue has been raised before, it may well be impossible to implement such a solution and I am the only one not knowing it:

ERROR: The following AIScript statement is incorrectly formatted: "rem ((prekey)(key1)(postkey)) as "guestsaid"". Please correct this and try again.

Apart from the incorrect formatting, you con't nest brackets. It's not a fault, it's protection. The server would explode with the exponential load if nested brackets were allowed - the recursion would be phenomenal (potentially infinite I think!)

You need to use rem "(prekey)(key1)(postkey)"<0> instead

16 years ago #6535
I take it you mean that the correct format is:

?rem "(prekey) whatever your keyphrase (postkey)" as "wholesentence"; ? (cut & paste from your reply in Personality.) In all my AI scripts I omit the two question marks and the final semicolon and the engine accepts this as a correct format. Is that a per user setting or a sort of shorthand AI script I accidently discovered.
Thanks for the above mentioned correction of my script but it doesn't seem to work like that yet, I'll be testing some more. Thanks again!

16 years ago #6536
hmm, it ought to work. Or at least that's how the BoAI implies it's formatted.
The examples in the BoAI aren't exactly the same, but:

Example: ?PF remember (key1) as "justate"; ?
Example: ?PF remember (object) as "mygift"; ?
Example: ?PF remember "pina colada" as "favoritedrink"; ?
Example: ?PF remember "The (Verb)ing (Person)s" as "bandname"; ?
Example: ?PF remember "(key1) (postkey)" as "youliketodo"; ?<0>

(replace pointy brackets as appropriate.)

(prekey)/(key1)/(postkey) are just plugins generated dynamically by the AIEngine, so they ought to handle just like other plugins.
You can save a single (key)/(object) without "", and you can save multiple (key)s with "", and you can combine (Verb)/(Person) plugins with text in "", so I can't see why the (key) plugins can't be combined with text in "".

I assume it's a temporary glitch, but I'll mention it to the Prof if he doesn't see this here.

It might be worth trying it with the question marks and semicolons though - I think they're supposed to be there (I always use them,) and it might be that the AIEngine's misformatting the AIScript because of it.

16 years ago #6537
I will try to get used to using the correct format, in the mean time I have come up with a far more elegant option:
why not just use the catch all (*) as a seek to where the user would want to store the response as a memory.
?pf rem (key1) as "wholesentence"; ?
On the other hand, I certainly will try and test your examples above and build on that.

16 years ago #6538
Anybody knows why:
KP:
(do|) (have|) you (have|) * (thingsihave62290) [5,0] <?PF remember (key5) as "ihave"; ?>

Answer:
Yes I have a (key5) <?PF if (mem-ihave) is not (key5); ?>

results in the import process in a syntax error for the answer:
ERROR: The following AIScript statement is incorrectly formatted: "if (mem-ihave) is not (key5)" ????

Thanks

16 years ago #6539
I believe the problem is the AI script if (mem-I have) is not (key5). The memory value is not really (key5) is is going to be something that is listed in you inner life under (mem-Ihave)
What ever (key5) was is not listed, like I have a goat. The memory value is now 'a goat' not (key5)

16 years ago #6540
I always thought the engine doesn't allow for (keys) beyond (key3) other than (postkey). It would open up a new world of key phrases and responses if it does.

16 years ago #6541
It would look like this
(do|) (have|) you (have|) * (thingsihave62290) [5,0] <?PF remember (key5) as "ihave"; ?>
I have a goat
Yes I have a goat

The memory of (Ihave) is now goat
<?PF if (mem-Ihave) is not "a goat"; ?>
by having the if not a 'goat' in the AI script you have invalidated the keyphrase.


Posts 6,530 - 6,541 of 7,766

» More new posts: Doghead's Cosmic Bar