Implementación de Capacidades
Predictivas en un Teclado Virtual
INTERACCIÓN 2009
X Congreso de Interacción Persona-Ordenador
7,8 y 9 de Septiembre
Tomàs Pallejà, Daniel Val, Marcel Tresanchez, Mercè Teixidó,
Alicia Fernández del Viso, Carlos Rebate y Jordi Palacín
Índice
1. Objetivos
2. Introducción
1.
2.
3.
4.
3.
4.
5.
6.
7.
8.
9.
¿Qué es un teclado virtual?
¿Cómo mover el cursor?
Problemas de velocidad
¿Qué se propone?
Algoritmos de predicción
Implementación del sistema de predicción
Botones de predicción
Implementación del teclado virtual
Validación del sistema de predicción
Video demostrativo
Conclusiones
2
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.
3
Introducción: ¿Qué es un teclado virtual?
4
Introducción: ¿Cómo mover el cursor?
Mouse
TrackBall
Teclado (cursor)
Joystick
Sistemas de visión
5
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
6
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
7
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
8
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.
9
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.
10
Ejemplo de Predicción
Un tractor
Palabras Propuestas
TPS
un
gato
25
un
tren
12
un
pino
6
TPA
trineo
12
tractor
8
tren
7
11
Ejemplo de Predicción
Un tractor
Palabras Propuestas
gato
TPS
un
gato
25
un
tren
12
un
pino
6
TPA
tren
pino
trineo
12
tractor
8
tren
7
12
Ejemplo de Predicción
Un tractor
Palabras Propuestas
tren
TPS
un
gato
25
un
tren
12
un
pino
6
TPA
trineo
tractor
trineo
12
tractor
8
tren
7
13
Ejemplo de Predicción
Un tractor
un
gato
25
un
tren
12
2 pulsaciones
un
pino
6
Palabra 7 letras +
espacio
TPA
Palabras Propuestas
tren
trineo
tractor
TPS
trineo
12
tractor
8
tren
7
14
Botones de predicción
Predicción de palabra siguiente
6 botones de predicción: 31%
10 botones el predicción: 36%.
Ganancia: 5%
Δ 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 acierto
Tres clicks….. 57% de acierto
15
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.
16
Implementación del teclado virtual (II)
Distribución del teclado de
símbolos y números
4
5
6
1
2
3
Distribución del
teclado QWERTY
17
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.
18
Validación del sistema de predicción
19
Validación del sistema de predicción
50
Bloques de 1.000
palabras
utilización (%)
40
Primer bloque:
40% de palabras
no predichas
30
20
El nivel de acierto
aumenta en función
del número de
palabras escritas
10
0
no botón 1
2
3
4
5
botón de predicción
6
1
2
3
4
5
bloque
Frecuencia de utilización de los botones de predicción en
función del número de palabras escritas.
20
Validación del sistema de predicción
Bloques de 1.000
palabras
Tendencia incremental
en el acierto
Porcentaje de acierto en función del número de palabras escritas.
21
Validación del sistema de predicción
Bloques de 1.000
palabras
Escritura primer bloque: 77%
Escritura último bloque: 58%
Reducción con/sin
predicción: 42%
Porcentaje de teclas pulsadas en función del número de palabras escritas
22
Validación del sistema de predicción
El 21% de las palabras se
escriben con una única
pulsación
El 37% de las palabras se
escriben con dos
pulsaciones
Número de letras a pulsar por palabra escrita.
23
Video demostrativo
• Zoom
• Localización
• Botones de predicción
http://www.youtube.com/watch?v=ahPHn3Lnl94
• Carácteres especiales
• Mayúsculas
• Diccionarios
• Escritura
• Reescritura
• Ajuste ventana de trabajo
24
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.
25
Agradecimientos
26
Gracias por su atención
INTERACCIÓN 2009
X Congreso de Interacción Persona-Ordenador
7,8 y 9 de Septiembre
Tomàs Pallejà, Daniel Val, Marcel Tresanchez, Mercè Teixidó,
Alicia Fernández del Viso, Carlos Rebate y Jordi Palacín
Descargar

Un tractor