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
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.
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.
Posts 5,174 - 5,185 of 7,766
MickMcA
19 years ago
19 years ago
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?
Lady Orchid
19 years ago
19 years ago
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

djfroggy
19 years ago
19 years ago
MickMcA: Nope, that's just for profile purposes. No actual effect on your bot's intelligence or social life.
devilferret
19 years ago
19 years ago
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.
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.
Ulrike
19 years ago
19 years ago
It's more a description to tell potential chatters what to expect. It's up to you to provide the requisite personality traits.
MickMcA
19 years ago
19 years ago
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.
The fact that the "personality" could be false puts an interesting light on things.
alc003
19 years ago
19 years ago
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
this is my keyphrase:
how many days * (months) ([1234567890,.]+) (re)
Thanks

psimagus
19 years ago
19 years ago
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)
The regex format for such stripping out the numerals would be:
(key1) will be the number on its own.
Or
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)
psimagus
19 years ago
19 years ago
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:
A hard "
(key3) will contain the number
(key2) will contain the number
I'd also advise having a
keyphrase to cater to non-Americans who habitually reckon dates in dd/mm/yy format.
little monster 1
19 years ago
19 years ago
im non american and i usually reckon dates in mm/dd/yy. i find it confusing to be seen dd/mm/yy
» More new posts: Doghead's Cosmic Bar