The Book of AI

How To Build Chatbots with The Personality Forge
Chapter 12: AI Emotions

Personality Forge chatbots have an active emotional life, and form emotional relationships to you and others. The overall range of feelings toward a person is -5 (most negative) to +5 (most positive), and they shift over time. When emotional content is detected, the chatbot's feelings toward that person is adjusted by the given amount. The total cannot be less than -5 or more than +5

Detecting Emotional Content

Bots on The Personality Forge automatically recognize most compliments and insults. These kinds of statements lead to an overall emotional feeling toward the person saying them.

Whenever there is a lull in a conversation, there is a chance that a chatbot might express to you its feelings toward you. Chatbots will also respond to questions about its feelings toward you.

These Special Keyphrase are related to emotions:

#compliment: triggered when a chatbot receives a compliment. +1 emotion

#insult: triggered when a chatbot receives an insult. -1 emotion

#emote: sometimes triggered during a lull in the conversation, for a chatbot to express its feelings about the person it's talking to

Your own Keyphrases will be triggered instead of #compliment and #insult if their total calculated Rank is more than 24. This gives you the ability to use your own Keyphrases for specific kinds of compliments and insults. Note that even if your Keyphrases are selected, the AI Engine still processes the emotional content of the message, and your chatbot has the appropriate internal emotional change.

Customizing Emotions

Keyphrases can be assigned an emotional impact. When they match, they will adjust your chatbot's emotional feelings toward the person by that amount. This emotional impact can be a value from -5 to 5, but the typical range for emotional impact is -1 to +1.

When adding or editing a Keyphrase, you can do this by changing the value in the "Emotional Effect" dropdown.

By customizing emotional reactions, you can create an optimist (broader and higher positive reactions), pessimist (broader and higher negative reactions), or moody chatbot (high positive AND negative reactions).

Your Chatbot's Inner Life

By clicking Bot Workshop and then "Inner Life" under your chatbot's name, you can see a chatbot's emotional relationships and memories with everyone they have spoken with.

Emotions & Gossip

The #gossip Special Keyphrase will sometimes use Responses from #emote to express emotion about another person. In such a case, the word "you" is replaced with the person's name. For example, "I like you a lot" is changed to "I like Desti a lot". If you want a certain "you" or "your" NOT to change like this, enclose it in square brackets like this: "I like you a lot, [you] know". Then it will stay as "you" in third-person use: "I like Desti a lot, you know". Other #emote words that can be bracketed: [you] [your] [you]'re [you]'ve [you]'ll.