The Watson QA system software has been in development for the past two years and is based on open source code created by IBM's Software Group called Unstructured Information Management Architecture (UIMA), which is available as an Apache project. As the name of this code (a framework, really) suggests, UIMA is designed to bring some order to unstructured data so it can be analyzed and that analysis can be used to drive decisions.
It is the backbone of something that might be called an answer engine (something that processes all kinds of unstructured and structured data and comes up to an answer to a direct question) as opposed to a search engine (something that collects data and indexes it in such a way that with multiple search terms you can find bits of structured and unstructured data that you might use to come up with an answer). The confidence in an answer engine is what differentiates it from a search engine, and it is also what distinguishes a Jeopardy player who hits the buzzer quickly and asks the question to a statement and therefore wins the money.
By the way, the Watson QA system software is not based on or derived from the InfoSphere Streams software or the System S streaming server that IBM announced as a prototype at Toronto Dominion Bank three weeks ago as a very fast options trading system that can take in data from many different data streams - stock tickers, news feeds, video, etc. - and use it to drive stock buying and selling decisions.
While the System S and Watson QA machines use different software, they are both based on the same hardware. In this case, it is the BlueGene/P massively parallel supercomputer, which is based on a processor card that has four 850 MHz single-core PowerPC 450 chips and 2 GB of DDR2 main memory linked by symmetric multiprocessing. A single rack of the BlueGene/P has 1,024 of these four-core processor nodes and is rated at around 13.9 teraflops of number-crunching performance. Of course, not all of the work that the Watson QA machine is doing will be crunching numbers, but processing text and organizing it to speed up how questions to Jeopardy statements are created.
The Watson QA system is based on various forms of textual data (books and other types of authoritative data) that will be pumped into the system and organized based on the general Jeopardy question categories. Most of the system is programmed in Java, according to Ferrucci, but there is a smattering of C++ where performance is critical and Prolog is also used for some of the rules relating to textual analysis.
The parallel processing in the system is not only used to find bits of relevant data quickly, but also to score relevant bits that support it as being part of the question relating to a Jeopardy statement and then to come up with the resulting question and then to assign it a score on how confident the Watson QA system is in its answer.
Sometimes, the Watson machine will not hit the buzzer because it is not confident in the results it gets, and sometimes, it will be confident in the answer and, like the rest of us from time to time, be wrong. One of the tricks, according to Ferrucci, is to determine the optimum amount of information that allows the Watson QA system to come up with the right questions. Too much data (particularly if it is conflicting) can be as bad a thing as too little.
Just like the Deep Blue chess playing supercomputer stored a gazillion possible chess games and moves and sorted through those for the best possible moves based on where it was in a real game, the Watson QA system is being fed with likely statements Jeopardy game host Alex Trebek will make and the possible questions relating to those statements. (In some bases, past Jeopardy statements are being pumped into the machine, in fact). The UIMA framework is what is used to do deep analytics on the raw data ahead of time, and it is also used to parse the statements to "understand" them.
The exact configuration of the Watson QA super has not yet been determined, and it is not clear if the machine will be equipped with electronic ears to hear and speakers to talk as it responds. The machine will be put in the Jeopardy studios and will be disconnected from the Internet - no cheating with Google allowed by humans or computers.
As is always the case with Big Blue, the Jeopardy challenge is ultimately about not just some free PR, but doing some big business. The code behind the Watson QA system will undoubtedly end up front-ending a lot of enterprise applications, wherever decision makers want a little assistance and maybe a second opinion on a decision they want to make. In many cases, it is hard to imagine a computer doing worse than what some living and breather managers have done to businesses, but these people are our relatives and we don't want them living with us.
Here's to hoping that Watson QA gets its clock cleaned by some reigning Jeopardy champs. I am putting my money - and perhaps humanity's future - on Brad Rutter, the five-time and undefeated Jeopardy champ who also won three Jeopardy tournaments. Rutter is a self-described "slacker" from Lancaster, Pennsylvania, who dropped out of Johns Hopkins University and aside from working in a local record store, has made $3.3m playing Jeopardy. I get the feeling I am rooting for the underdog here.
IBM is not pounding its chest just yet on its ability to win the Jeopardy throw-down. But after two years and by throwing the gauntlet down this morning, Big Blue must be pretty confident. So can Watson QA win at Jeopardy? "We'll see," says Ferrucci with a laugh. "We certainly wouldn't be in the game if we didn't think we had a good chance." ®