Teclado Virtual

26
Implementación de un Teclado Virtual con Capacidades Predictivas diseñado para personas con problemas de movilidad IV Congreso de la CiberSociedad 2009 Del 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

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