Creating an IVE – Part I: The World Model

In this blog series, we will show you how to create an intelligent virtual entity (IVE) that can monitor your social media channels such as Facebook, LinkedIn, or Twitter — and react to positive or negative posts about your products. To that end, we will need to set up the IVE and teach it to run a sentiment analysis on any social media post mentioning one of your products or brands.

This part of the series will focus on creating what is known as a world model for the IVE.

Adding Concepts

A world model describes the environment an IVE exists in. IVEs use the model to understand how things work in the simulated world and to infer how to complete the tasks it has been given or achieve the goals it has determined for itself.

One of the foundational building blocks of a world model is a concept.” Concepts are things within the simulated world that the IVE needs to know about.

On Twitter, for example, a tweet with a positive sentiment about one of our products will trigger the IVE to like and retweet it, while a negative one will have the IVE send a notification to your customer service team so they can have a look at the case. That means that the IVE needs to know about Facebook, posts, sentiment and the like — this is where concepts come into play.

The world model is created using NXS editor no programming required. The video shows how some of the concepts we need for our IVE are added to the model.

Adding actions

IVEs can interact with the world they exist in in two ways: by perceiving their environment and by executing actions. Imagine a robot that is equipped with a variety of sensors, a set of wheels, and two robotic arms. The sensors would let the robot perceive its environment, while the wheels and arms would allow it to execute actions (i.e. driving around and manipulating objects).

In our social media example, the IVE will be working on social media platforms, so it needs actions like “analyze sentiment”, “reply to post”, “like post, etc. On the perception side, the IVE needs to be notified whenever a relevant post is added to one of the channels it is monitoring. After it gets the notification, it can execute the appropriate actions.

In short, actions are things an IVE can do in the real (or virtual) world. NXS Editor allows you to create the required actions easily using a simple UI.

Adding actors

Objects or “things” that can exist in the IVE’s world are called “actors.” These come in two flavors: actor templates and actor instances. An actor template describes a type of object, much the word “house” describes a type of place where people live. An actor instance would then be a specific house where actual people live. To get back to our social media project, actor templates would be “Facebook Post”, “LinkedIn Article”, “Twitter Tweet” and so on.

As you would imagine, there can be as many instances of a particular actor as you want or need. The IVE would, for example, be notified of a new Facebook post with ID “FB12345.” The IVE sees that the specific object “FB12345” (an actor instance) is labeled as a “Facebook Post” (that’s the actor template). With that information, the IVE knows what it is looking at and can handle it accordingly.

IVEs can interact with actor instances by applying actions to them, like doing a sentiment analysis on a new Facebook post.

The real magic happens when the IVE uses the world model to interpret new input. It would be able to make sense of a user command like “Do a sentiment analysis on all new posts on all monitored social media channels.”

Creating the world model

This is where everything comes together. The world model allows you to create the logic the IVE needs to understand the world it exists in. NXS offers a simple yet flexible grammar that you can use to describe different objects in the world and the relationships between them. Those descriptions can be chained together to define the IVE’s world in as much or as little as detail as desired.