Posted
by
Soulskill
on Monday May 03, 2010 @04:07PM
from the yale-in-ox-boom-i-crows-off dept.

An anonymous reader writes "Speech recognition accuracy flatlined years ago. It works great for small vocabularies on your cell phone, but basically, computers still can't understand language. Prospects for AI are dimmed, and we seem to need AI for computers to make progress in this area. Time to rewrite the story of the future. From the article: 'The language universe is large, Google's trillion words a mere scrawl on its surface. One estimate puts the number of possible sentences at 10^570. Through constant talking and writing, more of the possibilities of language enter into our possession. But plenty of unanticipated combinations remain, which force speech recognizers into risky guesses. Even where data are lush, picking what's most likely can be a mistake because meaning often pools in a key word or two. Recognition systems, by going with the "best" bet, are prone to interpret the meaning-rich terms as more common but similar-sounding words, draining sense from the sentence.'"

There's nothing special about computers though, people have to do that with other people... lets not kid ourselves into thinking that humans are immune to misunderstandings. No, the more you get to know someone, the way they think and express theirselves, the better you can become at communicating with them. Different words to different people have different connotations. It can take a lot of work to get all these down, and it'd be no different with a computer. For effective communication, you'd train and build up a common language with it, that might seem nonsense to outsiders... and I, for one, welcome this.

Actually I went to Buffalo one time to try to get a picture of this occurring to put on the wikipedia page. Its harder than you'd think since the skyline isnt that huge and buffalo do alot of nothing most of the time. But here's one of Buffalo buffalo about to buffalo Buffalo buffalo that's thinking about buffaloing Buffalo buffalo.

I think you're probably about 10-20 years out of date with your criticism. AI these days is *all about* statistical machine learning which is *all about* data and not about formal or expert systems at all. This is what Google and others are doing. The AI you are describing is from the late 80s and early 90s.

Neural networks are part of the story, but many of the ideas from ANNs have been improved upon when more structured settings are available. There is actually a resurgence right now in deep neural network though.

When you have lots of data, you don't have to build any "expert" knowledge into a learner.

This isn't really quite so clear cut. Feature engineering, model structure, model training techniques, and so on all bias statistical learners towards different parts of the hypothesis space. Hidden markov models (the standard in speech recognition) clearly constitute a data-driven approach, but usually they predict diphones (which appreciates the transitions between speech sounds) rather than phones themselves. That is, "cat" is recognized not by predicting a [k] followed by an [ae] followed by a [t], but

Most people won't be able to parse the sentence, though. I know I can't. I have no idea how to interpret it as anything but a string of nouns. My guess is, even fewer would be able to parse it if spoken (the capitals and the comma are, I assume, important hints). It'd be unrealistic and unproductive to require speech systems to actually do better than most humans on the task; if many of us can't parse the sentence then why expect a computer to do so?

Better overall benchmark: require it to have the ability of a competent but not perfect second-language user. We're long used to dealing with that level of proficiency, whether because the conversant is a foreigner, a child, or has a dialect very different from our own.

I'd never heard this one before, guess it's the American version! The one I was taught was a complaint by a pub landlord to their sign writer:You've left too much space between pig and and and and and whistle

My own hearing is not great. I often miss just a word or two in a sentence. But they are often key words, and missing them leaves the sentence meaningless. If I counted the words I understand correctly I'd probably have a 95% success rate. But if I counted the sentences I understand correctly, I'd be around 80%. So I get by, but I tend to annoy people when I ask for repeats over one missed word.

My own... is not great. I often miss... a word or two in a sentence. But they are often... words, and missing them leaves... sentence meaningless. If I counted the words I understand... I'd probably have a 95% success rate. But if I counted the... I understand correctly, I'd be around...%. So I get by, but... tend to annoy people when I ask for... over one missed word.

HAL's speech recognition and morality programming* combined to give the famous reply, "I'm sorry, Dave. I'm afraid I can't do that." HAL knew certain things would have been too titillating to an all-ages film audience in 1968.

* Only for the film version. In the book version, it would have caused undue frustration to the reader, unable to see what Bowman was viewing. In that case, it was HAL's etiquette programming.

We might get to the point where we can write text messages by speaking, then the person on the other end could have them read aloud by a computer. That would be so awesome. Maybe some day we'll be able to transfer the actual sound of our voices.

Natural language processing *is* AI. And high accuracy speech recognition requires natural language processing if we expect to have accuracy rates approaching that of a human. Humans hear words partially or incorrectly all the time. We fill in the gaps from context, and we correct if the course of the conversation reveals that the original interpretation is wrong. Expecting computers to do better, when half the time the problem is the speaker, not the listener, means you need it to be able to make the same corrections from limited information on the fly, and after the fact that a human brain makes.

