El registro en este foro no incluye alta en el Club. Para altas en el Club Tesla Oficial sigue este enlace

Foro: Club Tesla España

Accede aquí a la web oficial del Club

Valen

*
  • ****
  • 282
    • Ver Perfil
    • Control of Machines
Explicación del funcionamiento de los comandos de voz.
« en: 09 de Abril de 2020, 12:43:39 pm »
Funcionamiento del reconocimiento de comandos de voz.
En este post vamos a explicar cómo se crea un sistema de reconocimiento de comandos de voz, cómo se entrena y cómo se mejora con los comandos que se captan en los coches de los usuarios, una vez implantado.

Voy a suponer que se usa la plataforma DialogFlow.
https://dialogflow.com/
Es una plataforma gratuita de Google. Todas funcionan de forma semejante. En su página web explican que se usa en todo tipo de dispositivos, incluidos coches.

Paso 1) Se crea el proyecto en la plataforma DialogFlow.
Creamos el proyecto y definimos, de forma genérica, las órdenes que queremos atender:
- Enciende las luces de cruce.
- Abre el frunk.
- etc…….

2) Para cada frase, se definen las palabras clave,
Es decir, las que identifican unívocamente el comando.

Se crea para ellas una lista de sinónimos tan grande como se nos ocurra.
Enciende: conectar, conecta, activar, activa.
Cruce: cortas, corta.
Abre: abrir, liberar.
Frunk: maletero delantero.
Como “etiquetas” identificativas se usarán: Cruce, Abre, Frunk, de forma que, posteriormente, en el reconocimiento de voz, cada vez que aparezca un sinónimo, se le añada de esta etiqueta identificativa.

3) Para cada frase, se crean ejemplos de frases equivalentes.
- Enciende las luces de cruce.
- Conecta las luces cortas.
- Enciende cruce.
- etc.
(Fijarse que los sinónimos hacen que todas estas frases sean equivalentes).

4) Desarrollo del software que se ejecuta en el ordenador del coche.
Éste software se conecta a nuestro proyecto en DialogFlow usando una clave de autenticación que se creó con el proyecto.

4.a) Cuando el conductor dice un comando de voz, el software del coche lo graba y lo envía a la plataforma DialogFlow.
Esta lo convierte en texto estructurado (añade etiquetas identificativas para donde hay sinónimos) y devuelve esas cadenas de texto al ordenador del coche.
Si decimos “conecta la luz corta” la plataforma, al recibirlo, ve que lo puede identificar porque hay correspondencia usando los sinónimos, por lo que crea una respuesta de texto estructurado, junto con un código de OK.
4.b) Todo esto se envía de regreso al coche.
El software del coche busca las “etiquetas” identificativas en la cadena de texto estructurado que acaba de recibir: Cruce, Abre, Frunk y al encontrar las que definen unívocamente el comando “conecta la luz corta”, ejecuta la acción, encendiendo las luces.


¿Qué ocurre cuando nos descargamos la actualización de Tesla, y nada parece funcionar?
Bien, lo que está ocurriendo es que la lista de sinónimos y frases de entrenamiento es muy corta, y a la plataforma DialogFlow no le resulta posible identificar los comandos. Cada persona es un mundo, y dice las cosas a su manera…
Pero cada frase que dicen los pacientes conductores de Tesla, se envía a DialogFlow y queda almacenada, disponible para que la usen los ingenieros de inteligencia artificial en el entrenamiento del sistema.
Estos ingenieros eliminan las frases que se apartan demasiado del objetivo, y el resto se utiliza para ampliar los sinónimos y también como frases de entrenamiento.
Una vez introducidos en la plataforma, DialogFlow será capaz de reconocer cada vez mejor los comandos, sin necesidad de actualizar el software del coche, ya que lo que se entrena está todo en la plataforma DialogFlow.

Por ejemplo, si un usuario mexicano dijo: Abre la cajuela delantera.
El sistema no lo entiende, y saldrá ese frustrante mensaje de “comando no disponible”.

Ahora, los ingenieros de Tesla amplían la lista de sinónimos de “frunk”:
Frunk: maletero delantero, cajuela delantera, cajuela frontal.
Y en el próximo intento, nuestro compañero y amigo mexicano, conseguirá que se abra el “frunk”.

