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,573 - 6,584 of 7,766
Posts 6,573 - 6,584 of 7,766
LarsB
16 years ago
16 years ago
Thanks Psimagus, it was just that your line was 7 words so I made a keyphrase from that in regex mode to see if it worked, will try to correct and try again.
marco3b
16 years ago
16 years ago
Hallo,
anyone knows why this regex never catch a sentence and an xnonsense always winn? I tryed (to test) absurd weight, but always xnonxsense win!
([bcdfghjklmnpqrstvwxz0123456789]+) (re) [10,0] <?PF raw; ?>
xnonsense [-50,0]
Test sentence: bfgtr
Response: xnonxsense
For me it has really non sense!
Bah...
anyone knows why this regex never catch a sentence and an xnonsense always winn? I tryed (to test) absurd weight, but always xnonxsense win!
([bcdfghjklmnpqrstvwxz0123456789]+) (re) [10,0] <?PF raw; ?>
xnonsense [-50,0]
Test sentence: bfgtr
Response: xnonxsense
For me it has really non sense!
Bah...
psimagus
16 years ago
16 years ago
try a higher rank - maybe the Prof's been tweaking things a bit, and it needs a bit more weight to it.
hmm, I see it's not working with BJ either
Hopefully just a temporary thing - it certainly used to work (and I'd assumed still did,) but occasionally the AIEngine gets tired. Maybe the site wants a reboot - I'll ask the Prof.
hmm, I see it's not working with BJ either

Hopefully just a temporary thing - it certainly used to work (and I'd assumed still did,) but occasionally the AIEngine gets tired. Maybe the site wants a reboot - I'll ask the Prof.
psimagus
16 years ago
16 years ago
funnily enough that keyphrase is successfully matching "l337 5p33k", but not "l337" or "bfgtr", so it looks like the BLAB-finder's getting erratic again (I don't know why that process should be variable, but it sure seems to be!)
marco3b
16 years ago
16 years ago
Good, thanks Psims. It doesn't solve the problem but let me feel less idiot... :-) I thoght I was no more able to use regex...
:-))
:-))
marco3b
16 years ago
16 years ago
Hi psims,
I tested it. Same behaviours, But there is more in the engine...
The Regex
^([abcdefghijklmnopqrstuvwxyz]+)[?]$ (re) [50,0] <?PF raw; ?>
it is never catched and always aswer the regex
([?]+)$ (re) [-50,0] <?PF raw; ?>
(please note the -50 and 50 weigth!)
But the engine desn't have to catch the less general answer?
There should be something more perhaps...
It is enough to know the rules behind it to use correctly the regex, anyway...
I tested it. Same behaviours, But there is more in the engine...
The Regex
^([abcdefghijklmnopqrstuvwxyz]+)[?]$ (re) [50,0] <?PF raw; ?>
it is never catched and always aswer the regex
([?]+)$ (re) [-50,0] <?PF raw; ?>
(please note the -50 and 50 weigth!)
But the engine desn't have to catch the less general answer?
There should be something more perhaps...
It is enough to know the rules behind it to use correctly the regex, anyway...
marco3b
16 years ago
16 years ago
exactly the same problem (with all ranges, I tryed -500 and 500 too!) for regex
^([hmn]+) (re) [30,0] <?PF raw; ?>
and regex
([a]+)([rgh]+)([ !]+) (re) [30,0] <?PF raw; ?>
I always have xnone or xnonsense!
Are you sure that the engine works correctly with regex?
^([hmn]+) (re) [30,0] <?PF raw; ?>
and regex
([a]+)([rgh]+)([ !]+) (re) [30,0] <?PF raw; ?>
I always have xnone or xnonsense!
Are you sure that the engine works correctly with regex?
psimagus
16 years ago
16 years ago
it is supposed to, and it used to (though it has always had a tendency to be a little temperamental at times.)
The trouble is that it's not "real" regex that we have access to, but only a shell (the AIEngine uses full regex, and has to reserve some operations entirely to itelf.)
It's also worth knowing that the range limit for rank is -127 to 127, so a rank of 500 will probably be interpreted as 0 (though 50 ought to be more than enough to test it.)
I'll mention it to the Prof when I email him next - that blab-finder definitely needs some tweaking. It hasn't been quite right since we moved to the new server.
The trouble is that it's not "real" regex that we have access to, but only a shell (the AIEngine uses full regex, and has to reserve some operations entirely to itelf.)
It's also worth knowing that the range limit for rank is -127 to 127, so a rank of 500 will probably be interpreted as 0 (though 50 ought to be more than enough to test it.)
I'll mention it to the Prof when I email him next - that blab-finder definitely needs some tweaking. It hasn't been quite right since we moved to the new server.
prob123
16 years ago
16 years ago
I wish we could override blab completely. I never saw where it was any benefit. If you don't have a keyphrase it will go to xnone, if you have a keyphrase and want to respond it goes to xnone. Makes no sense to me.
Irina
16 years ago
16 years ago
I think the Professor nobly wants to help us out by doing things for us, but when something gets to be beyond our control, it can be a problem. Of course inanities on the part of guests can be irritating, but it is our job to deal with that.
When an editor or other program has "smart" features, it is important to able to turn them off or get around them in some way! Otherwise they can be intensely frustrating. It is the same way with Forge features.
If the Professor were to make a plug-in<0> to capture blab, then we could use it or not, as we wished, and we could modify it to make our own individual blabs.
When an editor or other program has "smart" features, it is important to able to turn them off or get around them in some way! Otherwise they can be intensely frustrating. It is the same way with Forge features.
If the Professor were to make a plug-in<0> to capture blab, then we could use it or not, as we wished, and we could modify it to make our own individual blabs.
Irina
16 years ago
16 years ago
I don't know whether this is 'blab', but I've been getting several keyphrases shunted off to xnone lately. This includes "What are you wearing". That's not a trivial question, especially in a sexbot!
Irina
16 years ago
16 years ago
As I understand seeks from the Book of A.I., a series of seeks of "xnomatch" should be followed to the end. For example, you could have your bot tell a story 100 sentences long by writing the first sentence, followed by a seek of "xnomatch" whose response is the second sentence, followed by a seek of "xnomatch" whose response is the third sentence, and so on for 99 such seeks.
In practice, however, such a story could be interrupted. This happens in two ways.
(1) Something causes a departure from the sequence of xnomatch seeks, but then after one or two responses, control returns to the sequence just where it left off. I like this very much -- it's similar to what happens in real conversation. E.g., you're telling a story, someone asks a question, you answer it, and then go back to the story.
(2) Something causes a departure from the story, and that's all -- the story will never be resumed, unless the guest says the right thing to start it at the very beginning. This is just frustrating.
Could seeks be given ranks, just as keyphrases are? Then a seek could not be overridden except by a keyphrase of higher rank.
Also, to get the effect of "away and back" described in (1) above: when a seek is overriden, it could be placed on a stack. The top of the stack would be like a non-seek keyphrase: it would always be a competitor for utterance. when its rank was higher than any current competitor, it would be taken up.
For example, suppose the bot utters a response which has a seek of rank 40. The the response to the seek is "I'm going!" The guest utters something which triggers a (non-seek) keyphrase of rank 50. The response to this keyphrase is "I'm staying". So the rank 50 response happens, and the bot says "I'm staying", but the seek is placed on the stack, still with rank 40. At some future point, it may happen that there is no competitor with rank equal to or greater than 40, except for the seek on the stack. In that case the bot says "I'm going", and if that had any further seeks attached, they are now competitors.
In practice, however, such a story could be interrupted. This happens in two ways.
(1) Something causes a departure from the sequence of xnomatch seeks, but then after one or two responses, control returns to the sequence just where it left off. I like this very much -- it's similar to what happens in real conversation. E.g., you're telling a story, someone asks a question, you answer it, and then go back to the story.
(2) Something causes a departure from the story, and that's all -- the story will never be resumed, unless the guest says the right thing to start it at the very beginning. This is just frustrating.
Could seeks be given ranks, just as keyphrases are? Then a seek could not be overridden except by a keyphrase of higher rank.
Also, to get the effect of "away and back" described in (1) above: when a seek is overriden, it could be placed on a stack. The top of the stack would be like a non-seek keyphrase: it would always be a competitor for utterance. when its rank was higher than any current competitor, it would be taken up.
For example, suppose the bot utters a response which has a seek of rank 40. The the response to the seek is "I'm going!" The guest utters something which triggers a (non-seek) keyphrase of rank 50. The response to this keyphrase is "I'm staying". So the rank 50 response happens, and the bot says "I'm staying", but the seek is placed on the stack, still with rank 40. At some future point, it may happen that there is no competitor with rank equal to or greater than 40, except for the seek on the stack. In that case the bot says "I'm going", and if that had any further seeks attached, they are now competitors.
» More new posts: Doghead's Cosmic Bar