Just as an example, my father is partially deaf. No hearing in one ear, and less than a quarter of human baseline in the other. But with a hearing aid (which still doesn't get him to full functionality), he gets 95% accuracy or better in regular conversation, and it gets better as the conversation progresses. It's not because the hearing aid is fixing the underlying problem (it can't, since the problem is in the inner ear). But if he knows the general topic, and picks up on 50% of the phonemes, he can fill in the blanks and figure out the gist of the sentence, despite hearing it in bits and pieces. As the conversation progresses, his accuracy improves because he is supplying the prompts; if the responses fall into the set of "expected" responses, filling in the gaps becomes even easier. By contrast, if you change topics abruptly or go off on a tangent, you may need to repeat yourself half a dozen times. Now a computer will have better "hearing", but if it doesn't know the topic before you start, it's going to have the same problem anytime you slur a word, elide a syllable, or clear your throat mid-sentence. People expect to speak to a computer and have it understand, forgetting that people aren't usually expected to interpret a sentence in isolation, with no idea of the topic.

Exactly... In order to do anything more than just "the word that was just spoken was 'x'", you need contextual and object clues. Hofstadter did a great job talking about this in his book Gödel, Escher, Bach: An Eternal Golden Braid. Right now, computers can do nothing more than simple symbol lookups. Speech recognition tries to find the word that matches the vocal pattern. So when it stumbles, the result is useless (the same goes for OCR). With contextual recognition, it can more accurately guess

That misheard lyric is so common that there's a book about misheard lyrics with that as the title.

I know! A surprising number of people think Hendrix was talking about kissing the sky, rather than embracing the experimental, counter-culture, and free-love nature of the 60's, simply because they don't like to think of their testosterone-filled hero sucking face with another dude. Like, get over it! "Kiss the sky" doesn't even make any sense unless you're on some kind of mind-altering substance, and there's no way Jimmy would have put something like that in his body!

Hmm... I guess I don't have that since I don't know what it is. That's okay, I can find out with the help of my AI using the latest in voice recognition software! Computer, what is "poetry"?

Computer: "Poetry" is a form of literary art, frequently using an organized metric and rhyme scheme, that attempts to evoke an emotional response in the reader through the use of metaphor.

Huh, okay, that's interesting. But computer, what is a metaphor?

Computer: A "meta" is for people who lack the capabilities to contribute directly to a field or endeavor, but who still wish to sound educated and useful by discussing the nature of the field or endeavor itself. Example: "Physics has way too much math for me, but meta-physics is right up my alley!"

That misheard lyric is so common that there's a book about misheard lyrics with that as the title.

--
BMO

Their was a Tool song my friends and I argued over the lyrics of for quite some time. Think it was the prison sex song. I was sure it said, "...my lamb and martyr, this will be over soon...". My friends were sure the song was, "...my loving mother, this will be over soon...". Considering the topic of the song I suppose it could have had yet another level of depravity to it with the whole mom/incest angle, my perverted friends sure thought so, even though I didn't think it made much sense.

Well, I checked a few pages worth of content on that site, and I must say it looks like most of these "misheard" lyrics are people trying to make a funny (often sex related) joke (or are simply lacking the correct vocabulary knowledge) instead of actually mishearing the lyric. Some of the songs on that list have lyrics that are so clear it's near impossible to hear them wrong. I certainly didn't find any that I heard wrong.

What a completely useless metric. It makes sense to examine the context and meaning of speech in order to accurately transcribe words, but the number of possible sentences doesn't seem to accurately describe the problem here...

People underestimate the value of training - we do it subconsciously when we meet people with different accents or vocal tones. At first people are hard to understand, but given an hour or so talking to someone, you eventually stop noticing their accent. Windows 7 seems to do a really good job at learning from use (it learns even without explicit training when you make corrections). I have windows 7 tablet and the voice recognition is impressive. Its handwriting recognition is even better than mine when it comes to my writing (it benefits from knowing the directions and order of strokes) - I just scratch out something vaguely resembling something I want to write and it seems to recognize it almost 100% of the time.

I doubt it is completely dead. I have yet to hear it from the researchers working on AI. I work in affective computing, so I am thinking that it is possible that the missing component could be emotion or another way to increase the understanding and ability of computers to learn. In addition, even if it is not possible to increase speech recognition capabilities in this model of computing, in another model of computing this and more would be possible.
I am not believing it until I hear it from researchers

A few years back I worked for an awesome company that did a IVR (interactive voice recording) systems.

We had voice driven interactive systems that would provide the caller with a variety of different mental health tests (we work a lot with identifying depression, early onset dementia, Alzheimer, and other cognitive issues.

The voice recognition wasn't perfect, but we had a review system that dealt with a "gold standard". I wrote a tool that would allow a human being to identify individual words and to label them. Then we would run a number of different voice recognition systems against the same audio chunk and compare their output to the human version. It effectively allowed us to unit test our changes to the voice recognition software.

Dialing in a voice recognition system is an amazing process. The amount of properties, dictionaries, scripting, and sentence forming engines are mind blowing.

Two of the hardest tests for our system were things like: Count from 1 to 20 alternating between numbers and letters as fast as you can, for example 1-A-2-B-3-C. And list every animal you can think of.

The 1-A-2-B was killer because when people speak quickly, their words merge. You literally start creating the sound of the A while the end of the 1 is still coming. It makes it extremely difficult to identify word breaks and actual words. And if you dial in a system specifically to parse that, you'll wind up with issues parsing slower sentences.

The all animals question had a similar issue, people would slur their words together, and the dictionary was huge. It was even more challenging when one of the studies that was nation wide. We had to deal with phonetic spellings from the north east coast and southern states accents. What was even worse was that there was no sentences. We couldn't count on predictive dictionary work to identify the most likely word out of those that would match the phonetics.

That said, getting voice recognition to work on pre-scripted commands and sentences was pretty easy.

And I can only imagine the process has been improving in the years since. Although we were looking into SMS based options, not for a dislike of IVR, but because our usage studies with children were showing most of them were skipping the voice system and using the key pad anyway. So why bother with IVR if the study's target demographic was the youth.

Speech recognition mechanisms/algorithms are not entirelythe problem. What needs to back them up is called a "worldmodel," and, as the name implies, this can be large and openended. Humans being able to correct spoken/heard errorson the fly is because of having an underlying world model.

speech recognition requires training because it lies on Machine Learning algorithms. Nobody has time to train their computer. I mean, even us humans need 2-3 years of such "training" in order to start recognizing words.

Intelligence is basically composed of pattern recognition, with two general categories. One) Specific pattern recognition is logic, math, etc. It requires incredibally exact matches. Yes or no. 1.0, not 1.00001. Computers are very very good at that.

Two) General pattern recognition is creativity, art appreciation, and our capacity to invent. It requires people to ignore a ton of irrelevant data and instea focus on only one aspect of identity, reco

Futurists should really learn what the word "plateau" means. The death of any given technical progression, particularly one that deals with information procesing, tends to be announced early and often, right up to the point where progress becomes meaningful again and then all of a sudden everyone saw it coming, and oh by the way where's my flying car?

Don't tell the people actually doing it. They don't know that the author of this piece says it won't work. So they keep making it work. We don't want to upset them. Ssssh.
Speech recognition and translation is becoming a highly effective and proficient tool for the US military. You see it fit's in your iPod... and... well translates. info here [physorg.com] Kinda puts the knosh on this article. Speech recognition as a part of translation is a new application of the tech that is growing by leaps and bounds. 10 y

I see a lot of claims, but not much evidence. If we're going to use perceptions and anecdotes as evidence, my impression is that speech recognition has always been considered vaguely stalled. In 2000, people didn't think much progress had been made since 1991 besides some commercialization of stuff academia already knew how to do. In 2010, this guy doesn't think much progress has been made since 2001 besides some commercialization of stuff academia already knew how to do. Yet I think some progress has been made over the past 20 years. There just haven't been any breakthroughs, which is maybe what he's expecting, given his vague suggestion that "AI", a pretty vague concept, is our hope.

I'm also skeptical that accuracy has flatlined, though it's possible that's true in some areas. My impression is that multi-speaker recognition, use of large corpora to improve accuracy, and use of language modeling to improve accuracy, have all improved [google.com] over the past 10 years. Of course, not all improvements go everywhere: the speech recognition running in real-time on a mobile ARM processor is not using every possible state-of-the-art technique. The advance there is that you can run speech recognition in real-time on a mobile ARM processor at all, and get performance that was once only possible on pretty hefty workstations.

It works great for small vocabularies on your cell phone if you happen to live in the same neighbourhood as the developer where "everyone talks this way". For the rest of the world, attempting to talk with a nasal American twang in order to get the phone to understand you, is shit.

Blame Startrek for making it look flawless. Speech recognition is just like fusion technology, 20 years away from properly working - just like it has been for the last 20 years.

-RANT- I cant stand voice recognition systems that don't at least give you an option to press a number. Especially when they are out of tune and pick up back ground noises as voice. Please, please, please - always give the option to press a number instead of having to voice everything!!

How hard is it for a computer to understand the sentence: "Tea, Earl Grey, Hot"? That takes care of 90% of the use case scenarios right there. Next is "Computer, initiate auto-destruct sequence" is the next 8%.

This blog post is retarded. The author is correlating a drop in internet news articles about Dragon NaturallySpeaking with a flatlining of speech recognition accuracy rate.

The Slashdot editor Soulskill is retarded for both not realizing this and for not reading the anonymously-submitted blog post (hmm no way it could have been the author) before approving it for the Slashdot front page. The guy is just out for more traffic to his rather pointless tech news commentary blog.

Automated data input is always tricky. Basically the technology is type it on a keyboard or use voice recognition software or dictate and pay someone to type it in a computer. When people talk about voice recognition they are think the it is competing against typing it in yourself, but it most is competing against paying someone else to type it in.

My understanding, from the people that use Dragon, it competes well against paying someone else to type. First it is a couple of orders cheaper. Second, if

Any discussion of the history of speech recognition is incomplete without a reference to Microsoft's famous Windows Vista "double the killer delete select all" botch-up: http://www.youtube.com/watch?v=klU2zt1KdUY [youtube.com]

The word "data" is a plural countable noun. "Datum" is the singular form thereof. Plural countable nouns take the copula "are". Singular countable nouns take the copula "is". The sentence you quoted was thus grammatically correct: a datum "is", but data "are".

Though I admit, the treatment of "data" as a mass noun (the likes of which take the copula "is" as well) is common enough that it did sound jarring to my own ear, even knowing it was technically correct.

There won't be any meaningful development in speech recognition (or machine translation) until context is taken seriously.
Context is an inseparable part of speech.
Right now the problem being solved is audio->text. This is the wrong problem, and why the results are so lame. The real problem is audio+context->text+new context. This takes some pretty intelligent computing and not the same old probabilistic approaches.

Long ago - decades, before Bill Gates was invented, a lot of research went into what would be required for actual voice recognition.

A counterexample was given, about an engineering marvel (of the time) that would recognise when someone said the word "watermelon". For a long time, people in the industry assumed that the path to voice recognition consisted of building more and better watermelon boxes.

Several authors, including Alan Turing himself, argued that actual voice recognition could never be accomplished with a large array of watermelon boxes. Current VR software divides input into a series of hyperplanes, and attempts to build a best match from the classification tree.

THis is the 2010 version of the watermelon box.

Real voice recognition won't be practical until the input is parsed, matched against context, and structured much akin to diagramming a sentence in those old English (or other) classes. In short, matching against a vocabulary is trying to solve an exponential problem with a (large) polynomial engine.

It won't be until the computer actually understands what is said that VR is likely to be practical in a global sense.

As a person who has been building computer systems for 35 years, it bothers me to see a huge body of research done into subjects like these ignored, because someone thinks that none of it applies to PC's.

People were doing symbolic context recognition in the 60's-80's (look up frames). This went out of vogue with the use of neural nets and statistical recognition in the late 80's and continues up to this day. The problem is that getting better now probably needs new probabilistic models for symbolic context recognition, feeding up from statistical recognition of phonemes and words, feeding forward to later phrases being parsed. This would require either two teams, or one team with expertise in both areas.

I know it's just an imaginary example of how bad text-to-speech is... but it is realistic and disappointing.

Even an idiot like me knows what Markov chain [wikipedia.org] is. Perhaps the standard voice apps are so entrenched they're not recoding their apps to take advantage of huge leaps in memory capacity compared to when they first started selling.

English, I would think is a pretty daunting language for speech recognition, what with a substantial array of homophones, but I wonder if other languages fare better. Maybe Spanish or, say, Japanese would be better since (I'm guessing) there is a closer relation to the written script and the actual sound that it makes.

I have been flamed more than a few times around here for suggesting Computer Science has not got a clue what they are doing when it comes to AI. Philosophy has been at this problem and more for the better part of the last 400+ years (more like a 1,000 years) in a serious way. The stock b.s., I get from the science fiction fan boys is that somehow natural language is a problem that can just be brute forced as if you were trying to figure out the password you forgot to your email account. Good luck with that.

By the way, language "recognition" by a computer is likly the easy part of the problem for AI researchers to crack. It is still not going to yield any real AI, just better cars and toasters.

When I started on my Ph.D., I started out majoring in AI. One of several reasons I changed to computer architecture (CPU design, etc.) is because I just couldn't stand the broken ways that people were doing stuff. Actually computer vision stuff isn't so bad -- at least there's room for advancement. But the speech recognition state of the art is just awful. I couldn't stand the way they did much of anything in pursuit of human language understanding.

With automatic speech recognition (ASR), the first problem is the MFCCs. (Mel-frequency cepstral coefficients.) What they essentially do is take a fourier transform of a fourier transform of the data. This filters out not only amplitude but also frequency, leaving you only with the relative pattern of frequency. Think of this as analogous to taking a second derivative, where all you get is accelerating, leaving out position and velocity. You lose a LOT of information. Then once the MFCC's are computed, they're divided up into the top 13 (or so) dominant MFCCs, plus the first and second step-wise derivatives, giving you a 39D vector. Then the top N most common ones are tallied, and code-booked, mapping the rest to the nearest codes, leaving you with a relatively small number of codes (maybe a few hundred).

So to start with, the signal processing is half deaf, throwing away most of the information. I get why they do it, because it's speaker independent, but you completely lose some VERY valuable information, like prosodic stress, which would be very useful to help with word segmentation. Instead, they try to guess it from statistical models.

Next, they apply a hidden Markov model (HMM). Instead of inferring phones from the signal, the way they model it is as a sequence of hidden states (the phones) that cause the observations (the codes). This statistical model seems kinda backwards, although it works quite well, when trained properly. To train it, you need a lot of labeled data, where people have taken lots of speech recordings and manually labeled the phonetic segments. What is usually learned is mostly a unigram, where what you know are the a priori probabilities of each phone label (the hidden states), and the posterior probability of each phone given each possible prior phone. Given a sequence of codes, you find the most likely sequence of phones by computing the viterbi path through the HMM.

Honestly, I can't complain too much about the HMM. What I do complain about is the fact that the "cutting edge" is to replace the HMM with a markov random field (just remove the arrows from the HMM), and conditional random fields (which are markov random fields with extra inputs).

My response to using MRFs and CRFs is "big whoop", because all you're doing is replacing the statistical model, which doesn't dramatically improve recognition performance, because they haven't fixed the underlying problem with the signal processing.

Then on top of the phone HMM, they layer ANOTHER HMM on top of it to infer words and word boundaries, based on a highly inaccurate phone sequence.

The main problem with all of this is not that the reseachers are idiots. They're not. The problem is that the people with the funding are totally unwilling to fund anything really interesting or revolutionary. The existing methods "work", so the funding sources figure that we can just make incremental changes to existing technologies. Which is wrong. Unfortunately, any radically new technology would be highly experimental, with a high risk of failure, and would take a long time to develop. No one wants to fund anything that iffy. As a result, all the scientists working in this are spend their time on nothing but boring tweaks of a broken but "proven" reasonably effective technology.

So I don't blame people for the conundrum, but I see no opportunity to do anything interesting, so I just couldn't stand studying it.

Years ago I used viavoice on Warp4, and it had a pretty decend [sic] recognitation [sic] rate..

Did you have to 'train' it to your voice using a script and a series of corrections, or did it have 'natural' speech recognition from the get-go, the way you do when you chat with a cashier at the supermarket?

As if we're ever going to get away from training speech recognition programs when we train listeners every day when we speak. It's just that most people don't look at it as being trained, since we're so used to doing it.

I'm sure you have more trouble understanding someone with a thick Cockney or Scottish accent if you're from the Midwest US. You'd ask that person to repeat a few times, wouldn't you?

To expect speech recognition programs to *not* use training is to expect them to exceed human intelligence. Indeed, it's to expect such programs to be psychic.

Only you talk like you. There is no archive of speech large enough to encompass every speaker of a language except one that has a record of each and every speaker. And it still doesn't solve the teaching problem. The shotgun approach is problematic in many ways, most of all the size of the database and you'd still wind up teaching the speech platform to find what accent you're using, because if you ask most people, they don't have any accents at all.

No, I won't to use a common dataset to train all software automatically, like VoxForge. What I was saying is that people don't need training to talk to each person they meet. A generic background training works fine, and so it should for computers.

When talking to someone else, we can politely stop them and ask : "Sorry, what did you say?"

That dosen't always work. When accents and the command of a language are so poor, you only get a few chances to ask, "Sorry, what did you say?" After asking three times, you either look like an asshole and/or give up and spend the next few minutes nodding and smiling before trying to parse what they said, hoping you get it right.

Which is why we need good speech-recognition and translation software. It's easy to