hypothesis, a Neural Network Topology with
Distance, Angle and Time Gap vectors in the input
layer, and the Error Margin Distance vector between
the typed key and target key in the output layer is
designed. These require a precise measurement on
both input and output parameters. However, given
the difficulty of QWERTY keyboard and its
associated operating system to respond to an
accurate simulation of users’ movement and the
difficulty of a neural network to provide a precise
output, this solution, as it stands, is not practical.
For example, the difference in angle between key ‘S’
Æ key ‘E’ and key ‘S’ Æ key ‘R’ is not significant.
This high precision requirement raises the design
difficulty of a neural network model.
In order to overcome these obstacles, a more
robust neural network model with re-designed
vectors on both input and output layers is developed
in this research. The input of neural network model
uses (x, y) coordinate expression instead of distance
and angle, where x represents x-axis key-distance
(i.e. horizontal distance), and y represents y-axis
key-distance (i.e. vertical distance). X-axis key-
distance refers to a user’s horizontal move toward
the typed key; y-axis key-distance refers to a user’s
vertical move toward the typed key. The time gap
parameter is kept unchanged, which represents the
time difference (ms) between two consecutive key
strokes. When the error margin is calculated, the
coordinate centre lies at the current typed key. When
the distance of last typed key and current typed key
is calculated, the coordinate centre lies at the last
typed key. The sign of key distance will be
determined as soon as the coordinate centre is fixed.
In QWERTY keyboard there are maximum of
six one key-distance keys around each key. The user
investigation records suggest that most of ‘Hitting
Adjacent Key Errors’ occur in an area where the
keys are equal or less than one key-distance away
from the target keys. Therefore, instead of
computing a precise error margin
,tf
dΔ
, the output
of neural network model can be designed as a six-
classes classifier. If one counts the class in a wise-
clock direction according to traditional coordinate,
then, from Figure 7, ‘d’ belongs to class one, ‘e’
belongs to class two and so on. Thus the question
can be interpreted as finding an appropriate neural
network model to solve a classification issue
associated with input vectors: Distance, Angle and
Time Gap.
It is well known that radial basis networks can
require more neurons than standard feedforward
BackPropagation networks, but quite often they can
be designed in a fraction of the time it takes to train
standard feedforward networks. One of Radial basis
networks is Probabilistic Neural Networks (PNN)
which can be used for classification problems. As
PNN is a time-efficient and classification-solving
solution, in this research a 3-N-1 structure model,
i.e. Distance, Angle and Time Gap PNN model
(DATP model) is designed based on PNN to predict
where the target key could possibly lie against the
wrong key press.
The DATP model consists of three layers, input
layer, hidden layer and output layer. The hidden
layer – radbas layer compute the distance between
the input vector and the hidden weights vector, and
then produces a distance vector which indicates how
close the input is against the correct letter. The third
layer would classify the results of radbas layer and
produces the right class.
In this experiment, thirty three ‘Hitting Adjacent
Key Errors’ are identified from log file, and are
converted into the format training dataset manually.
At the same time another ten samples are used as
test samples. Here an example is given to show the
pre-processing procedure,
Figure 8: An example of pre-processing procedure.
The first four lines are extracted from log file.
The line following an arrow is the data transformed
manually from the lines above, which has four
parameters, namely, horizontal distance, vertical
distance, time gap between two consecutive
keystroke, and class.
The first line shows that the horizontal distance
from ‘C’ to ‘J’ is 3.5 key-distances, however, if the
move are from ‘J’ to ‘C’, the key-distance would be
-3.5; the vertical distance is one key-distance; the
time gap from ‘C’ to ‘J’ is 108ms (shown in red) and
the class is ‘4’ as the key ‘H’ is at the left hand side
of key ‘J’. In the case of overlapping keys, a half
key-distance can be counted. For example,
Figure 9: An example of overlapping keys pre-processing.
This is a typical key press with overlapped key
‘G’ and key ‘H’. The time gap between ‘G’ press
and ‘H’ press is 3ms, which is much less than the
ICEIS 2011 - 13th International Conference on Enterprise Information Systems
10