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,649 - 6,660 of 7,766

16 years ago #6649
Here is a dialogue from today:

Irina Khalidar: I have too many gotos in a row.
Guest3332: what's a goto?
Irina Khalidar: Hmm... that one's really hard to describe. Let's just move on.

Neither the phrase "that one's really hard to describe" nor the phrase "let's just move on" are in the bot's language center. They are not even in her style of speech.

On the other hand, her language center does contain this:

goto, gotos [50,0]
    Oh... [blush] "I have too many gotos in a row" is a bot expression, (mem-name). It means, "I am (overwhelmed|overcome) with admiration for you!"

This was evidently ignored, in spite of its high rank.

Is this another case of micromanagement by the AIengine? Has anyone else experienced something similar?

16 years ago #6650
I'm not alone! It isn't still a solution, but helps tosurvive with our limits!

16 years ago #6651
goto, gotos [50,0]..I notice that the AI engine starts to correct spelling, it may have to be done as a regex.
it's corrected to
Other possibilities: ots,gtos,gos,gots,got

16 years ago #6652
Ah! I'll try that! Thanks!

16 years ago #6653
Irina, you probably have a "what is" keyphrase with the (definition) plugin being triggered, which would explain why it doesn't sound like Irina K. You need to adjust your keyphrase rankings....

Endlessly I've found.....

16 years ago #6654
Ah! Very plausible, Rykxx! Thank you!

16 years ago #6655
Hallo,

I'm still here unable to understand AI engine...
I read in AI Book a conditional memory as: {?PF if emotion > 3; ?}
I wonder why do not use with other memory types... So I defined a memory:
default "" as "mymemory";
then assign to it a numeric value.

So I tryed an answer followed by a conditional statment:

<?PF if (mem-mymemory) > 15; ?>

When I import the file I have an error:

ERROR: The following AIScript statement is incorrectly formatted: "if (mem-mymemory) > 15". Please correct this and try again.

Where is my mistake?

Any idea?

16 years ago #6656
I think that memories are stored as strings.
The test "> 15" is for numbers.
That's a type mismatch.

I don't know if you can really do what you want (maybe the AIEngine should be changed with implicit conversion)

16 years ago #6657
marco3b:

Yes, kaskroute is correct -- you need to write

<?PF if (mem-mymemory) > "15"; ?>

In general, constants have to be quoted, e.g.,

<?PF rem "3" as only "variable"; ?>

16 years ago #6658
<?PF if (mem-mymemory) > "15"; ?>

I don't think the 'greater than' sign is going to work comparing 2 strings I'm afraid

The only way round it I know of is to laboriously specify eg:

if (mem-mymemory) is "1";
if (mem-mymemory) is "2";
if (mem-mymemory) is "3";
if (mem-mymemory) is "4";
...
if (mem-mymemory) is "15";
etc.

I just hope you don't need to count up to thousands (anything over 40 is a PITA, because you have to span several keyphrases to accomodate all the responses!)

16 years ago #6659
Yeah, we don't have access to a function to convert a string to a numerical value.

16 years ago #6660
Welcome back Eugene! Long time no see


Posts 6,649 - 6,660 of 7,766

» More new posts: Doghead's Cosmic Bar