With tools such as IBM Watson — which provides the technology that allows robots to check you into your hotel, among other things — graph databases have become increasingly important partners in the world of artificial intelligence.
In this week’s 5-minute interview (conducted at GraphConnect San Francisco), Madison discusses how Gallium Artistic Services uses Neo4j to gather memories from players to provide important insights — and to even let them talk to historical figures like Albert Einstein.
Talk to us about how you use Neo4j at Gallium.
Cindee Madison: We use Neo4j as a database for a game that simulates artificial intelligence. So the artificial intelligence is basically a proxy for the player, and that’s why we’re calling her Proxi.
We have a series of game interfaces the players engage with, which uploads some of their memories into a database. These are used to train the artificial intelligence (AI) so that it can change and grow over time. Memories have key parameters, and we use the connections between them to understand how you’re connected to other people who have similar memories, and how different aspects of your memories are clustered together.
Coming from the background of a graph theory, you could describe this as a sort of social network of your mind. We’re trying to understand the concepts that are tied to different parts of your memories throughout space and time. As the AI gets trained, she might be able to provide you with insights, provide the opportunity to interface with artificial proxies — for example, Albert Einstein — and even give the opportunity for shared memories.
For example, if your college roommate comes into the game with her own proxy, your proxies can collaborate on a shared memory. Maybe you both remember the time you discovered your love for computing, but don’t agree on exactly where it happened. By combining these separate memories from each player, we can create a “shared memory,” which is an enriched memory for each player. For large events — such as the Loma Prieta earthquake — there are a large number of people with shared memories and experiences, and combining all of those experiences could provide really interesting insights.
What made you choose to work with graph database technology?
Madison: Our work is all about data relationships; we’re trying to understand not only concepts, but the links between things. We also put different weights on each data point to create a mind print, which provides a way to look at your collection of memories and provide insights about your emotional needs.
A graph database allows this data to be analyzed easily and quickly using different graph algorithms. It was clear that type of work we wanted to do seemed so much more natural with a graph than with a relational database; it was a natural marriage for our data model.
What are some of the most interesting results you’ve seen since working with Neo4j?
Madison: Because we’re working with what I consider to be a fairly sparse graph, the relationships are even more meaningful. This is because we’ve iterated complicated memories to a few key concepts and individual parts, which has allowed me to see really fascinating connections between different concepts.
In the future, I’m hoping that the Proxi hive mind can actually train my own word embedding, which might be better than trying to harness Twitter or other similar tools. Again, this is because we’re putting very specific concepts together with different weights in a structured environment to provide insights.
If you could go back in time and do anything differently, what would it be?
Madison: I would go back and redo the data model. We are constantly learning new things that make me think, “Why didn’t I think of that?” So I try to start as simply as possible and expand from there.
Just yesterday, I had to go through and normalize the database, so there’s always those experiences, but I think that’s the same with any product that you’re working on. But Neo4j has been flexible enough that I’m able to do that.