¿Cómo se crean los softwares de inteligencia artificial como la asistencia de Google y Siri?

Hay muchas maneras de hacerlo … En primer lugar, Google, siri … son códigos complejos que no puedes saltar directamente a eso, pero puedes crear un sistema como ese usando Google tts y tu plataforma. Hay muchas maneras de reaccionar ante la entrada del usuario.

Los softwares de inteligencia artificial como la asistencia de Google y Siri se crean con las siguientes tecnologías:

  • Motor de voz a texto (STT),
  • Motor de texto a voz (TTS),
  • Etiquetado (inteligencia),
  • Motor de reducción de ruido,
  • Biometría de voz,
  • Motor de compresión de voz,
  • Interfaz de usuario para llamadas.
  • STT: el motor Speech2Text debe obtener la voz de un usuario y luego convertirla en texto. La voz podría ser un archivo de voz o una transmisión.
  • TTS: el motor Text2Speech debe convertir texto a voz. Es importante para un usuario que escuche la respuesta mientras, por ejemplo, el usuario conduce.
  • Etiquetado: el texto que se crea a través de STT no siempre es simple, la tecnología de etiquetado debe etiquetar el texto como lo que el usuario quiere a través de ese discurso. Por ejemplo, el usuario pregunta qué me pongo mañana, luego el motor de etiquetado puede etiquetar la información con el clima o la etiqueta de información del calendario.
  • Motor de reducción de ruido: el habla del usuario no siempre es simple, podría haber algo de ruido (por ejemplo, ruido del aire acondicionado). El motor de reducción de ruido debe eliminar el ruido blanco de la voz.
  • Biometría de voz: los asistentes móviles pueden proporcionar información basada en la cuenta, como el informe mensual de la tarjeta de crédito. Por lo tanto, la autenticación es importante, la biometría de voz es uno de los métodos de autenticación. A través de la tecnología de biometría de voz, el asistente móvil puede autenticarlo para hacer el sistema.
  • Motor de compresión de voz: si sus asistentes trabajan lentamente, los usuarios pueden darse por vencidos rápidamente acerca de la aplicación y elegir buscar en la web escribiendo el texto. La comunicación por Internet es realmente importante, además de esto, el tamaño del paquete para la transacción también es importante. Los paquetes pequeños se pueden transferir rápidamente, y el resultado se vuelve rápido. Por eso, una buena aplicación de asistente móvil debería tener un motor de compresión de voz. El cliente debe enviar la voz comprimida al servidor rápidamente. La compresión es diferente de la compresión normal, porque no hay tantos datos repetidos en los archivos de voz. Se puede elegir G711 para el algoritmo de compresión, una de las razones de esta elección es que el algoritmo no pierde los datos.
  • Interfaz de usuario para llamadas: después de que el servidor envía el resultado, debe reproducir un audio, además de esto, debe mostrar cierta información en la pantalla del dispositivo dentro de las llamadas.

Arquitectura de asistentes móviles

El dispositivo móvil y el servidor principal deben tener una comunicación como transmisión, porque a los usuarios no les gusta esperar la descarga de datos de voz y la comunicación lenta. Ser rápido es realmente importante para esta aplicación, porque si es rápido, el usuario siente más naturaleza. El usuario puede sentir que está hablando con un agente o asistente real.

Cuando los usuarios hacen una pregunta al cliente haciendo clic en un botón, el cliente comienza a transmitir la pregunta byte a byte al servidor principal. El servidor principal envía los datos al servidor STT, el servidor STT encuentra el texto de la voz, el texto se envía al servidor principal y luego el servidor principal envía el texto al servidor de etiquetado para averiguar qué quiere el usuario. El servidor de etiquetado crea una etiqueta para la solicitud. Tales como “weather_info”. El servidor de etiquetado envía la etiqueta al servidor principal, el servidor principal envía la etiqueta al servidor de información, si la etiqueta necesita una autenticación antes del servidor de información de envío, el servidor de seguridad verifica la autenticación. Finalmente, la respuesta llega al servidor principal, el servidor principal crea el texto de respuesta, el gráfico de respuesta y el texto de voz (a través del servidor TTS de comunicación) y envía la clase de respuesta al dispositivo móvil.

El servidor de información puede estar en comunicación con los servidores del tercer pary para algunas informaciones que no están almacenadas en el servidor de información. El servidor de seguridad puede constar de más de una tecnología de autenticación, como la biometría de voz, la búsqueda de radio IMSI-IP, la autenticación de cuenta-contraseña, etc.

Compresión de audio

La compresión de audio reduce el tamaño de los datos de audio. Los datos de audio comprimido se pueden transferir más rápidamente a través de la red GSM. El tipo de compresión puede ser con pérdida y sin pérdida.

Pérdida: el método puede reducir la cantidad de datos durante el proceso de codificación. Sin embargo, los datos retenidos son aceptables para el reconocimiento. La ventaja del método con pérdidas es que los datos pueden ser más pequeños.

Sin pérdida: a través de este método, el audio se puede comprimir sin perder su calidad original. Es importante si las herramientas de reconocimiento o grabación no tienen ningún proceso de reducción de ruido.

Parte de la reducción de datos no afecta directamente la calidad de los datos del habla. Simplemente, si los datos de audio grabados se utilizarán para el reconocimiento de voz, los datos que no son útiles para el reconocimiento de voz se pueden reducir. La sensibilidad auditiva humana está en frecuencia audible de 20 Hz – 20 KHz. El exterior del rango se puede eliminar.

G.711: puede usar el estándar G.711 para la compresión de audio. El método de compresión es sin pérdidas. Puede comprimir sus datos hasta en un 50 por ciento. Puede descargar el código fuente de Java de G711.java a través de este enlace (https://code.google.com/p/sipdro…).

Se pueden utilizar otros métodos: MPEG-1 Layer III (MP3), MPEG-1 Layer II Multicanal, MPEG-1 Layer I, AAC, HE-AAC, MPEG Surround, MPEG-4 ALS, MPEG-4 SLS, MPEG- 4 DST, MPEG-4 HVXC, MPEG-4 CELP, USAC, G.718, G.719, G.722, G.722.1, G.722.2, G.723, G.723.1, G.726, G.728 , G.729, G.729.1, Speex, Vorbis, WMA, Codec2.

Las plataformas o herramientas no son la preocupación aquí, son algoritmos y datos de entrenamiento. Básicamente, lo que hacen muchas personas / empresas es procesar una gran cantidad de ejemplos de discursos de varias maneras para facilitar que el programa aprenda de él, y luego alimentarlo en una red neuronal (por ejemplo, recurrente), que es básicamente un programa que puede aprender principalmente a través de datos que ya están etiquetados, es decir, alguien ya lo transcribió en este caso. Lo haremos, este es un enfoque.

La palabra clave aquí es aprendizaje automático, y las personas estudian este tema durante años para comprender la mayoría de los detalles complejos, la investigación en curso. Si solo está buscando una explicación de alto nivel, Google le proporcionará una explicación mucho mejor que nunca.

Si realmente quiere entrar en él, necesita conocimientos básicos de estadística, probabilidad y álgebra lineal, entonces puede consultar un curso en línea sobre aprendizaje automático, por ejemplo, de MIT Opencourseware.

La biblioteca de Tensorflow de Goggle es increíble para programar algo de inteligencia de máquina en general. Si solo desea integrar el reconocimiento de voz en su propio programa, puede usar la API de voz de Google. Si está buscando un kit de herramientas de reconocimiento de voz de código abierto, es decir, Algoritmos que debe ajustar y entrenar para usarlos, Kaldi es un excelente material para analizar.

Espero poder proporcionarle una breve descripción de dónde ir a partir de ahora.

La asistencia de Google y Siri son básicamente aplicaciones que tienen una interfaz de usuario de voz (VUI) que básicamente descubre la intención, la entidad nombrada y otras propiedades de un comando de voz mediante el uso de modelos de secuencia a secuencia (red neuronal) y técnicas de PNL. Las propiedades derivadas de un comando se utilizan para determinar a qué API llamar.