[Download postscript version]
next up previous
Next: System Architecture Up: Our Approach Previous: Latency Observation

Statistics Model

  For each user, we build up three models: bigram model, trigram model and word-gram model. In the training phase, we insert the data into the three models as we described above. Then we compute the mean and the standard deviation of each index-set of the three models. In the prediction phase, we use the key-strokes gathered from the X server as the input to the three models and compute the prediction.

Index-set prediction: Assume an index-set has a vector of mean μ and a vector of standard deviation σ. Assume the index-set has a normal distribution. (Later we will show that this assumption is valid.) Given a testing point T of x, the probability of the point on the given index-set I P(T∈I) = 1 C[I] ∑exp(- ( xi - μi ) 2 2* σi 2).

Historical prediction: We are monitoring the key strokes of the user continuously. For each new key event, we compute the the index-set prediction according to the key event on the given model. Then we compute the current prediction of whether the key strokes are typed from the user of the model based on the weighted average of the previous prediction and the prediction of the new key strokes. Pcurrent = αPnew + (1-α) Pold. Because a person's typing can be irregular sometimes, it's better to give prediction based on the typing history. The average weight on the history is exponentially decreased as more key events, so any slow-occurring change of typing pattern will be captured by the prediction.


next up previous
Next: System Architecture Up: Our Approach Previous: Latency Observation

Adrian Perrig
Wed Sep 29 17:51:43 PDT 1999