4 ms·
I am working on such a BCI for with my girlfriend who's a graduate student in cognitive neuroscience. It's actually based on a very simple concept that most p
by simon_acca 9y ago
I am working on such a BCI for with my girlfriend who's a graduate student in cognitive neuroscience.
It's actually based on a very simple concept that most people here will have stumbled upon in algorithms 101: binary search.
The subject is put in an fMRI machine and is looking at a screen like this[0] where the middle word of the dictionary is presented.
The subject can then perform either "inner speech" (singing or reciting in your head) if the word s/he wants to spell is before the one currently displayed, or "mental imagery" (imagining drawing some figure in space) otherwise.
As you probably know the time complexity of binary search is O(log(dictionary_length)) instead of a classic letter speller which would be O(alphabet_length*word_length) so this method is much quicker in most cases.
I would love some HN input on this!
This is a demo that you can play around with: https://sophia.science/biword/ https://sophia.science/biword/ [0]
And this is a complete explanation of the paradigm: https://sophia.science/biword/Biword_poster.pdf https://sophia.science/biword/Biword_poster.pdf
- yorwba 9y agoFrom the description, it sounds like you are not taking the difference in frequency between words into account. I think you might be able to improve the average number of choices by splitting at the median position, such that the correct word is equally likely to be before or after it in the dictionary. Edit: You could also combine that with a language model to condition the probability of words on the preceding context, similar to how a phone keyboard recommends completions. Maybe the gains aren't big when you're still limited to selection by dictionary order, but it might be worth trying out.
- simon_acca 9y ago> From the description... Thanks, that is an interesting hypothesis, I had not considered it. The number of choices you have to go trough though should grow with the inverse of the frequency of the word, that means you could have to go trough an inordinate amount of choices to get to an unlikely word... luckily with such "stateless" paradigms I can just simulate it for every single word! > Edit: You could also... This is exactly the improvement we are currently working on!
- SilasX 9y agoI had a similar idea from several years ago, to combine some BCI with Dasher, which predictively adapts the choices it gives you based on the patterns of the language, to make up for the limited interface. I experimented with the OCZ Neural Impulse Actuator but could never reliably control it.