Make your robot a chatbot with personality and engagement. It will allow your robot to remember details and form emotional relationships with people.
How to add the Personality Forge robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Artificial Intelligence category tab.
- Press the Personality Forge icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Personality Forge robot skill.
How to use the Personality Forge robot skill
Make your robot a chatbot with personality and engagement. It will allow your robot to remember details and form emotional relationships with people. The Personality Forge chatbot platform's AI Engine integrates memories, emotions, knowledge of hundreds of thousands of words, sentence structure, unmatched pattern-matching capabilities, and a scripting language called AIScript. It's the heart and mind of all the chatbots here, and it's easy enough to work with that you need no programming experience to get started.*Note: This robot skill requires an internet connection.
Main Window

1) User input window for manually typing messages to send to the bot. In most cases, you'll want to use ControlCommand instead of manually entering. But you can manually enter for testing purposes.
2) Submit the manually entered text
3) The log window displays responses, script errors, or error messages.
Config Window

1) The API key from the Personality Forge website
2) The API secret from the Personality Forge website
3) The Bot ID from the Personality Forge that you wish the interact with
4) The external ID represents the conversation memory. Long as this ID is the same, the memory for the conversation will be maintained forever. If you press the Generate New button, a new ID will be generated, and therefore the chatbot will have to relearn everything.
5) Generate a new external ID
6) The script that will execute for every response. By default, a script will speak the chatbot response out of the PC speaker. You can modify this code to speak out of an EZB speaker or process the response in more detail to execute Auto Position actions, etc.
Configure API Account
The Personality Forge website requires creating an account, getting API information, and creating a custom bot.
1) Visit https://www.personalityforge.com/
2) Create an account

3) Press INTEGRATE

4) Scroll down and press "Get Started Now."

5) Choose the account type based on the number of messages you send per month. The free version (Puff) has a limit. You do not need to check Enable Simple API or fill Allowed sites, as we will not be using those two options.

6) Press "Subscribe to API."

7) Copy the API Key and Secret into the configuration screen of this robot skill

Creating Custom Chatbot
This manual doesn't cover the specific details of building a chatbot on the Personality Forge website. They have manuals and information about doing so. However, to get you started, press the BUILD -> Chatbot Workshop menu option to begin creating a chatbot.

Variables
There are a few variables created for every bot response from the server. You can read more about the Emotion and Data variable types on the Personality Forge website.
- "$PersonalityForgeData" (array) contains the custom data that can be assigned per response when building a bot. Read more about this on the Personality Forge website.
- "$PersonalityForgeRequest" (string) is the message sent to the chatbot in the conversation.
- "$PersonalityForgeResponse" (string) is the response from the server.
- "$PersonalityForgeEmotion" (string) is the emotional value of how the chatbot feels about the current conversation.
Control Commands
There is a ControlCommand() for sending a custom text to this robot skill for processing. You can have another skill, such as the Bing Speech Recognition robot skill send your speech text to this robot skill for a verbal conversation.
Syntax: ControlCommand("Personality Forge", "send", "message");
Example: ControlCommand("Personality Forge", "send", "Hello, how are you?");
Example
This example tutorial will explain how to configure this robot skill for a verbal conversation. We will use the Bing Speech Recognition robot skill in the example. Your speech will be converted to text and sent to this robot skill. The response of this robot skill will be spoken out of the PC speaker.
1) Load ARC and create a new project
2) Add the Personality Forge robot skill
Project -> Add robot skill -> Artificial Intelligence -> Personality Forge

3) Add the Bing Speech Recognition robot skill
Project -> Add robot skill -> Audio -> Bing Speech Recognition

4) Configure the Personality Forge robot skill with your API Key and API Settings, etc.
5) Configure the Bing Speech Recognition and press the edit button for All Recognized Script

6) We'll add some code to take the Bing Speech recognition response variable and send it to the Personality Forge. Add this code to that All Recognized Script
Code:
ControlCommand("Personality Forge", "send", getVar("$BingSpeech"));

7) Save the configuration
8) Now, let's start speaking to the robot!

I tried this one out and it is pretty much on par with the original Pandorabots skill that Synthiam has offered forever.
me: what color is the sky
chatbot: the sky is blue
me: what did I just ask you
chatbot: what would you like to talk about
behold AI!
All the chatbot ai I find is NLP (natural language processing). The difference with NLP is a conversation to achieve a predefined goal. So it’s more like a funnel that narrows the discussion to understand what the user wants the do. But that's not what we want. We want the robot to have a personality and feel alive.
The difference between robots and chatbots is that we want them to seem alive with a personality. That’s where we’re lacking in technology. No one seems to be focusing on that, except things like this.
In the landscape of these chatbots, they all seem to be on the same plane.
The responses it gives are as I pointed out above. Same as Pandorabots AIML 1.0.
They do have an option to watch 2 chatbots talk to each other though.
Interesting conversation
My AIML changes responses only when I edit the xml files or add a xml file, as you probably are aware of.
As DJ put it, "We want the robot to have a personality and feel alive." this will never happen, it's not alive.
My Alexa tells me to have a good day, but does she really care if I do, I don't think so lol
EzAng