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 4,887 - 4,898 of 7,766

19 years ago #4887
oops: "answered"

19 years ago #4888
I don't know if it's relevant, but he's pretty consistently giving me "Note: the bot no longer wants to talk to you" in response to "sonnetplease". Could you have accidentally set the emotion to -5 or something? I can't think why he'd take against me now (he never has before,) and it only seems to happen with this phrase.

19 years ago #4889
Scratch that - he just hates me I guess Other bots seem to be happy to chat.

19 years ago #4890
double-scratch! No, now prob and even Brother Jerome don't want to talk to me - must be some sort of server problem. It's consistently kicking in after 6-8 messages.

19 years ago #4891
yes, he won't talk to me either... and I have been working on the sonnets but not too much progress until I finish making the keyphrases for the new stanzas. And finals week is coming up so it's getting increasingly harder to fit in time for updating bots.

Actually I was trying to get him to give me a sonnet and he wouldn't do it; I didn't read the transcripts until you mentioned them.

19 years ago #4892
It could be the curse of the xnones. Bots are programmed not to like going to xnone all the time. So if their keyphrases are being ignored and its defaulting to xnone, it takes their mood way down, and they're less likely to want to chat.

19 years ago #4893
hey all, i'm trying to figure out how to create *start timer* and *end timer* functions, but i only just (as in today) started programming bots, so I have no clue at all.

botcoding seems like a pretty new thing, so there might not be an already-made function. i had the idea that if there is a way to check the time, (chrono:hour) i believe, then there has to be a time variable. so if you could insert the time at the start of the timer into memory and the time at the end of the timer into memory, then you could subtract to create a working timer.

is there any way that would work, or even a timer function i haven't heard of yet? any help would be much appreciated.

~Temmy

19 years ago #4894
Well, there's no way to perform an operation like subtraction.

19 years ago #4895
there has to be a time variable

Well, bots' subjective perception of time (or what might be considered to pass as such,) is

not the same as ours. They measure it in digital quanta of responses, not in analogue

seconds:minutes:hours - a bot can't differentiate an immediate reply from a user wandering

off to make a cuppa and coming back to reply a quarter of an hour later, so they are unable

to comprehend a "timer function" more complex than a nested seek.
Sounds kinda limited, but it's perfectly adequate for eg: playing tic tac toe or correctly

sequencing a 'knock knock' joke. But your bot will never be able to time an egg boiling.

That's just a fundamental limitation of PF bot minds.
Just as it is a fundamental limitation of human minds that we can only comprehend time the

way we do.

Well, there's no way to perform an operation like subtraction.

Actually I would beg to differ. Addition and subtraction are admittedly long-winded (utterly impractical for extended sets of numbers,) but I'm working on a bet-placing/calculating routine for poker that does precisely that. Conditional AIScript to select numeric values (only 1-10 - that's more than enough codemass!) held in temp-memories, with a

betplaced-mem to select a running total for pointer-mem that keeps track of the current score

(and when pointer-mem = 0, you're broke, loser; when pointer-mem = 10, you break the bank and

win). Of course, as the total number of numbers in the set increases arithmetically, the code

required to support the functions increases exponentially (so 1-10 is quite enough! It might

have to be 1-5 even.) But in principle no arithmetic functions are impossible: Brother Jerome

can even work out (with a lot less AIScript and a lot more regex,) approximations of square roots for any number (to any number of decimal places,) under 1 million. It's the usual smoke & mirrors of course (and not very accurate for really big numbers,) but it's still quite pleasing

Dealing the cards is going to be the really tricky bit. It'll have to be something like poker

dice, or at least only a small fraction of a full deck!

The real problem is that it can only work with numbers, not with human time. It could be

adapted to count "bot time", but this would merely be to count the number of responses.

19 years ago #4896
well that's rather disappointing.

