Navegación web dirigida por comandos de voz

Defensa de trabajo final
Licenciatura en Sistemas
Javier Pérez
Motivación
El acceso y la interacción con los contenidos web se realiza principalmente de forma manual
Dispositivos de interacción
Interfaces
- Teclado
- Mouse
- Botones
- Campos de texto
- Campos de selección
- Barras de desplazamiento
- Vínculos
Motivación
Problemas de accesibilidad web
Discapacidades
El 12.9% de las personas en Argentina posee una discapacidad.
- Discapacidades Visuales
- Discapacidades Auditivas
- Discapacidades Cognitivas
- Discapacidades Motoras

Fuente: INDEC. Población con dificultad o limitación permanente. Censo Nacional de Población, Hogares y Viviendas 2010. Octubre 2014
Motivación
Problemas de accesibilidad web
Discapacidad motora superior
El 3.8% de las personas con una discapacidad permanente posee discapacidad motora superior.
Fuente: INDEC. Población con dificultad o limitación permanente. Censo Nacional de Población, Hogares y Viviendas 2010. Octubre 2014
- Esclerosis múltiples
- Espina Bifida
Lesiones traumáticas
- Lesiones en médula espinal
- Pérdida o daño en los miembros superiores
Enfermedades congénitas
- Parálisis cerebral
- Distrofia muscular
- Artritis
- Enfermedad de Parkinson
Motivación
Problemas de accesibilidad web
Ayudas técnicas
- Magnificadores de Pantalla
- Lectores de Pantalla
- Dispositivos Braille
- Varitas



Linea Braille
Varitas
Motivación
Problemas de accesibilidad web
Ayudas técnicas
Teclados adaptados





Mouse de gran tamaño
Conmutadores
Reconocimiento de voz
Seguimiento ocular
Objetivo Principal
Desarrollar una herramienta que permita a las personas navegar la web mediante el uso exclusivo de comandos de voz.
Interfaces de comandos de voz
Interfaz de voz
Propone un medio de interacción oral mediante el cúal las personas se comunican con los dispositivos de forma natural utilizando exclusivamente la voz.
Al contrario de los otros mecanismos de interacción, donde las personas deben adaptarse al uso de dispositivos artificiales, en la interacción por medio de la voz se invierte los roles, es la computadora quien se ocupa de comprender al ser humano.
Ventajas
- Es natural
- No necesita interacción manual
- Mágia - Acción a larga distancia
Interfaces de comandos de voz
Antecedentes
-
Dispositivos Móviles
-
Industria
-
Aplicaciones de escritorio
-
Aplicaciones web
Inconvenientes de los comandos de voz
-
Complejidad en la implementación
-
Frustrante para los usuarios
-
Para reducir errores es necesario limitar el vocabulario
-
El usuario debe saber o adivinar los comandos disponibles
Modelo de interacción web a través de comandos de voz
Clasificación de funcionalidad presente en la web
| Tipo de funcionalidad | Funcionalidades |
|---|---|
| Funcionalidad exclusiva del navegador | Gestión de pestañas, marcadores, descargas, historial, y sitios más visitados. Control de navegación. Imprimir. Búsqueda de texto en sitio web. |
| Funcionalidad genérica de los sitios web | Elementos que componen los sitios web. Botones, listas de selección de opciones, campos de texto. Reproductor multimedia. |
| Funcionalidad específica de los sitios web | Todas aquellas acciones derivadas de la interacción con un componente web no estándar |
Modelo de interacción web a través de comandos de voz
Soporte de funcionalidad presente en la web
| Soporte de funcionalidad | |
|---|---|
| Exclusiva del navegador | Se analizó, exploró y enumeró todas las acciones que están a disposición del usuario. Luego se le atribuyó a cada una de ellas un comando de voz que la representa. Ejemplo: "agregar a favoritos" |
| Genérica del sitio web | Se analizaron todas las posibilidades de interacción brindadas por los elementos definidos en el estándar HTML y se le atribuyeron a cada una de ellas un comando de voz que la soporta. Ejemplo: "click" + "{referencia_de_elemento}" |
| Específica del sitio web | Soporte a través de: :: Comandos de voz desarrollados para contenido genérico del sitio web. :: Módulos personalizados de comandos de voz. :: Comandos de voz nativos de un sitio web |
Modelo de interacción web a través de comandos de voz
Módulos personalizados de comandos de voz
Mecanismo mediante el cual un usuario mediante la introducción de comandos de voz puede dar soporte de forma personalizada a un conjunto de funcionalidad deseada.
Cada módulo incluido debería detallar por cada comando de voz la evaluación del contexto de ejecución y el código a ejecutar como consecuencia de la invocación del comando.
Comandos de voz nativos de un sitio web
Mecanismo mediante el cual el sitio en forma nativa define instrucciones de voz que desea exponer al usuario.
Un sitio web luego de detectar que se encuentra ante la presencia de un usuario que interactúa a través de comandos de voz, puede exponer las acciones soportadas informando el nombre del comando y el código a ejecutar al ser es invocada.
Extension Handsfree for web
Navega la web utilizando solo tu voz

