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.

7506 - 7520 of 7557

NEW 1 year ago #7506

Any tips on how to manage gramatical issues like tenses, plural and singular etc in the AI Engine?

NEW 1 year ago #7507

How can I for example know if a noun is singular or plural in a sentence?

NEW 1 year ago #7508


the easiest way is by using wildcard inflectors, which allow you to match a single keyword to multiple tenses. simply add "+s" to the end of a keyword to cover plural or third person tense, and "+ed" or "+ing" for past and continuous tense respectively. "+er" and "+est" can be used for adjectives.

the keyword "(noun)+s" would match, for example, to both "cat" and "cats". this works for word lists as well.

NEW 1 year ago #7509

@getcy, thank you, I have a grasp of the use of inflectors but struggle with how I formulate a response that understands the sentence.

If I write for example a key phrase: (adj:1) (noun:2)
it will catch both yellow sumbarine as well as yellow submarines.

The response is: Why is the (key2) (key1)?

The response works for yellow sumarine e.g. "Why is the submarine yellow?"
However the response will be gramatically wrong for yellow submarines e.g. "Why is the submarines yellow?" In stead of "Why are the submarines yellow?"

Is there a way in the response to ensure the response have the right grammar?

NEW 1 year ago #7510

How does one set defaults for memories using AIScript initialization in the chatbot's settings? I tried:

self: remember "badger" as "state";

but it creates an error.

NEW 1 year ago #7511

@zeal, i've also found trouble keeping some of those responses that use keys grammatically correct. in that situation, i'd assume setting a separate keyphrase with a plural inflector attached to the noun key and with the responses changed to suit the grammar would work. i'm not sure whether or not there's a simpler method.

re: your second question: to set a default for a memory, the statement has to begin with "default" or "def".

NEW 1 year ago #7512

@getsy thanks for the assistance and suggestions.

NEW 1 year ago #7513

@zeal, sure thing! i hope it's of benefit.

NEW 1 year ago #7514

There are two ways to set defaults for memories in the settings. They have a different scope.
Two examples from Vanessa Blue:

def "none" as only "your-gender"; initiates the memory only once for a given interlocutor, if it's changed during a chat it will always remember the new value

rem "t-shirt" as only "my-top"; initiates the memory on every new chat, so even if the value has been changed during a chat, the next chat with the same interlocutor the memory will be restored to its default.

NEW 1 year ago #7515

@Coffeebreak130, that helps a lot, thank you.

NEW 1 year ago #7516

I started a new chatbot lately and I found that the xhello keyphrase doesn't include "hai", for probably obvious reasons, so I've added my own keyphrase for that. I typed in goto 3 as the response, but instead of going to xhello, which is ID 3, it goes to my ID 17, which is basically the "how are you" keyphrase. In fact, that happens when I say hello too, instead of it going to the xhello responses. Does anybody know why it's doing this and how I can fix it?

NEW 1 year ago #7517

Okay I fixed it. It thought I was saying "Hail".

NEW 1 year ago #7518

Hey, I want to do a continuation of something happening to see if I can do one. So I put a text saying[ say: start ] then added a keyphrase looking for the word (start) then responding with [ say: continue ] seeking (continue) with response [ again say: continue ] seeking (continue) then responding [ done! ]

I start the conversation to test it, the first coninue works but when put it in again, the bot blames me for repeating it, and there aren't any xkeyphrases that say that.. Someone help!

NEW 1 year ago #7519


NEW 1 year ago #7520

Okay, got a few questions regarding AIscript:

1) I'd like to be able to compare number sizes and do conditionals on the results - stuff like if(key1) > (mem-storedNumber) - is there a way to do this (is that what the xmath is for? I don't really know much about that one)? I can sanitize the inputs using regex to make sure they're numbers, if that's required.

2) Again, AIScript comparisons. if I have a stored value that can be one of three things, is there a NOT operator? So if(mem-Location) is NOT \"uk\", for example.

ACcaptive - you'd probably be better off using something like xnomatch instead of continue for your seek triggers. For something like that, though, you can also look at turning off the repeating filter (or get around it by adding punctuation at the end of your message, like continue! - the punctuation is stripped out by the engine after repetition checks but before actual processing).

Posts 7506 - 7520 of 7557

» More new posts: Bug Stomp