SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
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
Índice

1. Objetivos
2. Introducción
     1.   ¿Qué es un teclado virtual?
     2.   ¿Cómo mover el cursor?
     3.   Problemas de velocidad
     4.   ¿Qué se propone?
3.   Algoritmos de predicción
4.   Implementación del sistema de predicción
5.   Botones de predicción
6.   Implementación del teclado virtual
7.   Validación del sistema de predicción
8.   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
                                   TPS

                         un        gato        25

                         un        tren        12
Palabras Propuestas
                         un        pino        6

                                   TPA

                          trineo          12

                         tractor          8

                          tren            7

                                                    11
Ejemplo de Predicción


Un tractor
                                   TPS

                         un        gato        25

                         un        tren        12
Palabras Propuestas
                         un        pino        6
       gato

       tren                        TPA

       pino               trineo          12

                         tractor          8

                          tren            7

                                                    12
Ejemplo de Predicción


Un tractor
                                   TPS

                         un        gato        25

                         un        tren        12
Palabras Propuestas
                         un        pino        6
       tren

       trineo                      TPA

      tractor             trineo          12

                         tractor          8

                          tren            7

                                                    13
Ejemplo de Predicción


Un tractor
                                   TPS

                         un        gato        25

                         un        tren        12
Palabras Propuestas
                         un        pino        6
       tren

       trineo                      TPA

      tractor             trineo          12

                         tractor          8

                          tren            7

                                                    14
Ejemplo de Predicción


Un tractor
                                        TPS

                             un         gato        25

                             un         tren        12
Palabras Propuestas
                  2 pulsaciones
                             un         pino        6
       tren
                Palabra 7 letras +
       trineo                           TPA
                     espacio
      tractor                 trineo           12

                              tractor          8

                               tren            7

                                                         15
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

                                                                              16
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.

                                                                   17
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


                                                        18
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.


                                                                              19
Validación del sistema de predicción
                                         50


                                         40




                       utilización (%)
                                         30


                                         20


                                         10


                                          0
                                              no botón 1   2       3                                      5
                                                                          4     5    6       2   3   4
                                                                                         1
                                                               botón de predicción               bloque




                                                                                                              20
Validación del sistema de predicción

                  50
                                                                                         Bloques de 1.000
                  40                                                                             palabras

                                                                                           Primer bloque:
utilización (%)




                  30
                                                                                          40% de palabras
                                                                                            no predichas
                  20

                                                                                        El nivel de acierto
                  10                                                                   aumenta en función
                                                                                            del número de
                  0                                                                      palabras escritas
                       no botón 1   2       3                                      5
                                                   4     5    6       2   3   4
                                                                  1
                                        botón de predicción               bloque


             Frecuencia de utilización de los botones de predicción en
             función del número de palabras escritas.

                                                                                                         21
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.

                                                                        22
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
                                                                           23
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.
                                                                        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
Gracias por su atención


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

Más contenido relacionado

Destacado

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destacado (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Implementación de un teclado virtual con predicción

  • 1. 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
  • 2. Índice 1. Objetivos 2. Introducción 1. ¿Qué es un teclado virtual? 2. ¿Cómo mover el cursor? 3. Problemas de velocidad 4. ¿Qué se propone? 3. Algoritmos de predicción 4. Implementación del sistema de predicción 5. Botones de predicción 6. Implementación del teclado virtual 7. Validación del sistema de predicción 8. Conclusiones 2
  • 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. 3
  • 4. Introducción: ¿Qué es un teclado virtual? 4
  • 5. Introducción: ¿Cómo mover el cursor? Mouse TrackBall Teclado (cursor) Joystick Sistemas de visión 5
  • 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 6
  • 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 7
  • 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 8
  • 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. 9
  • 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. 10
  • 11. Ejemplo de Predicción Un tractor TPS un gato 25 un tren 12 Palabras Propuestas un pino 6 TPA trineo 12 tractor 8 tren 7 11
  • 12. Ejemplo de Predicción Un tractor TPS un gato 25 un tren 12 Palabras Propuestas un pino 6 gato tren TPA pino trineo 12 tractor 8 tren 7 12
  • 13. Ejemplo de Predicción Un tractor TPS un gato 25 un tren 12 Palabras Propuestas un pino 6 tren trineo TPA tractor trineo 12 tractor 8 tren 7 13
  • 14. Ejemplo de Predicción Un tractor TPS un gato 25 un tren 12 Palabras Propuestas un pino 6 tren trineo TPA tractor trineo 12 tractor 8 tren 7 14
  • 15. Ejemplo de Predicción Un tractor TPS un gato 25 un tren 12 Palabras Propuestas 2 pulsaciones un pino 6 tren Palabra 7 letras + trineo TPA espacio tractor trineo 12 tractor 8 tren 7 15
  • 16. 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 16
  • 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. 17
  • 18. 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 18
  • 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. 19
  • 20. Validación del sistema de predicción 50 40 utilización (%) 30 20 10 0 no botón 1 2 3 5 4 5 6 2 3 4 1 botón de predicción bloque 20
  • 21. Validación del sistema de predicción 50 Bloques de 1.000 40 palabras Primer bloque: utilización (%) 30 40% de palabras no predichas 20 El nivel de acierto 10 aumenta en función del número de 0 palabras escritas no botón 1 2 3 5 4 5 6 2 3 4 1 botón de predicción bloque Frecuencia de utilización de los botones de predicción en función del número de palabras escritas. 21
  • 22. 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. 22
  • 23. 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 23
  • 24. 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. 24
  • 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. 25
  • 26. Gracias por su atención 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