SOFILIA: WHAT WOULD YOU SAY TO AN AI?
--

Dave Grundgeiger would like you to talk to your computer; not necessarily with your voice, but the way you might talk to a friend or a trusted consultant.  I first leaned about Dave’s AI project “Sofilia” [1] in 2014, but the work goes much further back than that, and before too long (perhaps with some help), Sofilia will be ready to speak to the world.


I spoke with Dave recently to find out more about the history of his project, what makes it different and where things are at today.


image



THE INTERVIEW


[N-] Why is your project named “Sofilia”?


[DG] Until recently it was always just “my AI project.” When I was ready to announce it publicly,people said it needed a name. I chose “Sofilia” from the Greek word roots, “soph” (wisdom) and “philia” (affinity for)



[N-] How far along is the project, what can it do today?


[DG] The software engine has been finished for over two years. Driven by a grammar file, it converts sentences to and from a semantic knowledge store. The limiting factor of the engine is the extent of the grammar file. My current work is to expand the grammar file to accommodate all of English at the first grade level and then to write software that manipulates the resulting semantics for answering questions.


For demonstration purposes, I currently I have a console application that shows question answering. It has enough of a grammar that you can enter statements (“Mary is Susan’s sister. Susan is Beth’s mother.”), ask questions (“Who is Beth’s aunt?”) and get an answer (“Mary is Beth’s aunt.”).



[N-] When did you begin working on it?


[DG] I began working out these particular concepts in 2002, and I started writing some code for it here and there only as a way to relax and unwind. The finish line for this project was so far away that it seemed unattainable. Consequently, I didn’t worry at all about a schedule, and instead spent a lot of time perfecting each component before moving on to the next. In hindsight, this was a really good approach, because it created a very strong foundation for later work.


By 2008 I had completed enough work that the finish line seemed reachable after all. I began working hard on the project, allocating nearly all of my free time to it with the intention of completing it, rather than just tinkering with it to unwind. At that time my kids were still at home. Saturday belonged to them, and Sunday was usually “AI day.” I completed the software by the end of 2012. This software, when driven by a suitable “grammar file,” converts unrestricted natural-language text in any language to and from a database-like, language-free knowledge store. I had written a grammar file to demonstrate the software’s capabilities on a variety of complex sentence structures, but it was only a proof of concept–not a complete grammar.


At the beginning of 2013, I began demonstrating the software to colleagues to get advice on how to proceed. I’m not an entrepreneur and I’m not interested in running a company. I would prefer to give the technology away, but I hope to find a way to fund my ability to continue working on this and other projects full time. I had in mind perhaps to sell the technology to Google so that I could fund my next project. However, people had trouble seeing the general applicability of the software based only on a set of sample sentences, no matter how complex. It became apparent that I would need to develop a demo that is compelling and incontrovertible. I began looking for what that demo could be.


Near the end of 2013 such an opportunity presented itself. Microsoft Research developed a reading comprehension test specifically for testing AI software [MCTest - 2 ]. I’ve written about that elsewhere [ 3 ], so I won’t describe it here.


In order to attempt MCTest I have to create a grammar file for the entire English language. This is a very large amount of work. In an attempt to be able to spend more time on this task, I began working on a Kickstarter. This in itself took much longer than I had hoped. I began working on the Kickstarter early in 2014 and didn’t go live with it until September of that year. In that time I wasn’t able to work on the grammar at all, so I often wondered about the wisdom of going that route, especially since the Kickstarter ultimately went unfunded. I’m not certain that it was in vain though, because I’ve met some very nice people in the process.


I’m now working hard to create the necessary grammar on weekends, spending about 20 hours each weekend to do so. It’s a long road.



[N-] Were there other projects leading up to this one?


[DG] I’ve thought deeply about natural language understanding ever since I learned to program at age 13 in the late 70’s. When I was a teenager, I ported Joseph Weizenbaum’s “ELIZA” program [4] to Commodore 64 BASIC. I experimented with various concepts and approaches over the years, but this is the first large-scale NLP project.



[N-] What makes it different from other AI projects?


[DG] I haven’t seen any other project claim to have a generic mechanism for converting unrestricted text into semantic networks. However, my sense is that there are a number of projects nearing major breakthroughs. The recently announced Hound software from SoundHound looks very promising.



[N-] Who do you think will benefit from Sofilia and how will they use it?


[DG] I think that’s similar to asking in 1989 who the World Wide Web would benefit and how it would be used. While people knew it was important, no one could articulate the extreme depth and breadth of the effect that technology would have on our world. With that as backdrop, I’ll say that I see Sofilia as a personal assistant, adviser, mentor, advocate, and friend.  Always there, always on, offering advice and assistance from the sum of all human knowledge.


One of the things that I’m most excited about and that I think will have profound positive impact on the world is the semantic networks that Sofilia creates from language. When this network is constructed from the input of just one person, its very shape is determined that person’s world view in all its complexity. Sofilia can generate conversation from that specific semantic network, and I believe that such language would have an uncanny likeness to the original writer (speaker). This might give us the opportunity to create new literature in the style of favorite authors from the past. More ambitiously, being able to analyze the entirety of that mental structure may give insights into an author that we may have previously missed. This would also let Sofilia phrase things in ways that are most meaningful and helpful to the listener she’s currently engaging. She can maintain and compare multiple such semantic networks, and use them to help bridge gaps among people who think very differently from each other and help them discover their commonalities.