Otras conclusiones.
De ahí que los comandos de voz necesiten conectividad a Internet (en un cuarto sótano del garaje, seguro que no funcionan bien).
También esto explica cómo el reconocimiento de voz va mejorando, sin necesidad de que se actualice el software del coche.
Madrid, y Palencia cuando puedo.
Re:Explicación del funcionamiento de los comandos de voz.
« Respuesta #1 en: 12 de Abril de 2020, 03:41:19 pm »
Aupa Valen:

Muy constructivo. Gracias.

Agur,
Markus
Re:Explicación del funcionamiento de los comandos de voz.
« Respuesta #2 en: 13 de Abril de 2020, 09:39:00 am »
Muchas gracias por la explicación. Con esto entiendo que, después de un tiempo, los comandos que no funcionaban ahora si lo hagan sin haber actualizado el software.

Saludos
Be water my friend.
Re:Explicación del funcionamiento de los comandos de voz.
« Respuesta #3 en: 13 de Abril de 2020, 11:30:12 am »
Funcionamiento del reconocimiento de comandos de voz.
En este post vamos a explicar cómo se crea un sistema de reconocimiento de comandos de voz, cómo se entrena y cómo se mejora con los comandos que se captan en los coches de los usuarios, una vez implantado.

Voy a suponer que se usa la plataforma DialogFlow.
https://dialogflow.com/
Es una plataforma gratuita de Google. Todas funcionan de forma semejante. En su página web explican que se usa en todo tipo de dispositivos, incluidos coches.

Paso 1) Se crea el proyecto en la plataforma DialogFlow.
Creamos el proyecto y definimos, de forma genérica, las órdenes que queremos atender:
- Enciende las luces de cruce.
- Abre el frunk.
- etc…….

2) Para cada frase, se definen las palabras clave,
Es decir, las que identifican unívocamente el comando.

Se crea para ellas una lista de sinónimos tan grande como se nos ocurra.
Enciende: conectar, conecta, activar, activa.
Cruce: cortas, corta.
Abre: abrir, liberar.
Frunk: maletero delantero.
Como “etiquetas” identificativas se usarán: Cruce, Abre, Frunk, de forma que, posteriormente, en el reconocimiento de voz, cada vez que aparezca un sinónimo, se le añada de esta etiqueta identificativa.

3) Para cada frase, se crean ejemplos de frases equivalentes.
- Enciende las luces de cruce.
- Conecta las luces cortas.
- Enciende cruce.
- etc.
(Fijarse que los sinónimos hacen que todas estas frases sean equivalentes).

4) Desarrollo del software que se ejecuta en el ordenador del coche.
Éste software se conecta a nuestro proyecto en DialogFlow usando una clave de autenticación que se creó con el proyecto.

4.a) Cuando el conductor dice un comando de voz, el software del coche lo graba y lo envía a la plataforma DialogFlow.
Esta lo convierte en texto estructurado (añade etiquetas identificativas para donde hay sinónimos) y devuelve esas cadenas de texto al ordenador del coche.
Si decimos “conecta la luz corta” la plataforma, al recibirlo, ve que lo puede identificar porque hay correspondencia usando los sinónimos, por lo que crea una respuesta de texto estructurado, junto con un código de OK.
4.b) Todo esto se envía de regreso al coche.
El software del coche busca las “etiquetas” identificativas en la cadena de texto estructurado que acaba de recibir: Cruce, Abre, Frunk y al encontrar las que definen unívocamente el comando “conecta la luz corta”, ejecuta la acción, encendiendo las luces.


¿Qué ocurre cuando nos descargamos la actualización de Tesla, y nada parece funcionar?
Bien, lo que está ocurriendo es que la lista de sinónimos y frases de entrenamiento es muy corta, y a la plataforma DialogFlow no le resulta posible identificar los comandos. Cada persona es un mundo, y dice las cosas a su manera…
Pero cada frase que dicen los pacientes conductores de Tesla, se envía a DialogFlow y queda almacenada, disponible para que la usen los ingenieros de inteligencia artificial en el entrenamiento del sistema.
Estos ingenieros eliminan las frases que se apartan demasiado del objetivo, y el resto se utiliza para ampliar los sinónimos y también como frases de entrenamiento.
Una vez introducidos en la plataforma, DialogFlow será capaz de reconocer cada vez mejor los comandos, sin necesidad de actualizar el software del coche, ya que lo que se entrena está todo en la plataforma DialogFlow.

