Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yes you can, in theory, solve without training data it can be solved as a graph problem also. #32

Closed
knasim opened this issue Dec 18, 2020 · 1 comment

Comments

@knasim
Copy link

knasim commented Dec 18, 2020

#1. Wish we can add comments in github main project page.

To what you said: "I am pretty sure it is possible to implement a prediction approach that does not require to collect training data at all. Given that the user types a text in a certain known language (e.g. English), the statistical information about N-grams in that language, combined with the similarity metric of the detected keypresses could be enough to detect the text being typed. Effectively, it boils down to breaking a substitution cypher."

My Answer: I could entirely wrong, I usually am. But yes you can solve as I stated earlier as graph problem.
Use case: Given an arbitrary key, a graph of nearby keys can be constructed for each key on the keyboard.
From these graphs, you can analyze the waveforms and developing a ranking to predict which key was pressed from the peaks.
And then store the waveform rank back into the graph making it a weighted graph and tells you which key was pressed.
Ofcourse applying some sophisticated graph techniques. It becomes a combinatorics problem also.
This could improve the "nearby key" approach.

This is a very interesting problem to solve - and the accuracy could be nearly perfected. I wonder if google listens in to our keystrokes to improve their AD algorithms.

From the graphs you can create better training data too ?

@ggerganov
Copy link
Owner

Thanks for the ideas and suggestions. You might want to read my recent post on this topic in the "Discussions" section:

#31

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants