Una de las preguntas que más nos hacen con respecto a Búsqueda por voz, es: ¿cómo funciona la búsqueda por voz y cómo puede reconocer distintos acentos, pronunciaciones y formas de plantear una búsqueda? La respuesta tiene mucho que ver con el reconocimiento de voz, y su similitud con la traducción automática, que como ya explicamos en un
post anterior, se basa en el aprendizaje automático a partir de ejemplos.
En los sistemas del pasado, había que sentarse y entrenar al sistema por horas antes de que pudiera reconocer algunas palabras – y sólo para el usuario que entrenó al sistema, sin tomar en cuenta otros acentos o formas de pronunciar, ni siquiera otros tonos de voz. Por eso quisimos desarrollar algo que cualquiera pudiera usar de forma inmediata, que sólo haya que hablar para que el sistema etienda enseguida. Entonces, en lugar de depender de una persona hablando por un largo tiempo para entrenar al sistema, nos apoyamos en mucha gente diciendo muchas cosas. De este modo, son nuestros usuarios los que están entrenando al sistema en conjunto.
Me tomaré un momento para explicarles a detalle cómo es que en realidad funciona. Son tres partes las que conforman nuestro modelo de reconocimiento de voz. Primero, está el modelo acústico que mapea todas las maneras posibles en que las ondas sonoras pueden formar fonemas, tales como “ah”, “mm” o “bah”. Esto resulta complicado debido a que la acústica varía mucho dependiendo de qué micrófono se utilice, el sonido ambiental, y cómo se esté sosteniendo el dispositivo, el género y edad de quien habla, e incluso los sonidos previos o posteriores a los que se quieren captar. También existen muchas versiones debido a la gran variedad de acentos y dialectos. Sin embargo, con suficientes ejemplos de habla, podemos modelar cuáles son las formas más probables para formar fonemas. Luego los fonemas se reunen en nuestro modelo léxico, que basicamente es un diccionario sobre cómo pronunciar todas las palabras en un idioma. Esto también toma en cuenta la gran cantidad de diferencias entre acentos – ya que el modelo sabe que existen múltiples maneras de pronunciar las cosas, y sabe cuáles son las más probables. Tanto “sep-ti-embre” como “set-iembre” darán como resultado “septiembre”, porque el modelo sabe que ambas formas son comunes.
Finalmente, las palabras se entretejen como parte de un modelo de lenguaje que indica qué palabras suelen venir después o antes de otras. Podrán existir dos ondas sonoras que suenen muy similar, como “horas” y “moras”, pero si le antecede la frase “pastel de...” el modelo de lenguaje determinará que “moras” es la palabra correcta. Tenemos mucho texto para entrenar al sistema – para Búsqueda por voz, en donde los usuarios le dicen su búsqueda a Google, entrenamos al modelo con más de 230 mil millones de palabras incluidas en consultas reales hechas al buscador. Adicionalmente, cuando el sistema no reconoce correctamente una frase y el usuario lo corrige, se da un proceso de aprendizaje automático que mejora el modelo de lenguaje.
Por supuesto que todo esto se da de forma anónima – nosotros no conservamos los ejemplos de entrenamiento que pudieran ser relacionados con algún hablante en particular, todo se combina dentro de nuestro modelo general. Sin embargo podemos darle la posibilidad a algunos usuarios de tomar la decisión de participar voluntariamente en el proceso de aprendizaje automático. Pueden habilitar esto y nuestro modelo empezará a aprender cómo es que su voz varía en relación a un modelo base – como por ejemplo algún acento marcado o una voz muy grave. El modelo funciona bien incluso sin que tengan que entrenarlo ustedes mismos, pero tienen la opción de ayudarnos a mejorarlo todavía más.
Pueden probar nuestro sistema de búsquedas por voz en un teléfono Android o en la aplicación de
Google Search para iOS o
BlackBerry. En
Android, además de realizar búsquedas, pueden redactar correos con la voz, o hablar dentro de una aplicación en lugar de usar el teclado – lo hemos agregado al teclado de Android para que puedan hablar en casi cualquier lugar en el que podrían escribir. La Búsqueda por voz también está disponible para los usuarios de
Google Chrome desde la computadora de escritorio – por el momento solamente en inglés.
Esta tecnología nos permite entregarles los resultados de búsqueda en un menor tiempo, pero también trabajamos en la integración con otros de nuestros productos, como Google Translate, para ofrecerles la posibilidad de utilizar otros servicios de una forma natural mediante el uso de su voz y desde cualquier dispositivo.