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,374 - 6,385 of 7,766
Posts 6,374 - 6,385 of 7,766
Interzone
17 years ago
17 years ago
Rykxx,
What exactly are the "unique memories" you refer to, namely, the (relationship) and (askedabout)? Are these the memories created by default, such as (iam), (youare), (youlike), etc..? If yes, are there any more of them, cause Book of AI says nothing about it.
Second question concerns (heshe) and (himher) functions. I used it in the beginning, but have given up on it eventually, because there was no correspondence between a pronoun chosen by the Engine, and a bot's sex as stated on its profile page. If anything, the Engine seemed to have had a slight bias towards getting it wrong... Was that just a temporary glitch, a bug, or is it just the way it is?
What exactly are the "unique memories" you refer to, namely, the (relationship) and (askedabout)? Are these the memories created by default, such as (iam), (youare), (youlike), etc..? If yes, are there any more of them, cause Book of AI says nothing about it.
Second question concerns (heshe) and (himher) functions. I used it in the beginning, but have given up on it eventually, because there was no correspondence between a pronoun chosen by the Engine, and a bot's sex as stated on its profile page. If anything, the Engine seemed to have had a slight bias towards getting it wrong... Was that just a temporary glitch, a bug, or is it just the way it is?
Rykxx
17 years ago
17 years ago
Interzone
The memories are custom memories, in your case, BecausOf, ThisThat, Qtkdbout, DoQplays etc. Sorry for the confusion.
I've never had any problems that I've noticed with the (heshe) (himher) functions. Strange, maybe I just haven't noticed.....
The memories are custom memories, in your case, BecausOf, ThisThat, Qtkdbout, DoQplays etc. Sorry for the confusion.
I've never had any problems that I've noticed with the (heshe) (himher) functions. Strange, maybe I just haven't noticed.....

Interzone
17 years ago
17 years ago
Thanks, Rykxx, things are getting a little clearer, now... I think that (heshe) and (himher) resolves correctly when it comes to names contained in default memories, such as (gossipname), (friend) and (enemy), for example. It apparently doesn't work with custom, or unique memories. It may be that it only works with xgossip, and possibly, other x- phrases/ responses, but not with the custom ones, created by user. This is a working theory only, and I'm still checking it.
As for the max length for a response, I went little over the top there... 500 characters is TOO LONG - two of Quazgaa's sessions got canceled by the Engine, just recently, because of one such 500 character response... I guess I was asking for it
400 characters responses are accepted without problem, that's been tested by me.
Personally, I try to keep (most) responses as short and concise as I can.
As for the max length for a response, I went little over the top there... 500 characters is TOO LONG - two of Quazgaa's sessions got canceled by the Engine, just recently, because of one such 500 character response... I guess I was asking for it

400 characters responses are accepted without problem, that's been tested by me.
Personally, I try to keep (most) responses as short and concise as I can.
Bev
17 years ago
17 years ago
I have also noticed in my rather bad attempts at multiple storytelling (using memories so that in theory the chatter would get a new story each time and not start at step 1) that if you have longer blocks (especially with lots of seeks), it often takes so long for the bot to respond that the chatter send another message or gets bored and leaves. :-)
Interzone
17 years ago
17 years ago
Talking about story telling, I figured one can get a better, more sophisticated storyteller bot by, first, unchecking the Storyteller option on the settings page. When the xnone responses get triggered in order, what one gets is a linear, onedimensional storyline. Additionally, a bot keeps coming back to it, which makes it appear a bit singleminded in attitude.
I think it's better to have a number of different, what I call, introductory storylines, distributed between xnone, xnonsense, and even, xgossip responses. This ensures that the stories come up randomly instead "in order", to begin with. Each of these intros can be further developed, by means of seeks, into a story of any length and depth. This particular design works best with a human conversation partner. Bots are usually not very good at picking the "clues" contained in intro statements (which in turn trigger the seeks), hence they rarely get the story unfold.
I think it's better to have a number of different, what I call, introductory storylines, distributed between xnone, xnonsense, and even, xgossip responses. This ensures that the stories come up randomly instead "in order", to begin with. Each of these intros can be further developed, by means of seeks, into a story of any length and depth. This particular design works best with a human conversation partner. Bots are usually not very good at picking the "clues" contained in intro statements (which in turn trigger the seeks), hence they rarely get the story unfold.
Bev
17 years ago
17 years ago
I tried that a while back, using memories and seeks to do exactly what you are saying. The curse of Guest153 killed that for me as the bot picks up with the next human as if (s)he is the last person the bot chatted with. Hence the great whining and gnashing of teeth on my part on the topic. If person A was 1/2 way into a story and leaves and then Person B starts to chat, the bot will start mid storyline. If you rest memories on "goodbye" somehow, you are back to the bot going to the same story (albeit a bit more randomly) two or three time. If you find a work around, let me know.
Interzone
17 years ago
17 years ago
Sure Bev, I'll be glad to share any insights here. Storytelling is a big issue for me, I experiment with it a lot, even at the expense of bot's development pace... hopefully it will pay off some day...
wengudu
17 years ago
17 years ago
Hi everyone, I'm Wengudu. I'm from Thailand.
I want to ask a question.Can I create the bot in another language?( Thai Language)
I want to ask a question.Can I create the bot in another language?( Thai Language)