Por ejemplo, si un usuario mexicano dijo: Abre la cajuela delantera.
El sistema no lo entiende, y saldrá ese frustrante mensaje de “comando no disponible”.

Ahora, los ingenieros de Tesla amplían la lista de sinónimos de “frunk”:
Frunk: maletero delantero, cajuela delantera, cajuela frontal.
Y en el próximo intento, nuestro compañero y amigo mexicano, conseguirá que se abra el “frunk”.

Otras conclusiones.
De ahí que los comandos de voz necesiten conectividad a Internet (en un cuarto sótano del garaje, seguro que no funcionan bien).
También esto explica cómo el reconocimiento de voz va mejorando, sin necesidad de que se actualice el software del coche.



Hola Valen

Seria posible en alguna actualizacion futura este incluida esa lista minima de comandos en el coche la cual mejore a la actual que teneis en los telas ?


Lo decia por si en algun momento,
 estas con el coche en alguna zona sin cobertura de telefonia

No te imaginas cuanto hecho de menos mi antiguo nokia ,
 sin internet tenia un limitado de comandos de voz,
 no era perfecto pero el 98% de veces captaba bien la voz mientras conducia
 y el hacia las llamadas o las respondia cuando le daba mis ordenes de voz

Sin embargo los Smartphone actuales que se supone deberian tambien hacerlo ya,
 por su capacidad de memoria
 y potencia tener esto ya de fabrica y funcionar sin necesidad de internet

Pero no , no lo hacen

Probe la apk Mika hace años
y hacia algo casi de bien como en los nokia ,
 sin necesidad de tener conexion a internet
 y la tasker no me aclaro con esta

En los videos que entonces habia hace años hablo,
 parecia facil pero a la hora de hacerlo a practica no lo era...

 No estaria mal toda esa informacion en una futura actualizacion se incluyera en el coche y asi no depender de internet para entender mejor el habla de cada persona sin importar de que pais sea

Pienso que deberia ser minimo algo como en los nokia que puedas grabar tu los comandos con tu propia voz aunque seria perfecto entendiera la cualquier voz

Por ejemplo tiens un accidente y va mas gente contigo
 y fuera posible a traves de la voz hacer el coche llame a emergencias,
 en caso nadie pudiera moverse pero si pudiera hablar
 y ordenar al coche hiciese la llamada

se que hay coches que en caso de impacto tiene automatica la llamada de emergencia pero no es lo mismo aunque si es una ayuda mas claro

Cuantas mas opciones puedan tener hoy en dia los coches mejor la llamada automatica en caso impacto tambien es una buena idea nunca se sabe si es un accidente grave o no o si sus ocupantes podran moverse o hablar, por supuesto cuantas mas cosas de estas tengan los coches mejor

Valen

*
  • ****
  • 282
    • Ver Perfil
    • Control of Machines
Re:Explicación del funcionamiento de los comandos de voz.
« Respuesta #4 en: 13 de Abril de 2020, 05:34:33 pm »
Seria posible en alguna actualizacion futura este incluida esa lista minima de comandos en el coche la cual mejore a la actual que teneis en los telas ?

Ampliar el conjunto de comandos, implica ampliar el softwate del coche, y las definiciones y sinónimos en la plataforma DialogFlow.
Una vez que tienes un conjunto de comandos funcionando, ampliarlo es muy sencillo, la verdad.

Otra cosa es querer que lo haga sin conectividad. Eso es mucho pedir, porque estos sistemas descargan toda la potencia de cálulo a los servidores que están en la nube.
La idea de estas arquitecturas es conseguir grandes resultados, con muy poca potencia de cálculo en el coche.

Un funcionamiento semejante es el termostato Nest:
https://store.google.com/es/product/nest_learning_thermostat_3rd_gen?hl=es-ES
El aparatito está enviando constantemente nuestros datos a un servidor en EEUU, para que aprenda tus horarios, rutuinas, etc. y lleve a cabo una regulación de la temperatura muy ajustada a cada familia.
El aparato no tiene mucha potencia de cálculo, y todo lo delega al servidor Nest central.
Madrid, y Palencia cuando puedo.