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

  1. Transformación de comandos disponibles a fonemas
  2. Transformación de transcripciones obtenida a fonemas
  3. Cálculo de similitud entre cada par de elementos de las listas
  4. 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

  1. Descripción acerca del propósito y uso de la aplicación
  2. Obtención del perfil del usuario
  3. Instalación y prueba de la herramienta
  4. 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