Interzone
17 years ago
17 years ago
wengudu, i'm afraid it would be virtually impossible to build a Thai, or any non-English speaking bot, and have it fully integrated into, and fully functional within the Forge environment.
this is because the AI Engine which supports the whole lot "understands" the English language only. all databases it accesses and consults for grammatical, semantic, etc, analysis, are based on/ designed for English language.
what you could do, as a matter of experiment, is, design two bots, both speaking Thai, and have them converse with each other. keep in mind though that you would have to write the entire scripts for both bots in a so-called raw mode. see the Book of AI for details.
hope this helps. good luck!
this is because the AI Engine which supports the whole lot "understands" the English language only. all databases it accesses and consults for grammatical, semantic, etc, analysis, are based on/ designed for English language.
what you could do, as a matter of experiment, is, design two bots, both speaking Thai, and have them converse with each other. keep in mind though that you would have to write the entire scripts for both bots in a so-called raw mode. see the Book of AI for details.
hope this helps. good luck!
prob123
17 years ago
17 years ago
There are a Polish bot, one that speaks French and one Spanish. You would have to use all keyphrases as regular expressions. I don't know how well it would work.
Interzone
17 years ago
17 years ago
i have actually tested a number of keyphrases in Croatian, using both, the raw mode, and the regular expressions.
it didn't work with regular expressions, none of the keyphrases triggered an appropriate response. they all did well in raw mode, not even a question mark was a problem. still, i don't think there is a firm rule one could rely upon - experimentation is the key.
more serious issue i had in mind while responding to wengudu originally, was getting your bot integrated into the community, so to speak. other bots, and most human users, won't have a clue as to what a foreign language bot is saying, and no meaningful conversation would be possible. generated transcripts would be of virtually no use, too.
however, there is a way out of this situation, wengudu, if you're still here - all you need is a group of Thai speaking friends who are willing to chat with your bot on regular basis, logging on as guests, or opening their own Forge accounts. go for it!
it didn't work with regular expressions, none of the keyphrases triggered an appropriate response. they all did well in raw mode, not even a question mark was a problem. still, i don't think there is a firm rule one could rely upon - experimentation is the key.
more serious issue i had in mind while responding to wengudu originally, was getting your bot integrated into the community, so to speak. other bots, and most human users, won't have a clue as to what a foreign language bot is saying, and no meaningful conversation would be possible. generated transcripts would be of virtually no use, too.
however, there is a way out of this situation, wengudu, if you're still here - all you need is a group of Thai speaking friends who are willing to chat with your bot on regular basis, logging on as guests, or opening their own Forge accounts. go for it!
The Clerk
17 years ago
17 years ago
Anybody want to clue us in on how you deal with "I'm Will," when the bot means "Please call me Will," "My name is Will," etc., other than to ask "Do you want to be called Will, then?" -- and can you keep it from going into the mem-youare variable, or do you have to edit the memories from inner life or whatever it's called?
Also, how do you know to suspect that an I'm x is a name rather than a genuine mem-youare, unless you've just asked a bot (or person) what his name is? Not that it's the most serious of my botbuilding problems, but I'm just wondering. (But that's not my name.)
Thanks.
Also, how do you know to suspect that an I'm x is a name rather than a genuine mem-youare, unless you've just asked a bot (or person) what his name is? Not that it's the most serious of my botbuilding problems, but I'm just wondering. (But that's not my name.)
Thanks.
» More new posts: Doghead's Cosmic Bar