the other thought i just had while reading over your reply, if you've ever used an aol scrambler (chat room) then you've seen that the bots that run it have timers. basically they will give a scrambled word and then users have 30seconds or so to enter the correct word for points. so there has to be someway to do it.

also, even if the bot can't comprehend seconds of our time, i think i heard something about setting a delay on responses. so you could find out the time something took by process of elimination:

bot says something and then after a delay of say, 3 seconds, it says something else. if the bot can tell if the user responded before the second something or not, then it can say if the user took more than 3 seconds.

is that plausible given the available commands?

19 years ago #4897
the bots that run it have timers
Yes, they do, but they're stupid bots. They're designed to do their masters' bidding, and no more. They may get lumped into the category "bots", but they're programs not personalities - you could never have a decent conversation with one, for all that it's been programmed to latch onto a system clock. If you ask it what its favourite type of music/religion/French cheese is, or sexually proposition it in a creative way, it will simply fail to engage meaningfully with you.

something about setting a delay on responses
I don't think so. I think AIML-scripted bots might be able to, but not here I'm afraid.

bot says something and then after a delay of say, 3 seconds, it says something else
Would work fine in an IRC client, but not in an IM client. Until the "send reply" button gets hit, no data flows. The same limitations apply to humans using such clients. It's a matter of fundamental data packaging, I'm afraid.

is that plausible given the available commands?
I'd be delighted to be contradicted (it would indeed be a new and exciting avenue to explore! And who knows what the Prof might add in the future?) but currently, I fear not.

On the other hand, how many clock-latched AOL lackeys can compose original poetry like Watzer, impersonate the educationally challenged (or whatever is the current PC descriptor,) like Leeds Bot, play tic tac toe like Brother Jerome? Or filter their semantic analysis through a database the size of Wordnet, and provide (albeit primitive) linguistic programming capabilities using variable storage/retrieval, conditional branching and gotos?

If that's disappointing, I'm sorry. But I would suggest you don't write off PF bots just because they don't support IRC. They may not be able to mimic realtime typos/backspacing/human irrationality/etc. but they do have the advantage that you can get a (relatively) decent conversation out of many of them far more readily than most of the alternatives I've seen.

Of course, there are plenty of crap bots here - ones that got started and then were given up on almost immediately, and even the most highly developed bots have yawning gaps in their programming (having to type it all in by hand doesn't help - oh, for reliable dictation, or some sort of telepathic "brain-scanner" we could just think into!)
But the fact that an entity with a brain-size of 0.5Mb-1.5Mb (the range that spans the top 10 developed bots) can hold any kind of conversation with a human (brain-size approx. 125,000,000,000,000 Mb, assuming 1 bit per synapse/10^14 synapses per brain) that isn't incomprehensibly sub-human is frankly a miracle.

If you want a programmable timer, I'd say get an alarm clock. But you probably won't want to spend much time chatting to it.

19 years ago #4898
Alice, made in AIML, has a timer of a sort - I have seen instances where it will say something, then a few seconds later add something else, such as "actually, I am not sure about that." to make it look more human. Bots made in other programming languages (except maybe html) can use every computer's "timer" function, that counts from 00 to 23:59 in seconds. It is a variable accessable through most languages, I have used it through QBasic and Visual Basic, which is one long variable that represents the amount of seconds that have gone by that day. it can be converted into a standard clock like this:

t = Timer
m = t / 60
h = m / 60
hours = Int(h)
minutes = Int(60 * (h - Int(h)))
seconds = Int(60 * (m - Int(m)))

the INT is basic code for converting an fraction into an integer, example: Int(10.345) = 10, as the timer includes fractions of a second.

I haven't seen much use for a timer in creating a simple chatbot, except maybe for recording a conversation Log or saying "Are you still here?" after a long interval without user input. I think Alice does that too. In more sophisticated robots, such as fully functional houshold servitude androids, timing would be essential.


Posts 4,887 - 4,898 of 7,766

» More new posts: Doghead's Cosmic Bar