John C. Dvorak

Readers take note: When you've finished reading this column, I ask you, the reader, if you know of any other dead ends in computer technology. Please contribute your thoughts.—J.C.D.

You've heard of killer apps? How about an app killer? This is what voice recognition has become over the years, because for the most part, it doesn't work. I see no evidence that it ever will, at least not in the sense that we can achieve true voice dictation capability.

What annoys everyone most about voice recognition is that it almost works. This is the problem. When something almost works, developers continue with the same thinking that got them to "almost," rather than starting over with new ideas. We are now stuck in a blind alley.

The key to understanding exactly how far away we are from perfection is driven home by all cognitive software, including language translation, spell-checkers, "smart" OCR, and grammar-checkers. These systems have to pretend to understand some deeper structures than what is immediately presented. This means analyzing both context and meaning. Spell checkers have largely given up on this idea and merely present alternative words that the user chooses. Few spell-checkers even try to assume what you mean, unless a smart one notices that you've made the same mistake before. No spell-checker is good at context rendering, where the software would know you meant "items" when you typed "times." Typos that accidentally spell actual words are ignored by a spell checker.

Attempts have been made to correct this with cognitive software. This was a feature of the Kurzweil OCR system that corrected mistakes in the OCR feed and did a credible job, but like machine language translation, it would sometimes go off the deep end and rewrite something to sound silly. That makes editing more important than ever. The computer is supposed to make our lives easier not more complicated.

Language translation is the most laughable aspect to all this. And I mean laughable as in "if you want to have a good laugh." If you do, run some translations on Google when you get a hit on a non-English page. Google provides a "translate this page" space, which is supposed to give you at least the gist of the information.

I'll describe an example. The following is a translation of a Web site extolling the virtues of the Bordeaux winery, La Mondotte. Google's translation of two French sentences is: "The very muddy clay grounds, made up, rest on a rock substrate. This structure of ground, in addition to which it has required poverty, generates an excellent hydrous regulation and supports the major rooting vigne." The true English translation, based on the English version of the same Web site, is this: "The soil consists largely of clay and silt on a rocky subsoil. The meager soil provides a perfect, regular water supply and forces the vine roots to sink deep into the earth."

In hindsight, you'll find an occasional near hit of accuracy in the French translation. But you realize that only when comparing it to the real meaning. Now imagine reading page after page of such translated gibberish and you'll appreciate how horrible this stuff gets.

We can barely understand how language works, and the structures are apparently too complex to be programmed into a computer. On top of this, language tends to change with idioms and slang. The translation of the French above is a mess, and French is a fairly stable language.

If we can't determine actual meaning with a computer, whether through OCR fixes or machine translation of the written language, how is voice recognition ever going to work? With voice recognition, we are adding another analog component to the mix. This is like doing machine translations of documents that have to be run through OCR initially, and which are all smudged.

One approach has been to try to train software to understand your distinct voice. (The Holy Grail of voice recognition, though, is universal understanding of any voice.) Even with this technique—which is cheating—the process hardly works. I've never found a system that can understand my voice, since I have a voice that lacks a strong midrange. I have low notes and high notes. As far as I can tell, voice recognition concentrates on the easy-to-parse midrange.

Voice recognition systems exist on cell phones that can tell the difference between "Call home" and "Call the office" by comparing two stored sound profiles and seeing which is closest. This is hardly voice recognition, by my definition. You could make the phone recognize a sneeze and differentiate it from the sound of a whoopee cushion in the same way. So what?

Some years ago, IBM was talking about its upcoming human-centric computer that would understand the operator and even talk back to the operator. One day, the notion disappeared. The fact is, voice recognition is still in its infancy; voice dictation is a pipedream. All these technologies are taking so long, because we always assumed that solving these problems was a matter of computer power. We have the power. Apparently they lied. We need a breakthrough, and I don't see one coming any time soon.

What do you think? Add a comment on the feedback forum and tell me if you see any other computer dead ends out there.