Rest in Peas: The Unrecognized Death of Speech Recognition (robertfortner.posterous.com)
Speech recognition seems good on a cell phone but accuracy for conversational speech flatlined in 2001--and no one noticed. Computer understanding of language was supposed to lead to artificial intelligence. Now we have need AI to get computers to understand language. Catch 22. We just haven't recognized it yet. (Sorry, Ray Kurzweil.)
86 comments
[ 1.8 ms ] story [ 189 ms ] threadhttp://stratus.research.microsoft.com/mnex/Main.aspx
Speaker-specific characteristics, e.g. accent, by contrast are much harder for recognizers.
I'm guessing that the reason the experiment failed at this hospital is that the language was non-English. In addition, most of the doctors were foreign, speaking with wildly differing accents. Also, many of the doctors would mix two languages when dictating, in addition to the usual Latin terms.
Basically, it was easier to just pay some humans to parse it.
That's the real surprise. It's not a question of computing power.
However, if P=NP then there are better algorithms that can solve the problem. Does P=NP? Nobody knows but to me it seems to be true because when anyone interprets speech they definitely are not searching a 10^570 domain to solve the problem.
It's not happening in space (although hypersonics seem to be getting more real). It's not happening in AI or speech recognition/understanding. It's not happening in medicine.
So the net empirical situation looks like the opposite of what Kurzweil says. Only IT and Moore's Law are going totally nuts. One can conjecture about why, but I think that's conjecture and there aren't deep fundamental principles about scientific and technological progress, at least that we've found so far.
I was very surprised to find that recognition accuracy stopped getting better a long time ago. I do poke fun, but I also think Kurzweil (as I said in the piece) very reasonably believed that Moore's Law would get us a long way to AI. And surprisingly, it hasn't.
I like to think I don't have a stake in the argument and just let what's actual decide whether or not we're going to get to computer understanding of language and/or AI.
We have empirical proof that a discrete amount of hardware (1 brain), is enough to solve the problem.
This is what computers "hear": http://www.ling.ed.ac.uk/images/waveform.gif - in fact, this is ALL they can hear. When you hear 44.1khz, audio, that is 44100 bytes of information (a value between -128 to +127 per byte) per second. There is no hidden metadata behind the waveform. At 100% zoom-level, the waveform IS the audio. Theoretically, you can take a screenshot of a 100% zoomed waveform and convert that to actual sound with absolutely no loss of data (of course, you'd need a really high resolution to show a graph 44100x256 pixels in size. Now given such a waveform, how would you convert that to plain-text?
As an example, try recording "ships" and "chips" into a mic and view the waveform. See if there are any patterns you can identify between the two waveforms. I've done it over a hundred times. There isn't an easy way to discern if the letter was "sh" or "ch". Yet our brain does it so very easily thousands of times every day. So, failing easy pattern recognition, we have to use frequency analysis, DFT, and tons of AI.
My unscientific gut-feeling is that we're going about all of this the wrong way. We are using the wrong tools. Discrete, digital computers will never be able to tackle problems like pattern recognition in their current state. Switching to analog isn't going to improve anything either. I don't know what the correct instruments/devices will be but I know programming them will be very different.
And the claim that it can't be right because computers are discrete is just ludicruous. Neuron firing patterns are just as discrete as bits in a computer; and at the higher level, it doesn't matter much if you're looking at (continuous) firing rates or (continuous) floating-point numbers.
It's not like we hear the waves really. We hear the pitch and volume mainly (proved nicely by playing simple impulses at >10Hz). So it's not like we fail easy pattern recognition on waves. I'd say that it's something we should not be looking at. Ever. Especially when you can have many representations which sound the same (they sound the same, because they look really similar in the frequency domain).
Using the frequency analysis, DFT, etc. is the way to approach it.
Indeed. I meant to say there is no shortcut that immediately makes speech recognition easy to solve. Hence, we have to use a lot of advanced math that works pretty well but like the article says, not as well as a typical human.
However, I don't think humans are that great either. The proof of that becomes evident when working on projects with people from around the world. Ask 10 people from around the world to dictate 10 different paragraphs that the other nine have to write down. I doubt they'll have the 98% accuracy that the article states, especially if there is no domain-constraint. Understanding what the other person says is hard. Put a Texan and South Indian in the same room and see what I mean. Of course, this doesn't mean it's not fun and interesting for computer scientists. It's just hard for most people to realize why the stupid automated voice-attendant can't understand they said "next" and not "six".
RP [0] [1] is an attempt to solve this "regional dialect" problem and from that may lie a clue.
[0] http://www.bbc.co.uk/dna/h2g2/classic/A657560 [1] http://en.wikipedia.org/wiki/Received_Pronunciation
Trivia: "Automatic computer speech recognition now works well when trained to recognize a single voice, and so since 2003, the BBC does live subtitling by having someone re-speak what is being broadcast." (http://en.wikipedia.org/wiki/Closed_captioning)
But I'm pretty sure they started using it globally sometimes, because you can see the recognition quality fall when there's an interview with someone from outside UK.
The example didn't make sense on the level of sentences though. Problems start with homophonic words. Speech is pretty noisy, and there are words whose sounds you can't distinguish even in theory, but which still need to be picked correctly when transcribing speech. My guess is that humans are good at this by reconstructing a word string that roughly matches the sounds heard and seems to be saying something sensible. (You could test this easily by having one person read out computer generated word soup nonsense and have another person listen and transcribe what they hear.)
The big problem with speech recognition would then be that recognizing meaningful messages from the various likely interpretations of the speech sounds is pretty much AI complete for the general case. You could try to do the Google translate approach and use a huge amount of existing text to teach the system about the type of sentences people write a lot, but this is still a bit limited.
Things might work better if the language for the recognized speech is assumed to be somewhat artificial to begin with. There are a lot of stereotypical phrases which the system could know to expect in various professional voice protocols like the ones doctors or aviators use. The system might also work with a computer command language that has a regular grammar by rejecting unparseable interpretations of the speech sounds, but that might not be very comfortable to use.
No speech recognition software that I'm aware of uses the 'raw' waveform, there is always a domain transformation before even beginning analysis, usually to freq/amplitude using FFT.
Google Tech Talk: http://www.youtube.com/watch?v=VdIURAu1-aU
Automatic alignment methods are probably quite hard to implement, given the various coarticulation patterns in the signal depending on context/prosodic position etc.
Could you provide a link to papers or other materials dealing with articulatory features in speech recognition?
I guess I should take another look at Browman/Goldstein's Articulatory Phonology
The problem of speech recognition, it seems clear now, is unsolvable without understanding language, because only with an understanding of language are the ambiguities inherent in speech properly resolved.
But having a workable understanding of language would seem to rely on us having some kind of model of a mind. Mere statistical relations between words or sentence structures aren't enough to map human language into mental models of the world, but having a consistent internal model of the world seems to be the key to understanding language. We disambiguate by minimizing the internal inconsistency.
Having a computational model for such an internal view of the world seems to be a Hard AI problem. We probably won't make much further progress with speech recognition until we've made headway there.
Bear in mind though, that humans significantly outperform machines in tasks where isolated or streams of non-sense syllables are said: i.e. "badagaka" is said and humans can pick out the syllables whereas computers can have a lot of difficulty (in noise in particular).
Computers start approaching human performance most when there is a lot of linguistic context to an utterance. So it appears that humans are doing something other than using semantics.
Another thing I keep wondering about is why so little emphasis is put on dialog. When humans don't understand something, they ask, or offer an interpretation and ask whether it's the right one.
Speech recognition systems don't seem to do that. They say "Sorry, I could not understand what you said. Please repeat". That's not very helpful for the computer of course. It should say: "Huh, Peas? Why would anyone rest in peas for heaven's sake??". Then the human could sharpen his SS and say "PeaCCCEE!!! not peas. I'm not talking about food, I'm talking about dying!".
On the topic of dialog, this is arguably the area that speech recognition has gained in over the last nine years. Prior to 2001 there were not many usable dialog systems and (depending on your definition of "usable") there are many usable dialog systems deployed in call centers around the world.
Most call center dialog systems have a rudimentary system asking for people to repeat things when it doesn't understand. Although, if it asks more than once the callers tend to get very angry.
I find that the speech recognition on my next 1 is adequate 4 basic search queries. I tried old freezes listed in the article as search query. Rest in peace high st correctly. Sb inspiration came out of sudan inspiration. Serve as the installation, remarkably, king out exactly correct. Saving 1 into the phone give me a number instead of a word. Saying recognize speech came out okay.
The problem with speech recognition of long passages things to beat that there is a large amount of information beyond the worst insults. This looks like that speak for example. Humans are also very sensitive to misplaced woods. That would be in the last sentence completely changes the meaning of this. I also found the speaking twin machine feels very natural. I have to stop and pause between each sentence because i can't remember what i'm thinking about.
As you can see from descon and, speech recognition has a long way to go to it. But you can at least sort of get the gist of the conversation.
"This comment is voice-posted from my Nexus One, without edits.
"I find that the speech recognition on my Nexus One is adequate for basic search queries. I tried all the phrases listed in the article as search queries. 'Rest in peace' parsed correctly. 'Serve as the inspiration' came out as 'Sudan inspiration'. 'Serve as the installation', remarkable, came out exactly correct. Saying 'one' into the phone gave me a number instead of a word. Saying 'recognize speech' came out okay.
"The problem with speech recognition of long passages seems to be that there is a large amount of information beyond the words themselves. This looks like netspeak, for example. Humans are also very sensitive to misplaced words. The 'woods' in the last sentence completely changes the meaning of it. I also found that speaking to a machine feels very unnatural. I have to stop and pause between each sentence because I can't remember what I'm thinking about.
"As you can see from this comment, speech recognition has a long way to go before it becomes practical. But you can at least sort of get the gist of the conversation.
http://www.youtube.com/watch?v=IkeC7HpsHxo
Or: you can get the opposite of the intended meaning, e.g., when you said 'UNnatural' it heard 'natural'.
I agree that linguists are sometimes too theory-focussed to notice the data. Pinker's excellent but self-consciously clever The Language Instinct has examples of nested phrases that he claims are understandable - but I can't parse them using my native speech recognition technology (I can parse them using linguistic theory):
The rapidity that the motion that the wing has has is remarkable. ["has" is repeated]
In other words: my native human grammar does not nest arbitrarily; the linguistic theory does. I'm going with the theory being wrong.
Anyway, as has been said, we'll have speech recognition when we have speed comprehension, ie strong AI.
It's not a fair comparison though, because for DNS to work well you a) have to have a good noise canceling microphone and a good aural environment, and b) you have to talk like a newscaster.
The 80% in the article is a very pessimistic figure, in my experience. I guess the question is what they mean by "conversational". If you speak like you would to another fluent speaker of the language, you're bound to fail. The closest I can compare it to is to imagine you're speaking to a foreigner with only basic understanding of the language. The same issues with homophones and inability to correctly separate an utterance into the correct word boundaries trip up human learners, too.
General speech recognition has a long way to go, but it will happen last in speech recognition. Meanwhile, in the real world, speech recognition is noticeably better for everyday use than it was a decade ago.
First, I worked with a quadriplegic engineer who relied on speech recognition. While it wasn't perfect, he certainly did well with it. The trick is that he trained himself as much as he did the computer. He spoke more slowly, and enunciated the places where he knew of problem points. I don't even know how much of this was conscious - I only watched a few times and never asked him.
If we treat our voice recognition similarly, we get much better results.
2. Due to a few too many loud concerts and bars, I have partial hearing loss and can miss words myself. The difference between myself and a computer is that the computer is expected to output immediately rather than being allowed to wait for more context clues, and the computer isn't allowed to interrupt to ask about words.
These two strategies, allowing for a more conversational flow, may be what we need to improve speech recognition.
There are still problems here, but the technology for speech interfaces has gone from terrible to OK in the last seven years. I'm looking forward to seeing where it goes next.
"As with speech recognition, parsing works best inside snug linguistic boxes, like medical terminology, but weakens when you take down the fences holding back the untamed wilds."
No, it did not miss it. It was a core point of its argument; the entire arc of the article is about how we made steady progress on the small cases but crapped out on the general case.
One of the reasons computers aren't good at it yet is sheer lack of computer power. Which forces them to use less context to decide word meanings. There is a reason humans think and remember things mostly in the form of stories, it provides more context for memory and decoding cues.
The article talks about how much computer power has increased over the last decade without any increase in transcription accuracy ("freakish" is the word it uses) without mentioning the fact that it is still enormously behind human processing capabilities.
Whenever I use Goog 411 or Dragon, my results improve if I speak like a standard radio announcer. You know, that kind of jokey, fake lilting voice that they use on car commercials? I hate doing it because I sound like such an ass, but whenever I've done so, Google understands what I'm saying. YMMV.
http://simplebits.com/notebook/2004/01/16/mipellssed-wdors/
Mipellssed Wdors Posted on January 16th, 2004 at 1:44 pm
Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a total mses and you can sitll raed it wouthit a porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe. Amzanig huh?
Filed in: misc