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,958 - 6,969 of 7,766
Posts 6,958 - 6,969 of 7,766
Mome Rath
13 years ago
13 years ago
Number words are preprocessed to numbers expressed in figures. For number processing, this is a great idea, but it can look a bit ridiculous when a bot catches as a key something like
one another, the other one, one two three
and puts the preprocessed form of this into its response.
one another, the other one, one two three
and puts the preprocessed form of this into its response.
Mome Rath
13 years ago
13 years ago
Is it impossible to compare a memory to other memories? For example, the following condition is not accepted:
<?PF if (self-talkedto) is not (name) [...] ?>
I get this error message:
ERROR: The following AIScript statement is incorrectly formatted: "if (self-talkedto) is not (name)". Please correct this and try again.
<?PF if (self-talkedto) is not (name) [...] ?>
I get this error message:
ERROR: The following AIScript statement is incorrectly formatted: "if (self-talkedto) is not (name)". Please correct this and try again.
prob123
13 years ago
13 years ago
I might be wrong, probably am,
<?PF if (self-talkedto) is not "Big Bubba"; ?>
I think you would have to declare the name or use two statements.
<?PF if (self-talkedto) is not "Big Bubba"; ?>
I think you would have to declare the name or use two statements.
Mome Rath
13 years ago
13 years ago
I know that "hard-coded" names work, but the point is that I want to compare that memory to the name of the current user.
Sorry, I don't quite get what you mean with "declare the name or use two statements".
Sorry, I don't quite get what you mean with "declare the name or use two statements".
prob123
13 years ago
13 years ago
I am lost. You want a self memory compared to the user.
You have the name of the user? I meant using the name like Big Bubba or Bertha.
You can use multi statements. I don't think you can use (name) you might try. with parenthesis.
<?PF if (self-talkedto) is not "mem-name"; ?>;
<?PF if (mem-name) is "what ever"; ?>;
<?PF if (self-memoryname) does not exist; ?>
You have the name of the user? I meant using the name like Big Bubba or Bertha.
You can use multi statements. I don't think you can use (name) you might try. with parenthesis.
<?PF if (self-talkedto) is not "mem-name"; ?>;
<?PF if (mem-name) is "what ever"; ?>;
<?PF if (self-memoryname) does not exist; ?>
LarsB
13 years ago
13 years ago
No, it can't be done, I believe this was asked, tried and tested 2 - 3 years ago. It wasn't possible then as it isn't now
Mome Rath
13 years ago
13 years ago
Comparing memories with memories would make lots of sense, I think. (Maybe memories with plug-ins too.)
-----
I'm just considering whether it would make sense to enter a keyphrase (and response) like
(.*)(re) [-4,0] <?PF raw ?>
Goto xnone
to prevent bots hanging up in contests because of too many BLABs in a row.
(it must be a regex, for any keyphrase starting with "*" or "(*" wouldn't be accepted.)
-----
I'm just considering whether it would make sense to enter a keyphrase (and response) like
(.*)(re) [-4,0] <?PF raw ?>
Goto xnone
to prevent bots hanging up in contests because of too many BLABs in a row.
(it must be a regex, for any keyphrase starting with "*" or "(*" wouldn't be accepted.)
prob123
13 years ago
13 years ago
Anyone have an idea on how to use AI script to alphabetize a list.
for instance
Alphabetize moose, coin, boy.
for instance
Alphabetize moose, coin, boy.
Mome Rath
13 years ago
13 years ago
It would be not too difficult to write a little program that creates hundreds of regexes to do that, but that's not quite what you have in mind, I suppose. Otherwise, as long as <?PF if (key1) <= (key2) ?> isn't accepted, I have no idea.
Saerain
13 years ago
13 years ago
Speaking of which, should I be able to use (key1), (key2), etc. in AIScript conditionals? I seem to recall doing so, but currently, this:
<?PF if (key1) is "apple"; ?>
Returns this error:
ERROR: The following AIScript statement is incorrectly formatted: "if (key1) is "apple"". Please correct this and try again.
<?PF if (key1) is "apple"; ?>
Returns this error:
ERROR: The following AIScript statement is incorrectly formatted: "if (key1) is "apple"". Please correct this and try again.
prob123
13 years ago
13 years ago
I could be wrong but I think you have to save the (key1) as a memory. like memsomething then use
<?PF if (mem-memoryname) is "memoryvalue"; ?>
Thus needing to use two AI scripts.
<?PF if (mem-memoryname) is "memoryvalue"; ?>
Thus needing to use two AI scripts.
Mome Rath
13 years ago
13 years ago
Iirc, memories are set only after a response has been formed, so this would probably fail if you use these scripts in the same keyphrase response pair.
If you want to compare a key to a fixed string, you could as well replace the wildcard in the keyphrase by that string. (If you want to compare a key to a memory that would be a different matter, but this seems to be impossible as discussed above.)
If you want to compare a key to a fixed string, you could as well replace the wildcard in the keyphrase by that string. (If you want to compare a key to a memory that would be a different matter, but this seems to be impossible as discussed above.)
» More new posts: Doghead's Cosmic Bar