May 1, 2008

Check it out, Predictive text drop down..

So I'm pretty happy with how the Predictive text module is coming. Ranking is still crap, but it's usable, UI wise. Here's a shot for you to see. The mode of operation is dead simple. You type, after you cross 3 letters the dropdown floats under your cursor and as you type more letters the predictive text choices become fewer and fewer. You slap enter to use the highlighted one, arrow up and down to pick another one, or hit escape to get rid of it. It's pretty exiting to see it working. I'm using a really nice dictionary, but there is no ranking to speak of, so for instance if I'm typing "hel" the first choice is helical and not helicopter, which I'd imagine is more popular. I gotta get my greasy hands on an open version of our published n-gram data (which is ranked) and incorporate that, if it makes sense.

The ui isn't perfect, I need to put in a way to clear it when you go up too far or down too far. For instance, if you hit up , say, twice in the above, it should clear it out. Or should I rely on the user trianing themselves to slap escape? Time will tell.


Michael Saunby said...

How about as a first choice giving the last word you typed with the same first three letters?

Chris DiBona said...

That's a fine idea for ranking. I want to make every document you write add to the ranking, just trying to figure out how to normalize it.

ggasp said...

I'd recommend to use the CAPSLOCK key for the selection of the word. I've using this kind of tools for a while and I found that's frequent to mistake actions. For example, if I'm writing in a form (like this one) and I want to press ENTER without finalize (autocomplete) this wo
Well, you get it.
Another recommendation for the UI is make it unobtrusive (without scrollbars and big borders)
It's too early for this but here you get new requeriments:
* Sucesive CAPSLOCKs go down on the list of words
* After a CAPSLOCK selecting a key, the right SHIFT key shows me synonymous.
* Suggest the expanded form for acronyms
* Write CAPTCHA words automatically :D
Good luck!

M said...

The ranking bit is easy. I imagine your're using a statistical markov model to do this. Use the 2-order-markov result for the most probable next word, and implement a function where the user can force alphabetical ordering .

I have a working copy of this written in T-SQL, but I'm missing the front-end. Could be fun to work together on this one ?