Earlier this month, via web conference, I had the privilege of participating in a live demo of the pre-release Wolfram|Alpha, presented in person by Mr. Wolfram, and had the opportunity to ask questions during the call. Subsequently, I received an invitation-only access to use the Wolfram|Alpha test application. The following is based on my notes during the presentation, as well as my own experiences test-driving Wolfram|Alpha.
As he started the call, Mr. Wolfram boldly exposed his ambition and the vision driving the Wolfram|Alpha project. To paraphrase (I took detailed notes!), he stated that this work will provide us the capability to take all the knowledge that exists in the world, and allow us to compute it. He also suggested that, like NKS and Mathematica, Wolfam|Alpha is a long term project. Mr. Wolfram noted that the project actually started about 4 or 5 years ago and has typically had about 100 people involved at any one time throughout its history. As preparations continue for the Wolfram|Alpha public release, there are now nearly 250 people actively engaged in the project.
The live demo included around 30 computational queries, starting with the most basic, and ending with a flourish of complex queries, some that that left me astonished.
(At first look, the Wolfram|Alpha screen is deceptively simple — a single “Google-like” input line dominates the main screen. I was asked not to share screen shots of the demonstration, so I’ll do my best to describe what I saw.)
When Mr. Wolfram requested “2 + 2”, and pressed submit, there was no question as to the confidence of the answer immediately returned. Later during my own testing using natural language, I submitted the following four text queries “what is two plus two”, “square root of twenty four”, “what is the integral of x cubed”, “next prime after three hundred billion”, and got the correct results, as I expected, without any computational loss in the language translation. So far, so good, I thought. This is certainly, at the very least, Windows Calculator on steroids.
The first difference between traditional search engines and Wolfram|Alpha was immediately apparent. Instead of returning a list of search results matching the indexed query, Wolfram|Alpha simply does its best to comprehend the intent of the request, and compute the result. As Mr. Wolfram warmed up the natural language processing (NLP) capabilities, the request “What is the GDP of Italy”, presented results about Gross Domestic Product for Italy in tabular form, complete with a chart and descriptions all nicely compressed to fit the results screen. Building upon the prior request, the request “What is the GDP of Italy compared to France” returned a very nicely done comparative display, complete with a graphic line chart showing how the GDP compared over the last 30 years between the two countries.
The request “Weather Springfield” returned the current weather conditions/forecast for Springfield, MA. Why Springfield, MA from the nearly 30 cities named Springfield in the USA? Mr. Wolfram explained that Wolfram|Alpha knew that he was issuing the query from a Massachusetts location, primarily based on IP address, so defaulted to the locale, since the state was not specified in the request. Later, I tried this same request from my IP address based in the Midwest — as expected, the nearest Springfield for me is a city in Missouri.
In later testing on my own, I was amazed at the broad number of computational domains at my fingertips. From domains as diverse as chemistry, physics, mathematics, astronomy, geography, and even music, we may now freely compute. For example, a request for “C dominant 11th chord” instantly recognized the context of the request and presented a keyboard showing the individual notes in the chord, along with a button to “play” either the individual notes in the chord, or the chord proper, through my computer speakers.
I’d be negligent if I didn’t mention a fascinating observation on how Wolfram|Alpha attempts to manage semantics across the broadness of the computing domains. A request such as “rolling stone”, which has many popular contexts, will return an assumption that you’re asking about Rolling Stone (the magazine), but also suggests you may be interested instead in learning about the 1948 Muddy Waters song titled “Rolling Stone”, or just “rolling stone” as a phrase. Two of the obvious choices return information as appropriate to the magazine or the song, as expected — and if you elect to submit “rolling stone” in the context of a phrase, result of the calculation computes as “gathers no moss”.
I’ll have more on this tomorrow: a look behind the scenes. (My first post on Wolfram|Alpha was yesterday.)