Hacker News new | past | comments | ask | show | jobs | submit login

Patent pending kind? I doubt they are sharing it quite yet but the one beauty of patents is we'll get the entire answer once the patent isn't pending anymore. If I had to imagine though, the algorithm is just accounting for the most likely word to follow the previous wording, that could have been formed by hitting keys that were next to the ones you really hit wrong. I'd like to see how it handles my wanton throwing of swear words in messages to friends. And, the use of l33t speak and text talk.

Example, at 0:45 he swipes to the right and kryuwt turns into letter.

k -> l (k is next to l)

r -> e (r is next to e)

y -> t (y is next to t)

u -> t (u is next to y, which is next to t)

w -> e (w is next to e)

t -> r (t is next to r)

The options are letter, proper, merger and keeper (plus something else further) Given the previous three words "you miss ever" the algorithm uses some prior dictionaries and knows that when talking and saying "you miss every" we get probabilities of of likelihood for each probably word. Letter ends up being 35% as opposed to the 7 percent chance you see any of those other words. ( that last bit of percentage math is an estimation given for the sake of example, in a true text prediction dictionary the percentages are usually small, given the incredibly large amount of words that can and do follow "you miss every" (chance, shot, etc are probably more likely, but not near those letters we kept missing earlier.)

It would seem they've made improvements on that algorithms. I wonder how novel it really is though.




This is pretty much how the stock Android keyboard works. It's been able to spot missed keys since at least Ice Cream Sandwich - e.g. I just typed "kettrt" and it's suggesting "letter" as a correction. Since Jelly Bean it's also had some bigram support too (guesses the next word based on the previous without you typing anything).

Aside from the "typing without a keyboard" part, it's not obvious from the video how Fleksy differs from this, but the focus on blind users probably makes a difference.


But does Android use context clues? iOS can't quite handle the two-letter distance, but it accurately corrects "kryywt" (kryuwt is too far away) without any context.


ah, i forgot about bigrams - that's a really great idea. I wonder if it's packing a huge machine learning library though... wouldn't that take a ton of space? I saw in another comment that it takes a while to start up - maybe that's why


>that could have been formed by hitting keys that were next to the ones you really hit wrong.

Google does this already and I would assume they aren't the only ones.

I once accidentally typed "cinnabd oatterb" into Google, yet it knew I wanted "Command Pattern". Still works today.


The Levenshtein distance, the standard metric for determining how different words are from each other, can easily be modified to change the penalty for different letter replacements. For example, you can say that the penalty for substituting an 'a' for 's' is 1, and 'a' for 'p' is 10 (or whatever).


Boom, there we go - that's the term I was looking for. Awesome!


It might be an application of forward error correction, using the redundancy inherent in written English. Instead of interpreting pressing the 'F' key as the letter 'F' with 100% probability, one could interpret pressing 'F' as meaning a 60% probability of 'F' and 5% probability for each of 'E', 'D', 'C', 'V', 'B', 'G', 'T', 'R' (the surrounding letters on a QWERTY keyboard). Concatenate successive key pressed to form codewords, then use FEC to find the dictionary word which has the maximum likelihood.

Getting fancy, one could use the results to train the system, fine tuning the probabilities as it goes. In this way, it doesn't matter where you type (or even the spacial relationship of the "keys"), as long as the location you use for each letter averages out to be reasonably consistent. In time the system will train itself to so English words come out, meaning the key mappings are probably correct.

For example, one could start typing "QWERTY" style, change to typing "Dvorak" and the system would put out gibberish for a while, then start putting out English again as the probabilities converged.


>we'll get the entire answer once the patent isn't pending anymore //

As an aside A-publication is substantially prior to the grant of the patent, exceptional conditions aside.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: