Teclado Virtual
Embed Size (px)
Transcript of Teclado Virtual

Implementación de un Teclado Virtual con Capacidades Predictivas diseñado para personas
con problemas de movilidad
IV Congreso de la CiberSociedad 2009Del 12 al 29 de Noviembre
Tomàs Pallejà, Daniel Val, Marcel Tresanchez, Mercè
Teixidó, Alicia
Fernández
del Viso, Carlos
Rebate
y Jordi Palacín

2
Índice
1. Objetivos2. Introducción
1. ¿Qué es un teclado virtual?2. ¿Cómo mover el cursor?3. Problemas de velocidad4. ¿Qué se propone?
3. Algoritmos de predicción4. Implementación del sistema de predicción5. Botones de predicción6. Implementación del teclado virtual7. Validación del sistema de predicción8. Conclusiones

3
Objetivos
• Implementar un teclado virtual pensado para personas con problemas de movilidad– Dotar el teclado con capacidades predictivas– Dotar el teclado con capacidades de aprendizaje
• Reducir el número de pulsaciones y el tiempo necesarios para escribir un texto.

4
Introducción: ¿Qué es un teclado virtual?

5
Introducción: ¿Cómo mover el cursor?
Mouse
TrackBall
Teclado (cursor)
Joystick
Sistemas de visión

6
Introducción: Problemas de velocidad
• La velocidad de escritura se reduce en un 66%• El tiempo necesario se incrementa en un 200%.
• Solución– Disposición de las letras– Capacidades predictivas

7
Introducción: ¿qué se propone?
• Implementar un teclado virtual pensado para personas con problemas de movilidad
• Dotar el teclado con capacidades predictivas:
– Palabra actual
– Palabra siguiente
• Dotar el teclado con capacidades de aprendizaje:
– Nuevas palabras
– Estilo de escritura del usuario

8
Algoritmos de predicción
• Palabra actual (PA)– Se basa en proponer un conjunto de palabras que comiencen con la
misma secuencia de letras tecleadas por el usuario
• Palabra siguiente (PS)– Se basa en proponer un conjunto de palabras que históricamente se
han tecleado con posterioridad a la última palabra escrita

9
Fusión de los métodos
Predicción de palabra actual (PA)Predicción de palabra siguiente (PS)
El objetivo final es que la acción combinada de los distintos algoritmos de predicción incremente la capacidad de acierto del sistema.

10
Implementación del sistema de predicción
• Se aplica predicción PS siempre y cuando no se disponga de ninguna letra de la nueva palabra que se desea escribir.
• Una vez se disponga de alguna letra de la palabra que se desea escribir se busca en la TPS las palabras que comiencen con dichas letras. En caso de no disponer de suficientes palabras se busca en la TPA las palabras que comiencen con dichas letras.
• En cada etapa de predicción se descartan todas aquellas palabras que ya han sido propuestas con anterioridad.

11
Ejemplo de Predicción
Un tractor TPS
un gato 25
un tren 12
un pino 6
TPA
trineo 12
tractor 8
tren 7
Palabras Propuestas

12
Ejemplo de Predicción
Un tractor TPS
un gato 25
un tren 12
un pino 6
TPA
trineo 12
tractor 8
tren 7
Palabras Propuestas
gato
tren
pino

13
Ejemplo de Predicción
Un tractor TPS
un gato 25
un tren 12
un pino 6
TPA
trineo 12
tractor 8
tren 7
Palabras Propuestas
tren
trineo
tractor

14
Ejemplo de Predicción
Un tractor TPS
un gato 25
un tren 12
un pino 6
TPA
trineo 12
tractor 8
tren 7
Palabras Propuestas
tren
trineo
tractor

15
Ejemplo de Predicción
Un tractor TPS
un gato 25
un tren 12
un pino 6
TPA
trineo 12
tractor 8
tren 7
Palabras Propuestas
tren
trineo
tractor
2 pulsaciones
Palabra 7 letras + espacio

16
Botones de predicción
Predicción de palabra siguiente6 botones de predicción: 31%
10 botones el predicción: 36%.
Ganancia: 5%
Predicción de palabra actual
Mayor incremento en el rango de 1 a 5
En el caso de utilizar 6 botones:Un click….... 46% de aciertoTres clicks….. 57% de acierto
Δ
5%

17
Implementación del teclado virtual (I)
• Visual C++• Base de datos
– Autocontenida– Robusta
• Los ficheros .dic hacen referencia a una base de datos o diccionario– El usuario puede utilizar múltiples diccionarios, en función
del idioma o el argot a tratar.– Los diccionarios se actualizan automáticamente sin
necesidad de guardar los cambios.– Se pueden borrar palabras no deseadas o introducidas
por error.

18
Implementación del teclado virtual (II)
Distribución del teclado de símbolos y números
Distribución del teclado QWERTY
4 5 61 2 3

19
Validación del sistema de predicción
• Para realizar la validación del sistema se ha dotado al teclado virtual de un agente con capacidad de:
– Simular la pulsación de las letras a partir de un fichero de texto.– Capacidad de evaluar el acierto de los botones de predicción durante
la escritura, diferenciando el algoritmo responsable de dicho acierto.
• La validación del sistema se ha realizado simulando la escritura de un texto literario de 20.000 palabras.
– Se ha seleccionado el estilo literario por tratarse del peor caso posible debido a su gran riqueza de vocabulario.
– Se ha partido de un archivo de diccionario con la TPA y la TPS sin ninguna palabra ni aprendizaje previo para poner a prueba la capacidad de aprendizaje.

20
Validación del sistema de predicción
1 2 3 4 5no botón 1 2 3 4 5 6
0
10
20
30
40
50
bloquebotón de predicción
utili
zaci
ón (
%)

21
Validación del sistema de predicción
1 2 3 4 5no botón 1 2 3 4 5 6
0
10
20
30
40
50
bloquebotón de predicción
utili
zaci
ón (
%)
Frecuencia de utilización de los botones de predicción en función del número de palabras escritas.
Bloques de 1.000palabras
Primer bloque:40% de palabras
no predichas
El nivel de aciertoaumenta en función
del número depalabras escritas

22
Validación del sistema de predicción
Porcentaje de acierto en función del número de palabras escritas.
Bloques de 1.000palabras
Tendencia incrementalen el acierto

23
Validación del sistema de predicción
Porcentaje de teclas pulsadas en función del número de palabras escritas
Bloques de 1.000palabras
Escritura primer bloque: 77%Escritura último bloque: 58%
Reducción con/sinpredicción: 42%

24
Validación del sistema de predicción
Número de letras a pulsar por palabra escrita.
El 21% de las palabras se escriben con una única
pulsación
El 37% de las palabras se escriben con dos
pulsaciones

25
Conclusiones
• En este trabajo se presenta la implementación de capacidades de predicción en un teclado virtual diseñado específicamente para ser utilizado por personas con algún tipo de discapacidad motriz que les impida utilizar un teclado convencional.
• El sistema se basa en dos tipos de predicciones: palabra actual y palabra siguiente.
• Los resultados obtenidos muestran que un 21% de las palabras se pueden escribir con una única pulsación y que dos pulsaciones bastan para escribir otro 37%, lo que permite ahorrar hasta un 42% de las pulsaciones necesarias para escribir un texto en estilo literario con un sistema predictivo sin entreno previo
• Estos resultados demuestran que la implementación de capacidades de predicción facilita enormemente la labor de escritura de textos en un teclado virtual y, por tanto, facilitaran su uso por parte de una persona con algún tipo de discapacidad motriz que le impida utilizar un teclado físico convencional.

Gracias por su atención
Tomàs Pallejà, Daniel Val, Marcel Tresanchez, Mercè
Teixidó, Alicia
Fernández
del Viso, Carlos
Rebate
y Jordi Palacín
IV Congreso de la CiberSociedad 2009Del 12 al 29 de Noviembre