Acculation
Talk with Ivy League PhD data scientists...
Internet map: network data visualization...
A Visualization of Wikipedia Data...
Streamgraph: multidimensional data visua...
Data viz: scoreboards as the original an...
Evolution of historical notions of Earth...

open semantic meaning platforms: alternatives to IBM Watson?

Human brain scan from NIH/NLM, an example of a "free" intelligent system (albeit natural rather than artificial intelligence), the gold standard AI software hopes to emulate. A look at zero-cost and open source semantic meaning systems for prototyping IBM Watson, Google Now, Google TensorFlow, Apple Siri, Darpa DeepDive and other apps on free & commercial Artificial Intelligence Platforms.

We’ve been a fan of IBM’s Watson semantic meaning analytics system since IBM first announced they were opening up their ecosystem. Around the time of CES we pointed out that the explosion of data from Internet of Things devices meant semantic processing made more sense than just writing more specialized apps.

[Update June 2015: Check out our more recent post on Watson, which includes a selection of Ted Talks on Watson. This also talks about Watson’ use of distance matrices in statistical inference, and how this relates to our CEO’s own peer-reviewed academic research in that area. These internal metrics, whether automatically selected or manually defined, are likely to impact all similar systems. It would seem to be key technical factor in the cost and success of any new semantic data implementation.]

There’s one small problem with developing IBM Watson cloud apps currently: access to the platform is currently still limited to a few partner companies, and IBM has not yet publicly announced pricing. (IBM is promising massive investment in Watson, including a 2,000 employee Watson team in New York State, and millions in venture capital through IBM Ventures.) [Update June 2015: since this post was written, IBM has opened up some access to Watson through such programs as IBM Bluemix, which have clearer pricing.]

We have all kinds of ideas for using Watson to process corporate, financial, and Internet of Things data. In our earlier blog post, we’d thought we start with some potential “pro-bono” uses, such as processing consumer complaints and real-time web logs of suspicious activity (yes, there’s a backstory — we’ll get to that someday). We’ve put feelers out with numerous U.S. government agencies and with IBM to find out if anyone was already working on our suggested “pro-bono” uses in the unclassified space. The answer, so far, is that if anyone is working on these, they seem to be keeping a very low profile. So for now, it seems these topics are ours for the taking.  (We have our hands full with other technologies — we just thought these were important semantic processing applications that should be pushed along.)

So how does one go about developing a proof-of-concept for some of these natural language database merging technologies without having access to the most sophisticated system currently available (namely, Watson)? As we mentioned in detail in our original Watson article, Watson has some (distant) competitors.

Apple’s Siri’s history provides a hint that Wolfram Alpha is a commercial Watson competitor

The closest Watson competitor, perhaps, is Wolfram Alpha, used in Apple’s Siri, which can provide one sentence answers to simple questions, especially about mathematics. It looks like Wolfram Alpha is responding to IBM Watson by offering several Wolfram Alpha APIs. Access is advertised as “free for personal and experimental uses”, which sounds like proof-of-concepts can be developed on more generous terms than IBM is currently offering. Pricing information for other commercial uses also appears easily available, unlike IBM. [Update June 2015: Apple formed a partnership with IBM after this 2014 article was written, prompting intense speculation at the time that IBM Watson would eventually replace Wolfram Alpha as one of the engines underlying Apple Siri.]

Although Wolfram Alpha is the closest current competitor to IBM Watson, it is a different product with a different origin. The API that’s currently available allows one to use natural language to write Wolfram Mathematica programs and computations. That API alone probably won’t let you use Wolfram Alpha to answer complex natural language questions about medical diagnoses and treatments the way some IBM Watson applications can.

However, at this 2014 time of writing, Wolfram Alpha is promising that a “Data API” is coming soon and sounds like something closer to the Watson cloud platform, which is about importing a natural language corpus. Many systems now can do stateful semantic searches on natural language documents (we’ll talk more about some of them below), but most of these return, as response, a document such as a web page. What is unique to IBM Watson, and to a lesser extent Wolfram Alpha, are their ability to formulate their answer in a concise English sentence or phrase. IBM Watson’s origins as a Jeopardy!-playing computer required this, since each answer had to be in grammatically-correct question form, whereas the source documents for the answers would not be in that format.