Extension Handsfree for web
Modelo de arquitectura y flujo de datos

Tecnologías involucradas
-
Chrome extension
- Aplicación Web
- Api de reconocimiento de voz
Extension Handsfree for web
Proceso de ejecución de un comando de voz
- Recepción y envío de señal sonora
- Reconocimiento de voz continuo
- Reconocimiento de voz luego de presionar una tecla
- Recepción de texto resultante
- Resolución de comando de voz
- Obtención de fonemas
- Comparación de comandos
- Identificación de mejor comando
- Márgenes de error
- Ejecución de comando de voz

Extension Handsfree for web
Soporte a funcionalidad exclusiva del navegador
- Abrir un sitio web
- Búsqueda de contenidos en la web
- Gestión de favoritos
- Acceso a sitios más visitados
- Gestión Historial
- Acceso a Descargas
- Búsqueda de texto
- Desplazamientos
- Control de navegación
- Gestion de pestañas
Extension Handsfree for web
Soporte a funcionalidad genérica de los sitios web
- Click y seleccionar
- Interacción con:
- Links
- Botones
- Lista de selección de opciones
- Reproductores multimédia
- Campos de texto
- Campos de selección de fecha
- Campo de selección de color
- Campo de selección de un valor en un rango
Extension Handsfree for web
Soporte a funcionalidad genérica de los sitios web
Módulos personalizados de comandos de voz
Comandos de voz nativos de un sitio web
Extension Handsfree for web
Módulos personalizados de comandos de voz
- Posibilitan la incorporación de comandos de voz personalizados por parte del usuario
- Compatible con la arquitectura modular de la aplicación
- Obtienen acceso a toda la información correspondiente a la sesión del usuario
- Pueden ser cargados y descargados por el usuario en tiempo real
- Permiten:
- Definir nuevos comandos de voz
- Definir nuevos contextos de comandos de voz
- Sobreescribir comandos de voz existentes
- Extender contextos de comandos de voz existentes
- Sobreescribir o definir traducciones en cualquier idioma
Extension Handsfree for web
Comandos de voz nativos de un sitio web
- Posibilitan la incorporación de comandos de voz por parte de un sitio web
- Los comandos de voz se ejecutan en el contexto de ejecución del sitio web
- No obtienen acceso a la información de la sesión del usuario
- Permiten:
- Definir nuevos comandos de voz de forma nativa
- Sobreescribir comandos de voz existentes
Comandos de módulos de la aplicación
Comandos de módulos personalizados
Comandos nativos del sitio web
Prioridad de ejecución
Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Interfaz visual: Feedback


Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Interfaz visual: Marcadores referenciales

Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Interfaz visual: Comandos disponibles según el contexto

Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Interfaz visual: Cuadro de diálogo en pantalla completa

Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Interfaz visual: Cuadro de opciones sobre barra de estado

Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Módulos de comandos de voz
- Contextos
- Comandos
- Eventos
- Jerarquía
- Asistencia al usuario
- Internacionalización
- Carga y descarga
- Acceso a información de la sesión del usuario

Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Asistencia al usuario
- Barra de estado
- Lista de comandos disponibles al mencionar los comandos:
- Ayuda
- Barra de ayuda
- Marcadores
- Panel de administración de la extensión
- Guía de módulos y comandos instalados
- Soporte de múltiples idiomas
- Documentación técnica en sitio web
Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Dificultades en el proceso de reconocimiento
- Implementación de Web Speech API no soporta el uso de gramáticas
- El 99% de las veces no se obtiene una transcripción exactamente igual a los comandos de voz definidos
- Necesidad de inferir la intención del usuario
- Márgenes de error
Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Proceso de inferencia de comando de voz
- Transformación de comandos disponibles a fonemas
- Transformación de transcripciones obtenida a fonemas
- Cálculo de similitud entre cada par de elementos de las listas
- Elección del mejor resultado
Extension Handsfree for web
Desafíos encontrados durante el desarrollo
Transformación de comandos disponibles a fonemas utilizando Metaphone
| Comándo | Fonemas |
|---|---|
| click vínculo | KLKFNKL |
| click botón | KLKBTN |
| click imagen | KLKMJN |
| click video | KLKFT |
Transformación de transcripciones obtenidas luego de decir "click imagen"
| Comándo | Fonemas |
|---|---|
| click imagen | KLKMJN |
| click | KLK |
| clip imagen | KLPMJN |
| click mágico | KLKMJK |
Cálculo de similitud entre cada par de elementos de las listas utilizando Sorensen-Dice
| Fonemas de Transcripción | Fonemas de Comando | Similitud |
|---|---|---|
| KLKMJN | KLKFNKL | 0.36 |
| KLKMJN | KLKBTN | 0.40 |
| KLKMJN | KLKMJN | 1.00 |
| KLKMJN | KLKFT | 0.44 |
| KLK | KLKFNKL | 0.50 |
| KLK | KLKBTN | 0.57 |
| KLK | KLKMJN | 0.57 |
| KLK | KLKFT | 0.66 |
| KLPMJN | KLKFNKL | 0.18 |
| KLPMJN | KLKBTN | 0.20 |
| KLPMJN | KLKMJN | 0.60 |
| KLPMJN | KLKFT | 0.22 |
| KLKMJK | KLKFNKL | 0.36 |
| KLKMJK | KLKBTN | 0.40 |
| KLKMJK | KLKMJN | 0.80 |
| KLKMJK | KLKFT | 0.44 |
| Comándo | Fonemas |
|---|---|
| click vínculo | KLKFNKL |
| click botón | KLKBTN |
| click imagen | KLKMJN |
| click video | KLKFT |
| Transcripciones | Fonemas |
|---|---|
| click imagen | KLKMJN |
| click | KLK |
| clip imagen | KLPMJN |
| click mágico | KLKMJK |
| Comando | Transcripción | Similutd |
|---|---|---|
| Click imagen | Click imagen | 1.00 |
| Click imagen | Click mágico | 0.80 |
| Click | Click video | 0.66 |
| Click imagen | Clip imagen | 0.60 |
Resultados
Extension Handsfree for web
Aspectos a tener en cuenta:
- Reconocimiento de Voz
- Contexto donde el usuario interactua
- Conexión segura
- Destino del sonido capturado
- Permisos solicitados por la herramienta
- Incorporación de módulos personalizados
- Ejecución de comandos nativos de un sitio web
Cuestiones de seguridad
Extension Handsfree for web
Etapas de la evaluación
- Descripción acerca del propósito y uso de la aplicación
- Obtención del perfil del usuario
- Instalación y prueba de la herramienta
- Preguntas acerca de la experiencia de usuario
Pruebas de usabilidad

