Suppose you sit close to me, and you can hear my keyboard stroke. Can you tell what I am typing from the sound of keyboard stroke?
"That is IMPOSSIBLE!", you say.
Assume we are using MSN Messenger now, although we are sitting close, we don't want to break the quiet. So you ask me a question from the MSN Messenger:
"Is today Thanksgiving?"
Then you hear I hit the keyboard 3 times follow by a big stroke, before the message actually send to your computer (because of the God-damned network delay, maybe), you know I am typing:
"yes" and Enter.
"yep" and Enter.
If you hear I hit the keyboard only twice and Enter, then it must be
"no" and Enter
At the beginning you said it is IMPOSSIBLE to tell from the sound of keyborad stroke, but now you are doing great!
Combined with the context and a dictionary and the word pattern, Keyboard sound recognition is possible. Sept 18, CNN reported Computer eavesdropping yields 96 percent accuracy rate
, I can imagine the technology behind it.
First of all, the sound of keyboard stroke for different key are not exactly the same. When people hit the "Enter" key, usually people hit it hard, so the sound is different from others. Also, the "Space" is very different from others too.
People use different strength in different fingers: index finger, middle finger, ring finger, little finger. Also, left hand and right hand have different strength. It is possible for a computer using a good algorithm to tell the difference between them because the volumn will be different. According to CNN's report, the computer had an accuracy of about 60 percent for characters and 20 percent for words.
Second, The pattern of words can help to identify the typing characters. "After spelling and grammar checks were deployed, the accuracy for individual letters jumped to 70 percent and words to 50 percent."
To Be Continued...
Labels: Algorithm, Programming