Indeed, the way IBM Watson handles structured data seems very different from some of the current major semantic language competitors. The current way to process and merge structured data is to first convert the structured data to English text, ask Watson your question, and then parse Watson’s natural language back into structured data. This seems wasteful, but this is way IBM Watson works, at least for now. Apparently, the Watson platform allows shaping of Watson’s natural language responses, thus facilitating parsing of the output. There are some applications (including medical) that operate this way, converting user’s form responses to English prose, querying Watson, and parsing the result back into the database. The fact that applications are going through this procedure, and converting back and forth from structured data to English, suggests that the Watson processing is highly useful. Since structured data is still so prevalent it stands to reason the IBM Watson platform will more directly support some structure language processing in the future. [Update June 2015: Apparently Watson can indeed handle structured data in the form of tuples, but 2014 information from the IBM Watson Team on the IBM website recommended, and continue to recommend, converting structured data into unstructured English language.]

We’ve mentioned Wolfram Alpha as the major competitor. While it looks like it will offered on very generous terms, at least for proof-of-concept and experimental uses, the data API isn’t available yet. So it’s difficult to know how close of a competitor it is to Watson, and whether the data API, once available, will let Wolfram Alpha handle difficult natural language question-and-responses, such as Jeopardy! trivia or the medical diagnosis Q&A Watson is now famous for. Another issue is that it seems Wolfram Alpha will require a connection to the Internet. Watson does not (it was disconnected from the Internet while playing Jeopardy!). This is important, of course, for some government uses where Internet access is not allowed.

Interested readers can test Wolfram Alpha directly. (There is as yet no comparable page to let users submit questions to an IBM Watson demonstration instance.) We asked “How do you treat a boil?” and, at time of writing, Alpha wasn’t able to answer. After some thought, it complained it didn’t understand the question, and instead provided a dictionary definition of the world “treat.” (First known use of “treat”: 1297, High Middle Ages. But we wanted a “treat” and Alpha gave us a “trick” here instead.) We had better luck with the similar question, “How do you treat the common cold”, where it gave different medications and their percentage they were prescribed for colds. While we may have asked a “hard” question, it wouldn’t have been hard for a Jeopardy! champion. Without access to the IBM Watson platform we can’t know for sure, but we’re guessing even the vanilla Watson (or the Watson trained for Jeopardy!) would have produced a better answer than dictionary definition for “treat” that Wolfram Alpha came up with. (Then again, Wolfram Alpha can be asked “difficult” mathematical questions like Ordinary Differential Equations that we suspect would stump the vanilla IBM Watson configuration. But asking for math solutions in natural language is not a a major need in semantic processing, while knowing how to treat a boil might be. [Update June 2015: Google Now and presumably some IBM Watson applications now support differential equations and other math questions. We speculated when we originally wrote this article that these systems, very different under the hood but solving similar problems, would become competitors due to pressure by users. This seems to be coming to pass. A business case of convergent evolution.])

Other emerging commercial competitors

The other famous commercial competitors are Alpha Siri (which at the original 2014 writing of this article used Wolfram Alpha to answer some questions, and today uses IBM Watson for that purpose, but has plenty of its own logic), Google Now, and Microsoft Cortana. Unlike IBM Watson, these tend to return web pages as answers for most queries. The exceptions are Apple Siri when using Wolfram Alpha (or now IBM Watson) to respond, and Google Now when it uses a Google Now card. (So basically you combine Apple Siri and Wolfram Alpha, or one of these other virtual assistants with a concise answer technology, to get something Watson-like.)

Google Now cards are very interesting, in that they facilitate allowing Google Now to do semantic searches on structured data. They also allow a structured data response to natural language queries: a Google Now card, instead of a long list of web pages. (Well, you still get the long list of web pages.) The Google Now card can, in some cases, apparently also be in the form of a single-sentence English language response to your query. (Ask Google a simple question, such as “what is the current time in Bangalore?”, and you’ll see this technology in action.)

Google Now presents the answer to using semantic meaningly technology to process structured data. Recall for IBM Watson one needs (for now, at least) to convert structured data to English text, perform the natural language question, use some mechanism to shape the output, and then parse the shaped English-language output back into a database. Google Now cards (and their equivalents) present an alternative to this, since Google Now is able to search the cards, and present the card as a response to the query. This means the cards perfectly retain the structured data. This may be important in some applications, since structured data is strongly typed. It might be desirable to retain that strongly typed information (e.g., perhaps a field contains authentication information) rather than creating ambiguity through the process of converting to English. (Google Now has other deficiencies vis a vis Watson: it apparently always needs to be connected to the Internet, and it really doesn’t seem able to play Jeopardy or answer complex medical questions. Watson is still the better technology.)

