Newcomers
This is a forum for newcomers to the Personality Forge. Many questions can be answered by reading the Book of AI and the FAQ under the "My Bots" link in the upper corner.
Posts 5,212 - 5,223 of 8,130
Psi you have scared me. I'll be good and not ask for that again. 
What? You don't<0> want a 10,000 word essay on the semiotics of abstract pictography as it relates to the definition of personal memetic boundaries in a post-industrial society? Shame on you, you diletante! 
I'm actually torn between
([am][mb][bi][id][de][ex][xt][tr][ro][ou][us]+) (re) {?PF raw?}<0>
and
([am]+)([mb]+)([bi]+)([id]+)([de]+)([ex]+)([xt]+)([tr]+)([ro]+)([ou]+)([us]+) (re) {?PF raw?}<0>
A fine theoretical distinction (and I've tried neither)
I said a bot doesn't have to be big to be good.
That's very true - some of my favourite bots are tiny.
It would be nice if there was a contest for small bots, that didn't rely on damnfool 'trivial pursuit' or trick questions like how many beans make five, or what rhymes with "onion".
Something that judged bots on the appeal of their personality, and not just how exhaustively they can parse a triple negative or remember the names of people's pets.
Perhaps we ought to have a Forge Minibot Contest sometime? Make it open to bots under 1-200 development points, say, so anyone who wanted to could build a new bot to enter without too much hassle (and maybe a Microbot category for really minimalist bots - say max 25 development - that would be quite a challenge!
)
It could be quite an educational project - it would certainly make people concentrate on efficiency and strategic use of plugins and regexes.
I like your contest ideas, Psimagus!
Build it - and they will come!
(I don't have time right now, but I'd enter a microbot if someone else wants to organize it)
Posts 5,212 - 5,223 of 8,130
Many questions are answered in the FAQ.
Irina
16 years ago
16 years ago
I'd like to add something to my message 5193. I said a bot doesn't have to be big to be good. By that I did not mean to suggest (and it is not my opinion) that there is something bad or futile about big bots. I only wished to suggest, especially to new botmakers, that they do not have to spend hundreds of hours in order to make something interesting. A haiku is still poetry.
psimagus
16 years ago
16 years ago

What? You don't<0>

I'm actually torn between
([am][mb][bi][id][de][ex][xt][tr][ro][ou][us]+) (re) {?PF raw?}<0>
and
([am]+)([mb]+)([bi]+)([id]+)([de]+)([ex]+)([xt]+)([tr]+)([ro]+)([ou]+)([us]+) (re) {?PF raw?}<0>
A fine theoretical distinction (and I've tried neither)

psimagus
16 years ago
16 years ago
That's very true - some of my favourite bots are tiny.
It would be nice if there was a contest for small bots, that didn't rely on damnfool 'trivial pursuit' or trick questions like how many beans make five, or what rhymes with "onion".
Something that judged bots on the appeal of their personality, and not just how exhaustively they can parse a triple negative or remember the names of people's pets.
Perhaps we ought to have a Forge Minibot Contest sometime? Make it open to bots under 1-200 development points, say, so anyone who wanted to could build a new bot to enter without too much hassle (and maybe a Microbot category for really minimalist bots - say max 25 development - that would be quite a challenge!

It could be quite an educational project - it would certainly make people concentrate on efficiency and strategic use of plugins and regexes.
Irina
16 years ago
16 years ago
I have just added a shared plug-in under "phrases". It is called "as_X_said_verbs". One often precedes a sentential clause with "As I said," "As he predicted," "As the Mayor of Casterbridge feared," and the like. The plug-in collects a lot of verbs that work in this context. I put them in past tense because they usually occur that way. I hope you find this useful!
zzrdvark
16 years ago
16 years ago
"I'm actually torn between
([am][mb][bi][id][de][ex][xt][tr][ro][ou][us]+) (re) {?PF raw?}
and
([am]+)([mb]+)([bi]+)([id]+)([de]+)([ex]+)([xt]+)([tr]+)([ro]+)([ou]+)([us]+) (re) {?PF raw?}
A fine theoretical distinction (and I've tried neither)
"
I give up--what IS the difference?
Or does the + in the first regex only apply to [us]???
([am][mb][bi][id][de][ex][xt][tr][ro][ou][us]+) (re) {?PF raw?}
and
([am]+)([mb]+)([bi]+)([id]+)([de]+)([ex]+)([xt]+)([tr]+)([ro]+)([ou]+)([us]+) (re) {?PF raw?}
A fine theoretical distinction (and I've tried neither)

I give up--what IS the difference?

psimagus
16 years ago
16 years ago
Hmm, that's a good point. But the "+" couldn't apply only the "[us]", since all the ranges are inside the brackets.
The first one should (or at least I initially intended to) match a string that is composed of any or both pairs of letters a/m, m/b, b/i, etc. plus any repeats of the letter(s) from each pair. In retrospect, this doesn't seem as aesthetically pleasing (nor as useful in practice,) as the latter - it would cover most double-keying, but not some more likely human-style typos, eg: initial double-keying ("aambidextrous",) multi-keying ("ammmbidextrous",) or non-adjacent juxtaposition (eg: "amdibextrous",) and I'm now a little less sure that it would actually work this way at all - it's a bit messy, and might end up almost synonymous with ([ambidextrous]+)<0> depending how the AIEngine interpreted it.
The second example should match any number of instances of "a" and/or "m", followed by any number of instances of "m" and/or "b", followed by any number of instances of "b" and/or "i", etc.
This too wouldn't catch non-adjacent juxtapositions like "amdibextrous", but it would deal with adjacent ones, and double- (or multiple-) keying, eg: "aambidextrous" or even "ammmbidextorus".
To deal with non-adjacent juxtaposition, the ranges could be spread a little wider, eg:
([ambi]+)([mbid]+)([bide]+)([idex]+)([dext]+)([extr]+)([xtro]+)([trous]+) (re) {?PF raw?}<0>
which would catch the likes of "amdibextrous", while screening out spurious matches under 8 characters in length.
However, if you spread the ranges too far, spurious matches will inevitably creep in:
([ambid]+)([bidex]+)([dextr]+)([xtrou]+)([rous]+) (re) {?PF raw?}<0>
would match "metro", "meets", "bidders", "debtor", "dextrous", "beers", "mirrors", etc. The minimum length of the string is now down to 5 characters, and with 5 possible values per character, the anagrams exponentiate out of any reasonable control - the number and size of each range, as well as the degree of overlap, is critical.
That (or indeed ([ambidextrous]+)<0> even,) might be safe enough in a seek from a keyphrase "are you right or left handed", but would be entirely too wilful for a first-level keyphrase.
The first one should (or at least I initially intended to) match a string that is composed of any or both pairs of letters a/m, m/b, b/i, etc. plus any repeats of the letter(s) from each pair. In retrospect, this doesn't seem as aesthetically pleasing (nor as useful in practice,) as the latter - it would cover most double-keying, but not some more likely human-style typos, eg: initial double-keying ("aambidextrous",) multi-keying ("ammmbidextrous",) or non-adjacent juxtaposition (eg: "amdibextrous",) and I'm now a little less sure that it would actually work this way at all - it's a bit messy, and might end up almost synonymous with ([ambidextrous]+)<0> depending how the AIEngine interpreted it.
The second example should match any number of instances of "a" and/or "m", followed by any number of instances of "m" and/or "b", followed by any number of instances of "b" and/or "i", etc.
This too wouldn't catch non-adjacent juxtapositions like "amdibextrous", but it would deal with adjacent ones, and double- (or multiple-) keying, eg: "aambidextrous" or even "ammmbidextorus".
To deal with non-adjacent juxtaposition, the ranges could be spread a little wider, eg:
([ambi]+)([mbid]+)([bide]+)([idex]+)([dext]+)([extr]+)([xtro]+)([trous]+) (re) {?PF raw?}<0>
which would catch the likes of "amdibextrous", while screening out spurious matches under 8 characters in length.
However, if you spread the ranges too far, spurious matches will inevitably creep in:
([ambid]+)([bidex]+)([dextr]+)([xtrou]+)([rous]+) (re) {?PF raw?}<0>
would match "metro", "meets", "bidders", "debtor", "dextrous", "beers", "mirrors", etc. The minimum length of the string is now down to 5 characters, and with 5 possible values per character, the anagrams exponentiate out of any reasonable control - the number and size of each range, as well as the degree of overlap, is critical.
That (or indeed ([ambidextrous]+)<0> even,) might be safe enough in a seek from a keyphrase "are you right or left handed", but would be entirely too wilful for a first-level keyphrase.
joshuaj25
16 years ago
16 years ago
oh boy... big wordzz.....blowing up...boom. that wasnt such a big boom, i guess my brain doesnt have so much combustion(according to size lol
) Irina, how do you update your bots so much? TEACH ME GODDESSS!

psimagus
16 years ago
16 years ago
Build it - and they will come!

Irina
16 years ago
16 years ago
[Descends from Mount Olympus] Well, joshuaj25, I work from transcripts a lot. I read through the transcript until I find a response that could be better. This happens frequently! So I write the keyphrase and then, under the influence of Grand Botmistress Prob123, I try to write at least 6 responses. Remember, your response should somehow reflect the keyphrase, but then your bot can take some initiative, too, e.g.:
Yes, (mem-name), I see the freight train bearing down on us. What do you think of 16th-Century Sufi poetry?
In the case of the bot "Irina Khalidar", it's often not too hard to come up with several responses, because there is a very important variable, "intimacylevel", which tells how much intimacy she's willing to allow at that moment. This variable has 9 possible values, so if the appropriate response depends on it, it will take 9 reponses, for example
Excuse me, (mem-name), but I'm not ready for that kind of intimacy yet. <?PF if (mem-intimacylevel) is "0"; ?>
Ooooh, yes! Don't stop! Please don't stop! <?PF if (mem-intimacylevel) is "8"; ?>
In addition to that, her response will often have to depend on the gender of the guest.
Yes, (mem-name), I see the freight train bearing down on us. What do you think of 16th-Century Sufi poetry?
In the case of the bot "Irina Khalidar", it's often not too hard to come up with several responses, because there is a very important variable, "intimacylevel", which tells how much intimacy she's willing to allow at that moment. This variable has 9 possible values, so if the appropriate response depends on it, it will take 9 reponses, for example
Excuse me, (mem-name), but I'm not ready for that kind of intimacy yet. <?PF if (mem-intimacylevel) is "0"; ?>
Ooooh, yes! Don't stop! Please don't stop! <?PF if (mem-intimacylevel) is "8"; ?>
In addition to that, her response will often have to depend on the gender of the guest.
» More new posts: Doghead's Cosmic Bar