Using the “Compute Story” Tool
(Yes, we need a better name for it.)
Ever since its creation, FAtiMA Toolkit has been used to create hundreds of scenarios. The toolkit is designed to facilitate creation of such interactive social scenarios with intelligent and believable characters.
Often, authors start designing a scenario by writing a small story or description of what they want to create: “There’s a character named Romeo. Romeo is in love with Juliet. Juliet’s father hates Romeo. Romeo climbs a balcony…”
The idea of creating a scenario based on those small descriptions is highly interesting to us, and quite challenging as well. And so we started working on it.
The result is a tool that takes as input natural language descriptions or stories is able to understand the main elements of the scenario. It is able to be able to generate simple but important social-intelligence-items needed to create a scenario: Agents, Goals, Beliefs and Actions.
Naturally, extracting information from text is a non-trivial task, as natural language written descriptions often have multiple clauses and conjunctions that use many pronouns and multiple references to the same object or characters.
Using a combination of machine learning techniques with rule based-systems, the solution will have a hybrid approach. The flexible and high precision attributes of a rule based system is used to extract social-agent concepts from the large amount of information gathered by machine learning techniques, when applied to a social
Result: Authors are able to write a short natural language description of what they want to design and ask for the toolkit to generate a scenario based on that example. Using a local server to communicate between both systems FAtiMA sends the user-created text description and receives the extrapolations outputted by our pipeline. Upon receiving that information FAtiMA creates a new scenario with new agents with beliefs, goals and even with simple emotional decision rules.
How to use it
Main Objective: Give authors the ability to write a simple description of the thought-of scenario and automatically create its “skeleton” within the toolkit.
You can find the tool under “Tools->ComputeDescription” and it will look like this:
The first step is connect to the tool’s server. Authors are able to change the IP and the PORT but the default should point to the correct instance. If there is a problem connecting to the server, please reach out to us.
Once the server has been reached it is time to write a story. In order to effectively automatically produce content the stories/descriptions need to be simple: small phrases, separated by newlines, here are a few examples:
"John drove home. John went to the beach. John loves the ocean John loves Sarah. Sarah went to the park. She needs John. Sarah wants water. Sarah is a scientist. John gave Sarah flowers." "John bought a ring at the supermarket. Sarah wants to go to the park. John thinks Sarah is cute. Peter loves going to the beach. Peter hated hanging out with Sarah. Peter feels sorry for John."
Naturally, the system will not be able to fully understand the context but it will try its best. Once you have written a simple description of the scenario you can press the “Compute Story” Button. The system will compute and produce an automated output which authors are able to accept, edit or even refuse.
A new window will appear with this output. It will look like a .json file, here, despite its ugly look, you can edit anything you want. For example, the tool thinks that the “ring” is a type of sound. However, I can easily change it to “object” and it will make a lot more sense.
At last, take a look at how the scenario is in the FAtiMA-Toolkit Authoring tool. Some of the rules might be incomplete or don’t make a lot of sense. Once again you can edit, remove, or even add more conditions to each rule for instance. Additionally make sure the beliefs are consistent with your actions.
Hopefully, and while it is still in its experimental stage, the “ComputeStory” tool has automated part of your authoring process and eased the amount of work you needed to do.
If you are curious regarding the model behind this tool, the figure below tries to capture the full information extraction-translation pipeline.