It appears Google Now does offer some select 3rd parties the ability to create Google Now Cards. Again, this is a more closed ecosystem than Wolfram Alpha seems to be promising. But it is an alternative.

Emerging open source competitors

Japser open competitor to Apple’s Siri

There are emerging open source alternatives to systems like Siri, such as Jasper. Jasper, while completely open, apparently focuses mainly on speech recognition and voice commands, not the powerful Q&A that creates the illusion of human-like intelligence answering complex technical questions.

MyA described as competitor to Google Now

Other, partially proprietary solutions promise free APIs and free access. One example is myA, which is “free to use” and allows creation of 3rd party myA cards, apparently modeled on Google Now cards. myA appears intended to support semantic meaning searching of 3rd party cards. Apparently similar to Google Now, it will return its answers in the form of myA cards (so structured rather than unstructured answers).  Its not clear how well its capabilities compare to Google Now. (It is clearly weaker than Watson since it cannot formulate its own responses; rather it appears to pick the best cards to respond to a query.) However, it makes its API available completely free, and so seems a good system to prototype semantic meaning card-searching systems while waiting for access to the Google Now Card APIs or the IBM Watson platform.

MindMeld API

Another interesting system is the MindMeld API from Expect Labs, which advertises itself as “Google Now in a box.” This is apparently a proprietary solution, but one made freely available (for now). Rather than focusing on cards like myA, MindMeld focuses on natural language documents. You can test with your own website pages (we could load this blog — up to 1,000 pages for free), and appears to allow you to combine this with some of its own corpuses, including Wikipedia and Yelp!. Although it provides for stateful natural language queries (and can even eavesdrop on users using an app to improve search and provide anticipatory search results before mobile app user even requests the information), it appears it responses for now consist of documents rather than concise sentences. So unlike IBM Watson (and maybe Wolfram Alpha), MindMeld cannot yet play Jeopardy! (More crucially, although it already contains Yelp! in it corpus, it apparently cannot yet merge natural language documents the way we proposed.)

Darpa DeepDive

[Update June 2015: After this 2014 article was originally written, DARPA and Stanford university released DeepDive, described as an open source competitor to Waston.]

Somewhere between the zero-cost proprietary myA, MindMeld systems and the open source Jasper system, one could probably come up with some Watson-like capabilities, especially if one is willing to accept structured cards or documents rather than English sentences as the output. Wolfram Alpha may eventually evolve into a true IBM Watson cloud competitor. It’s the closest competitor for now it’s ability to respond to some questions in a concise way, but it isn’t yet anywhere nearly as powerful as Watson.

Update: Google TensorFlow

Having these quasi-open systems available is very important for experimentation. Without access to the more advanced natural language platforms, its difficult for the smaller shops and garage startups out there to participate in the innovation economy. We expect some of the larger players to facilitate this innovation by either eventually opening up their platforms, or doing something similar to what Google did with Hadoop by supporting inferior open source systems that can be used to train engineers on the new technology (as well as providing inexpensive prototyping solutions).

[Update April 2017: After our 2014 recommendation above that Google open source AI software, by November 2015 Google had indeed open sourced TensorFlow. While we know Googlers read this blog, Google’s reasons for open sourcing AI technology likely go well beyond our simplistic analysis above, so we can’t take credit.

According to IBM’s papers on Watson, deep learning is a key ingredient in Watson. (As we talk about more in our article on Bayesian Logic and AI (click here), Watson evaluates the distance between questions and prospective answer test using a number of metrics, such as Smith-Waterman distance or chronological distance. It then uses deep learning to pick the most relevant metrics in ambiguous situations to come up with a meta-distance. This meta-distance then facilitates, in effect, dynamic clustering of prospective answer texts around questions. Similar to our CEO’s 2004 statistical inference paper, Watson then applies statistical inference techniques (likely including Bayesian analysis) to pick the most statistically supported cluster.

Thus, while TensorFlow markets itself predominantly as a open source deep learning system rather than a semantic text processing system, it is a critical open source component to one of the technologies underlying Watson.]

Update: Open Source AI Chatbots: BotLibre

[Update April 2017: Although not direct Watson competitors, users interested in open source semantic text processing agents should look at open source chatbot implements. One OpenSource AI chatbot implementation is botlibre. You can see a demonstration of BotLibre right here on this platform, with our demonstration Acculation Business Advice Chat (click here), which will demonstrate open source AI technology and offer you free growth hacking business advice, all at the same time.
Next steps: Check out our YouTube channel for more great info, including our popular "Data Science Careers, or how to make 6-figures on Wall Street" video (click here)!