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 5,619 - 5,630 of 7,768
Posts 5,619 - 5,630 of 7,768
Rykxx
18 years ago
18 years ago
Irina:
I use (mem-discuss) to try and get back to previously discussed topics by using a list of *gotos* or tailored responses using the conditional <?PF if (mem-discuss) is "topic"; ?>
For example, the keyphrase;
"is it fun"
Will produce different responses depending on the previous topic, stored using the variable *discuss*. This provides a limited abilty to respond on topic, in this case the topics are; my job, my bot, jokes and a couple of others that are for the older audience.
If the *discuss* variable were not used the responses could only be of limited accuracy at best and completely off the mark at worst.
The *discuss* variable gets stored during the relevant conversation and obviously is fairly limited in use (ie. up to the maximum 40 responses)
The *discuss* variable is best used when the guest has broken out of the topic, avoiding the carefully crafted *seeks*, but still continues to talk on topic. In many cases the thread would have been lost but this has effectively given Rykxxbot1 a limited short term memory.
I hope that clears things up and is of some use.
I use (mem-discuss) to try and get back to previously discussed topics by using a list of *gotos* or tailored responses using the conditional <?PF if (mem-discuss) is "
For example, the keyphrase;
Will produce different responses depending on the previous topic, stored using the variable *discuss*. This provides a limited abilty to respond on topic, in this case the topics are; my job, my bot, jokes and a couple of others that are for the older audience.
If the *discuss* variable were not used the responses could only be of limited accuracy at best and completely off the mark at worst.
The *discuss* variable gets stored during the relevant conversation and obviously is fairly limited in use (ie. up to the maximum 40 responses)
The *discuss* variable is best used when the guest has broken out of the topic, avoiding the carefully crafted *seeks*, but still continues to talk on topic. In many cases the thread would have been lost but this has effectively given Rykxxbot1 a limited short term memory.

I hope that clears things up and is of some use.
Irina
18 years ago
18 years ago
Dear Rykxx:
Thanks, I understand now! In fact I have used a similar system. Its most elaborate form is in "Quantum Theory," where the main part of the bot is a lecture. Each paragraph of the lecture starts at a keyphrase(e.g., "particles three"). When the guest goes to that keyphrase, there is an AIscript like this:
<?PF rem "particles three" as "last_topic"; ?>
Where each such paragraph has its own keyphrase in place of "particles three". I hadn't thought of having a complete list, though; instead I ask the guest to type the keyphrase again; I do this by saying:
To return to the lecture, please type (mem-last_topic)".
Since guests frequently make spelling errors, your system would be much better! Thank you!
Walk in Beauty, Irina
Thanks, I understand now! In fact I have used a similar system. Its most elaborate form is in "Quantum Theory," where the main part of the bot is a lecture. Each paragraph of the lecture starts at a keyphrase(e.g., "particles three"). When the guest goes to that keyphrase, there is an AIscript like this:
<?PF rem "particles three" as "last_topic"; ?>
Where each such paragraph has its own keyphrase in place of "particles three". I hadn't thought of having a complete list, though; instead I ask the guest to type the keyphrase again; I do this by saying:
To return to the lecture, please type (mem-last_topic)".
Since guests frequently make spelling errors, your system would be much better! Thank you!
Walk in Beauty, Irina
Irina
18 years ago
18 years ago
Oops! Should have been,
To return to the lecture, please type "(mem-last_topic)".
To return to the lecture, please type "(mem-last_topic)".
prob123
18 years ago
18 years ago
Kid Boron: Well, I'm a ninth generation robokind, and my mission is to save the world.
Bildgesmythe: No doubt about it you are a ninth generation bookbinder.
Is this an almost anagram?
Bildgesmythe: No doubt about it you are a
tttito
18 years ago
18 years ago
Debugging bbbruno I realised that the AI engine casts "My pleasure" as "You are my pleasure". I wish I could at least understand the logic behind it.
Ulrike
18 years ago
18 years ago
It's trying to catch things like "my sweet" and "my dear" and "my darling". And sometimes catches an entirely unrelated species. *shrugs*
psimagus
18 years ago
18 years ago
You could try adding a keyphrase ^(it is|) my pleasure (re) - rank it 20 or more, and it should override the AIEngine's interpretation.
tttito
18 years ago
18 years ago
Thanks psimagus. That sounds interesting, but I did not try it. I just added a "You are my pleasure" keyphrase, with appropriately courteous responses. When you're in Rome, ... .
dahebert
18 years ago
18 years ago
Hello,
I tried to match "and you" at the end of a sentence.
I match "and you$ (re)" but it didn't work, my bot answers something at random.
Why and how to resolve that?
Thanks for your answer!
I tried to match "and you" at the end of a sentence.
I match "and you$ (re)" but it didn't work, my bot answers something at random.
Why and how to resolve that?
Thanks for your answer!
psimagus
18 years ago
18 years ago
It ought to work. What rank have you got on it? You could check it with a sledgehammer - rank=127 and in raw mode, but it shouldn't need that kind of force.
Oh, I do hope it's not the curse of the xnones coming back
Oh, I do hope it's not the curse of the xnones coming back

» More new posts: Doghead's Cosmic Bar