[N-] That last point brings to mind something like a personal and potentially *emotional* expert system. Have you considered the potential to use Sofilia not only to capture practical knowledge, but perhaps as a way to capture a representation of a “personality”, even just a fractional one, allowing that personality to be distributed across time and space in a way that is currently not possible?


[DG] Yes, and in fact I think that’s a natural outcome of the fact that Sofilia builds a world model through conversation. The way a person talks about the world is structured by the way that person views the world. (We don’t describe the world how it is, but how we think it is.) Therefore, when Sofilia builds a world model from the words of a single trainer, that person’s world view will be encapsulated in the model. I think expressions generated from this model will seem to us to mimic the personality of the trainer. I think that some of these expressions will appear to us to be emotion-based. This will be even more true later, when facial expressions, tone of voice, and body language are added.



[N-] Can Sofilia read, or learn directly from things like Wikipedia?


[DG] Yes. In fact, that’s the whole purpose: to manipulate language and meaning.



[N-] Could the project move forward faster by crowd sourcing teachers?


[DG] The path to MCTest requires laborious hand-crafting of the grammar file. I think trying to crowd source that would take longer than doing it myself. However, the next version will add the ability to infer grammar from large text corpora, and also allow verbal training.



[N-] Can you describe the grammar file crafting process in more detail? Is it hard because of how it is represented, or because it requires extensive/scarce domain knowledge?  Could tools be developed to make it easier?


[DG] It’s the debugging that is time-consuming. Language generation and parsing are highly recursive processes, and generating or parsing a sentence of moderate complexity can require hundreds of individual yet complex steps. Finding the reason that a given sentence couldn’t be generated or parsed with a given grammar file requires a lot of spelunking. Further, a given idea can usually be expressed in multiple ways, and a given sentence can usually be parsed in multiple ways. Sofilia finds all of these solutions in parallel in every generation and parse. So, lots of log output to look at. I’ve developed specialized log output and debugging patterns to make this simpler. It’s a lot faster than it used to be.


More tools can definitely be developed not only to make manual rule creation easier, but to eliminate it entirely. In the future I would like to work on inferring new rules automatically from existing corpora, through observation, and through conversation. The current way of building the grammar file is just a bootstrap process. It will be retired.



[N-] Is Sofilia restricted to written language or does it have other ways of interacting with its environment and others?


[DG] I’m glad you asked. Sofilia is fundamentally a way to convert semantic meaning to and from some representation. In the current version, that means means language, but it doesn’t have to stay that way. “Representation” can be facial expressions, tone of voice, actions–anything. And this ability to convert between representation and semantics always goes both ways, so Sofilia can not only drive facial animations, for example, but can also interpret the facial expressions of others. Or tone of voice, actions, etc.



[N-] So would you say that Sofilia could participate in something like an immersive virtual environment, and incorporate these “physical” experiences as part of its intelligence?


[DG] Absolutely.



[N-] Have you ever made Sofilia talk to itself?


[DG] No.



[N-] Can I talk to Sofilia?


[DG] I can let you play with the question-answering demo.



[N-] When will the project be ready to use, and is anything holding it back?


[DG] I would like to attempt MCTest in November of this year. It’s being held back by the labor required to extend the grammar file to accommodate all of (first-grade) English grammar. Future versions will have better tools for this and will have the ability to infer grammar from existing corpora and verbal training.



[N-] What does Sofilia run on?


[DG] It’s written in C# and currently runs on Windows. I expect that the first public release will run in Windows servers in the cloud, with Android and iOS client apps. I expect that it will be ported to run on Android and iOS.



[N-] Being written in C#, could it be run on Linux using Mono? Is there a reason it would have to be cloud-hosted (i.e., are the hardware requirements large, etc.)?


[DG] It’s just a .NET 2.0 class library with no platform-specific features, so I think you could just drop the dll onto a Linux machine and run it with Mono today without even recompiling it. There’s no reason it would have to be cloud-hosted. It’s performant on the 10-year-old laptop I use for developing it.



[N-] What are the license/terms of use?


[DG] I would like to find a licensing structure that allows everyone to have unfettered access, while enabling me to continue work on this and other projects. I don’t know what that is yet. My goal is to create and share, not hoard.



[N-] Have you considered releasing a “dev kit” (even if it had to be based on a small grammar or stubbed-out internals)? Something that documents the API enough that people could start writing applications that will work with Sofilia?


[DG] I think that’s a good idea, and something I would like to do in the next several months. I need to be careful to maintain my velocity on building the grammar, because the MCTest demo will be a major turning point.



[N-] What will you use Sofilia for when it’s done,


[DG] Conversation



[N-] …and what will you work on next?


[DG] I would like to add full-body animation and vision to Sofilia. I would like to research mass social simulation for the purpose of discovering effective ways for us to achieve the social good that we all strive for.



[N-] How can other people help/support/get involved


[DG] Sign up for the mailing list [5] and forward it to interested friends. This will make it easy and fast for me to contact the interested base when I’m ready to release. In addition, I’d like to find the right entrepreneur who can help me build the right business around the software. This would be someone who’s first and foremost fired up about the idea of Sofilia and using the technology for social good, who additionally has the business acumen to achieve that. We would have to click very strongly on a personal and ideological level.



––
BY JASON J. GULLICKSON