This is a technology demonstration for how to implement a fuzzy words matching like Minuum Or Fleksy input method
Minuum and Fleksy input method is so cool, and I am interested in how they can do a crazy fuzzy words matching. I do a lot of google search, but can not find the details of the real. The most valuable clues is http://minuum.com/model-your-users-algorithms-behind-the-minuum-keyboard/, the language model
is not very hard for me, but the spatial model
is a new concept for me. After a long time of learning process, I found the magic for spatial model
-- k-nearest neighbors algorithm of Machine Learning
. And I wrote the concept prototype code for spatial model
for Python version, before run it, you should install numpy
and sklearn
module, and then you can play with it :)
for iOS version, just compile and run it :)