Participantes de las pruebas
Extension Handsfree for web
Resultados obtenidos
- Grado de complejidad de instalación de la herramienta
- Comprensión del usuario acerca de la utilidad de la aplicación
- Elección del navegador web Google Chrome como plataforma
- Funcionamiento de la extensión en los idiomas soportados
- Velocidad de interacción
- Soporte de comandos de voz apropiados según las necesidades de navegación requeridas por los usuarios
- Comprensión de información contextual
- Grado de acierto correspondiente al reconocimiento de comandos de voz según los distintos oradores
Pruebas de usabilidad
Extension Handsfree for web
Grado de acierto correspondiente al reconocimiento de comandos de voz según los distintos oradores
Pruebas de usabilidad

Extension Handsfree for web
Difusión de la herramienta

Chrome Web Store
Extension Handsfree for web
Difusión de la herramienta
Sitio web www.handsfreeforweb.com

Trabajos Futuros
Posibles lineas de desarrollo
Portación de la herramienta a otras plataformas
Mejoras al reconocimiento de voz
- Mejorar la captura del sonido
- Mejorar el reconocimiento de voz
- Mejorar la inferencia de comandos de voz
Pruebas automatizadas de una interfaz de voz
Repositorio de módulos personalizados de comandos de voz
Mejorar soporte de elementos HTML
Handsfree for Web para personas no videntes
Conclusiones
Los diversos aplicativos capaces de proveer al usuario la capacidad de controlar la computadora a través del uso de la voz, no brindan la posibilidad de interactuar plenamente con los sitios web como lo puede hacer una persona manualmente.
Se desarrolló un modelo navegacional de interacción oral y una herramienta que permite al usuario navegar la web exclusivamente invocando comandos de voz, al mismo tiempo que propone y hace posible un cambio de paradigma de interacción.
Navegación web dirigida por comandos de voz - Tesis
By Javier Perez
Navegación web dirigida por comandos de voz - Tesis
- 453