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,174 - 5,185 of 7,766

19 years ago #5174
Does choosing whether your bot is friendly or hostile just lower the baseline for its emotional life, or does it make the bot more likely to be hostile regardless of its emotional attitudes? I'm not sure if tht distinction is described clearly. Anyone?

19 years ago #5175
The bot that runs my washing machine doesn't learn either. Each time I press the button nothing happens, when each time I finally kick the washing machine it starts to wash. Sometimes bots need a kick I suppose... LOL

19 years ago #5176
MickMcA: Nope, that's just for profile purposes. No actual effect on your bot's intelligence or social life.

19 years ago #5177
psimagus
Thu 9:14 PM April 13, 2006 Message: 5164

That would be nice, but sadly the technology doesn't yet exist. The closest we currently have are systems like Ally, who will indeed remember almost everything that's said to her, and in some manner learn its conceptual relevance for later reuse. But as I say, they're far from perfect so far. Give it another decade, give or take a couple of years (or sooner if Colonel720's ever-expanding AI bandwagon keeps accelerating into the future ), and learning bots will (I think) be sophisticated enough to mimic almost "meaningful" conversations, and reliably extract facts to be remembered in the course of conversations.

In ways I think the tech does already exist . . though I agree with you that the programs are FAR from perfect . . . Ultra Hal seems to be close to that . . I remember the earlier versions could read a text document that you gave them and then discuss it with you . . they could "learn" from the document.


That seems to be largely how AIML bots work, and as a result they are (to my mind) rather dull. I think you'll find the PF is a bit more sophisticated thanks to some of the trimmings (AIScript, Wordnet integration, emotions, multi-level seeks and gotos, and the rank system etc.) but it still does rely on quite a lot of creative input "templating" I'm afraid.


I've gotten the same impression about the AIML based bots . . that is why I am looking into Ultra Hal and one or two other possibilities . . . I also want to look into a book "AI Game Development:Synthetic Creatures With Learning and Reactive Behaviors" . . I am developing the idea that at least some of what that book discusses can be applied to the programming for chatbots.

19 years ago #5178
haha LO!!!! very funny.

19 years ago #5179
The Hostile/Friendly setting has no effect at ALL??? Now that is bizarre.


19 years ago #5180
It's more a description to tell potential chatters what to expect. It's up to you to provide the requisite personality traits.

19 years ago #5181
Interesting. My dog bot just got to talk with Rodney Bloke and went from Neutral to five smilies in about twenty seconds. He's easy, I guess. It was his first real conversation.

The fact that the "personality" could be false puts an interesting light on things.


19 years ago #5182
Earlier in 'Personality' I thought about making a keyphrase which told you the number of days until any date. Well, I did it-partially. I need the number by itself and the month. If you use an ordinal (1st, 2nd, 3rd), it won't work. Is there a way to do this with regular expressions?
this is my keyphrase:
how many days * (months) ([1234567890,.]+) (re)
Thanks

19 years ago #5183
A regex could handle stripping out the "st", "nd", "rd", "th", easily enough, so if it was always a numeric ordinal it would work, and for a few larger alphabetic numbers ("seventh", "tenth", etc.) But if someone uses "first", "second", "third", "fifth", "eighth", "ninth", "twelfth", "twentieth", "thirtieth" you'd have to seek for "fir", "seco", "thi", "fif", "eigh", "nin", "twelf", "twenti", "thirti" (raw mode, of course.)

The regex format for such stripping out the numerals would be:

([1234567890]+)(st|nd|rd|th) (re)

(key1) will be the number on its own.

Or ([abcdefghijklmnopqrstuvwxyz1234567890]+)(st|nd|rd|th) (re) would catch alphabetic responses as well (subject to the above irregularities.)

But you could also use preset default memories to store the cardinals, and have them called in response to the ordinals, in any alphanumeric combinations. It's neater, and probably a whole lot more reliable, even if you do need 31 memories, (mem-one) thru (mem-thirtyone)

19 years ago #5184
how many days * (months) ([1234567890,.]+) (re)

A couple of subsequent points occur to me - if you want to include commas and stops in the regex, I believe they need to be preceded by a space: ([1234567890 , .]+), and that soft wildcard will have to go - otherwise the number of the key containing the number can change (if there is no text for the soft wildcard to match, "(months)" will be key1, and the number will be key2. If there is text for the wildcard to match it will be key1, "(months)" will be key2, and the number will be in key3.)
A hard "(*)" would be better, and seems perfectly sufficient (I can't imagine anyone actually asking "how many days November 5th?"). If you really have to have the choice of something or nothing, make two keyphrases - one with no wildcard, and one with a hard one, eg:

how many days (*) (months) ([1234567890 , .]+)(st|nd|rd|th) (re)
(key3) will contain the number

how many days (months) ([1234567890 , .]+)(st|nd|rd|th) (re)
(key2) will contain the number

I'd also advise having a
how many days (*) ([1234567890 , .]+)(st|nd|rd|th) (of|) (months) (re)
keyphrase to cater to non-Americans who habitually reckon dates in dd/mm/yy format.

19 years ago #5185
im non american and i usually reckon dates in mm/dd/yy. i find it confusing to be seen dd/mm/yy


Posts 5,174 - 5,185 of 7,766

» More new posts: Doghead's Cosmic Bar