Speech Recognition - Ready for Prime Time?
by Jarred Walton on April 21, 2006 9:00 AM EST- Posted in
- Smartphones
- Mobile
Health Considerations
There's at least one more area that can be a direct benefit to many people -- I know it has certainly helped me. Typing on the keyboard for many hours every day is not the healthiest of practices. Every keyboard on the market today carries a warning about repetitive stress injuries (RSI), and with good reason. Not everyone will have problems, and not everyone that has problems will experience the same degree of discomfort. However, the more you type and the older you get, the greater your chance for developing RSI from computer use. Needless to say, I am one of the many people in the world who has developed carpal tunnel syndrome (CTS).
There are many things you can do to try and combat carpal tunnel problems. Some people feel that ergonomic keyboards will help, and at least for me I found it to be more comfortable than a regular keyboard. Getting a better chair and desk will also help -- you want a chair and desk that will put your wrists and hands in the proper position in order to minimize strain; if you're not comfortable sitting at your computer, you should probably invest in a new chair at the very least.
Even with modifications to your work area, though, there's a reasonable chance that you'll still have difficulty. You might consider surgery, but while that will generally help 70% of people initially, many find that discomfort returns within a couple years. The simple fact of the matter is that the best way to avoid RSI complications is to eliminate the repetitive activity that's causing the problem in the first place. That means that if typing on a keyboard is giving you CTS, the best way to alleviate the problem is to not type on a keyboard anymore. That makes it rather difficult to write for a living, as you can imagine.
Of course, it usually isn't necessary to completely stop an activity that's causing RSI. The phrase itself gives you an idea of how to avoid difficulties: avoid excessive repetition. Typing 20 pages of text per day on a computer would probably cause anyone to get CTS eventually. Typing 10 pages per day would probably cause problems for many people, but not for everyone. Typing five pages per day would likely only affect a smaller portion of the population. Finally, if you could cut it down to one or two pages per day, most people would be fine. That brings us to the present topic: speech recognition. Used properly, speech recognition has the potential to eliminate a large portion of your typing, among other things.
Languages are complex enough that learning a new language is always difficult. We spend years growing up in an environment, learning the language, learning the rules, developing our own accent, etc. No two people in the world are going to sound exactly alike, and it goes without saying that everyone makes periodic mistakes in grammar and pronunciation while speaking. Programming a computer so that it understands everything that we say, corrects the mistakes, and gets all the grammar correct as well is a daunting task at best. Nevertheless, speech recognition has so many potential benefits that it is considered one of the Holy Grail landmarks that we want to achieve, and research on the problem has been in progress for decades.
As time has passed, computers have gotten faster and the algorithms have improved, and we're at the point now where real-time speech recognition is actually feasible. Mistakes will still be made, and dealing with different accents and/or speech impediments only serves to make things more difficult, but for many people it is now possible to get accuracy higher than 90%. That isn't that great, as it means one or two mistakes per sentence, but it's a good place to start. I've got a couple pieces of software that purport to achieve higher than 90% accuracy rates after training, so that will allow us to perform some real world benchmarks.
There's at least one more area that can be a direct benefit to many people -- I know it has certainly helped me. Typing on the keyboard for many hours every day is not the healthiest of practices. Every keyboard on the market today carries a warning about repetitive stress injuries (RSI), and with good reason. Not everyone will have problems, and not everyone that has problems will experience the same degree of discomfort. However, the more you type and the older you get, the greater your chance for developing RSI from computer use. Needless to say, I am one of the many people in the world who has developed carpal tunnel syndrome (CTS).
There are many things you can do to try and combat carpal tunnel problems. Some people feel that ergonomic keyboards will help, and at least for me I found it to be more comfortable than a regular keyboard. Getting a better chair and desk will also help -- you want a chair and desk that will put your wrists and hands in the proper position in order to minimize strain; if you're not comfortable sitting at your computer, you should probably invest in a new chair at the very least.
Even with modifications to your work area, though, there's a reasonable chance that you'll still have difficulty. You might consider surgery, but while that will generally help 70% of people initially, many find that discomfort returns within a couple years. The simple fact of the matter is that the best way to avoid RSI complications is to eliminate the repetitive activity that's causing the problem in the first place. That means that if typing on a keyboard is giving you CTS, the best way to alleviate the problem is to not type on a keyboard anymore. That makes it rather difficult to write for a living, as you can imagine.
Of course, it usually isn't necessary to completely stop an activity that's causing RSI. The phrase itself gives you an idea of how to avoid difficulties: avoid excessive repetition. Typing 20 pages of text per day on a computer would probably cause anyone to get CTS eventually. Typing 10 pages per day would probably cause problems for many people, but not for everyone. Typing five pages per day would likely only affect a smaller portion of the population. Finally, if you could cut it down to one or two pages per day, most people would be fine. That brings us to the present topic: speech recognition. Used properly, speech recognition has the potential to eliminate a large portion of your typing, among other things.
Languages are complex enough that learning a new language is always difficult. We spend years growing up in an environment, learning the language, learning the rules, developing our own accent, etc. No two people in the world are going to sound exactly alike, and it goes without saying that everyone makes periodic mistakes in grammar and pronunciation while speaking. Programming a computer so that it understands everything that we say, corrects the mistakes, and gets all the grammar correct as well is a daunting task at best. Nevertheless, speech recognition has so many potential benefits that it is considered one of the Holy Grail landmarks that we want to achieve, and research on the problem has been in progress for decades.
As time has passed, computers have gotten faster and the algorithms have improved, and we're at the point now where real-time speech recognition is actually feasible. Mistakes will still be made, and dealing with different accents and/or speech impediments only serves to make things more difficult, but for many people it is now possible to get accuracy higher than 90%. That isn't that great, as it means one or two mistakes per sentence, but it's a good place to start. I've got a couple pieces of software that purport to achieve higher than 90% accuracy rates after training, so that will allow us to perform some real world benchmarks.
38 Comments
View All Comments
JarredWalton - Sunday, April 23, 2006 - link
Isn't there some comedy routine by an older gentleman that does the whole "verbalize punctuation" shtick? One of the things I might look at in the follow-up article is showing how Dragon does when turning on automatic punctuation. It will attempt to insert periods, commas, and question marks (at least, I think it does question marks) depending on how you speak the text. Obviously, that means you have to be a lot more careful when reading/dictating.I found it more useful to manually dictate my punctuation, since on frequent occasions I will pause midsentence to try and think what I want to say -- or because of some interruption. Basically, as a writer, punctuation is something that I take pretty seriously. DNS does pretty well with getting it right, but it also makes plenty of mistakes.
Admiral Ackbar - Monday, April 24, 2006 - link
Victor Borge. Its called phonetic punctuation. It was one of the funniest things I have ever seen (I had the privelege of seeing him not long before he died).Actually though, it could work and its quicker than actually saying the word period or question mark.
JarredWalton - Tuesday, April 25, 2006 - link
I bet it takes a hell of a lot of practice, too! Especially if you want to speak at a reasonable clip. I remember laughing my butt off at Victor Borge's routine quite a few years ago. On the bright side, more people might learn how to use proper punctuation!You also have to worry about the speech recognition software starting to recognize random noises (like a cough) as actual dictation. That happens already, but usually Dragon is smart enough to realize that my cough was merely a loud noise. Sometimes I get the random "the" from it, though.
Tujan - Saturday, April 22, 2006 - link
I would be interested in knowing exactly what the program does. Something more acknowledged towards its features,interaction ect. Rather than a somewhat comparison between two programs - a somewhat benchmark.For example - you mention command mode. But dont get any further involved with what that encapsulates. That alone,has its limitations Im sure. Yet Im am also sure that many might want to know exactly what it is about. For example Start-My Documents-FolderName-Open...and so on. Is this how it works ? Or something like the HTPC scenario in wich you Query your favorite TV show - "Channel-channel name",..Or 'program name-file name-open'' . For the HTPC.
Everybody should know what a vaccuum cleaner can do for you. Ya know. But what can you do for your vacuum cleaner.
I imagine (note imagine'yes),given speech recognistion what well enough along,you could utilize a command line interface,and programmers would be able to program more quickly,and easily. Other than having your vacuum cleaner attack you ya know,you could do something like 'Dir - listing of directories. Or MD - make directories.
Dont know any programming code,so anything other than exampling DOS command line.STill you could see what Im getting at. Program your HTML for example.
But within the Windows environment,you could ask how well the program takes commands,and multitasks. Since you could use the wave file to do this. and so on.
Im just curious. Dont see a lot of interesting software reviews dealing with the nuts and bolts of the application itself lately.
Try a ram drive with that - take the chains off maybe ?
Ardemus - Friday, April 21, 2006 - link
1) How was the software trained? Were you using "normal" or "dictation" speech paterns?2) Dragon may do much better with a wav over a real time system because it can read ahead and analyze the whole file.
3) Does dragon give up resources when other applications ask for them?
4) What sort of errors were made? How many errors are there after a spell and gramar check in MS word?
5) Can you correct the errors in each program and scan again, to measure the improvement?
6) I've heard that you can overstress and damage your vocal cords through speech recognition (RSI of the voice). Have you researched that?
7) How often did both packages make the same mistakes? If you ran it through both packages in real time minimal mode, then DNS in several different speeds, could you run an algorythm to on the different results to increase accuracy?
Nick Burger
JarredWalton - Friday, April 21, 2006 - link
1 -- Both were trained in the same manner, basically me speaking the text, but doing my best to enunciate words a little better than I might do in the real world. Besides, good fiction is a useful skill to have, particularly if you're speaking with business people.2 -- That's entirely possible. One of the odd things is that the accuracy shown in my dictation benchmarks doesn't seem to correspond with my own personal experience of trying to use the software. It may simply be the way that I speak when trying to write articles, but I find that Microsoft is far worse in normal use. That's not a very scientific method, but I can't emphasize enough how much more difficult I find Microsoft's speech interface is to use.
3 -- Dragon runs as a normal priority process, and when you're dictating with the accuracy set to "medium" it uses 20 to 50% of the processor time (on a single core Athlon 64 2.4 GHz). The memory footprint is pretty large, at about 150 to 200 MB. As far as I can tell, it will not use more than 200 MB -- during testing, I watched RAM usage on the "maximum accuracy" configuration, because I was curious to see if the switch from 1 GB on my old system to 2 GB on my new system would help. It did not. (the total size of my database/voice files is currently just over 300 MB.)
I also noticed on my old system that Dragon requires a fair amount of hard disk access. I was copying several gigabytes of data from one computer to another computer (over gigabit ethernet) and Dragon's responsiveness dropped way off. It was still accurate, but rather than speaking and seeing the text a second or so later, there was a four or five second pause for most sentences.
4 -- I included a link to a zip file in the article for anyone interested in looking at specific errors. The text files were compared using WinDiff, and I manually counted errors. (I was somewhat lenient, in that I allowed "speech-recognition" to match "speech recognition" -- stuff like that.)
5 -- Dragon has definitely been "trained" on the document. Microsoft seems to do its own thing in terms of training, so all I could do is make sure that all of the words used were known by the speech engine. When you make an error using Microsoft's tool, as far as I know you have to correct with the keyboard. You can't just tell it to select the misinterpreted words and provide the correct interpretation. Perhaps it's possible to switch to command mode, tell the application to select something, then switch to dictation mode and give the correct spelling... at that point, you're far better off using the mouse and keyboard, and if you can't use those then you're much better off using Dragon's interface.
6 -- Ithet's entirely possible, and laryngitis certainly doesn't help speech recognition at all. You definitely don't want to get in the habit of speaking really loudly, so it's best to train the software in a somewhat subdued voice (in my opinion). I would say the most important thing is to do everything in moderation; sitting at a computer dictating for 12 hours a day is going to be just as harmful in the long run as sitting at a computer typing 12 hours a day.
bobsmith1492 - Saturday, April 22, 2006 - link
"Besides, good fiction is a good skill to have when... ":P Kind of like Isaac Asimov?
JarredWalton - Saturday, April 22, 2006 - link
See what I get for not proofing carefully? LOL - that's the type of error I get most of the time. "A" for "the" is another common one.Gioron - Friday, April 21, 2006 - link
My brother swears by DNS, but using it myself and watching him use it I just can't stand going that slow. I've gotten to the point where I can type much faster than the speach recognition can handle it, and stopping to correct it just slows things down to a painful level. Of course, I'd probably have to learn to live with it if my wrists started bothering me, but until then...And then there's this bash.org quote:
http://www.bash.org/?34776">http://www.bash.org/?34776
<www666> this is so cool I'm typing with Dragon NaturallySpeaking in mIrc
<www666> no more typing
<LameLLama> www: try "thlash exit"
*** www666 has quit IRC (Leaving)
*** www666 ([email protected]int.ca) has joined #visualbasic
<www666> Hugh Masters
<www666> you basterdes
hans007 - Friday, April 21, 2006 - link
i used speech recognition with office xp when it came out. that was awful.my acura navigation has speech recognition which is also not well, that useful, its still easier to use buttons.
i honestly think it will never be better than just buttons.