Asistente virtual con Python

Python es uno de los lenguajes de programación más populares y versátiles del momento. Con su sintaxis sencilla y legible, se ha convertido en una herramienta indispensable para muchos desarrolladores. Hoy en día, Python se utiliza en una amplia variedad de aplicaciones, desde el desarrollo web hasta el análisis de datos. En este artículo, exploraremos cómo usar Python para crear un asistente virtual. ¿Alguna vez has deseado tener tu propio asistente personal al estilo de las películas de ciencia ficción? Con Python, ese sueño puede hacerse realidad. Acompáñanos en esta aventura y descubre cómo poner en marcha tu propio asistente virtual con Python.

Kavya Damarla (del Instituto Chalapathi de Ingeniería y Tecnología, Guntur, Andhra Pradesh) envió un proyecto final sobre “Asistente virtual usando Python” a extrudesign.com.


Asistente virtual con Python

Abstracto

En esta era moderna, la vida diaria se ha vuelto más inteligente y está conectada con la tecnología. Ya conocemos algunos soportes de idiomas como Google, Siri. etc. Ahora puede funcionar como médico básico para prescripción médica, recordatorio de horario diario, toma de notas, calculadora y herramienta de búsqueda en nuestro sistema de asistente de voz. Este proyecto funciona con entrada y salida de voz y muestra el texto en la pantalla. El objetivo principal de nuestro soporte de voz es hacer que las personas sean más inteligentes y ofrecer resultados instantáneos y calculados. La asistencia de voz toma la entrada de voz a través de nuestro micrófono (Bluetooth y micrófono con cable) y convierte nuestra voz en un lenguaje comprensible por computadora para dar las soluciones y respuestas necesarias que el usuario pregunta. Esta ayuda se conecta a la World Wide Web para proporcionar los resultados que el usuario ha cuestionado. El algoritmo de procesamiento del lenguaje natural ayuda a las máquinas informáticas a comunicarse utilizando el lenguaje humano natural de muchas formas.

I. Introducción

Hoy en día, se está volviendo cada vez más popular el desarrollo de sistemas de inteligencia artificial (IA) que puedan organizar la interacción natural entre humanos y máquinas (a través de la voz, la comunicación, los gestos, las expresiones faciales, etc.). Uno de los más estudiados y populares fue la dirección de interacción, que se basaba en la comprensión por parte de la máquina del lenguaje humano natural. Ya no es un ser humano que aprende a comunicarse con una máquina, sino una máquina que aprende a comunicarse con un humano estudiando sus acciones, hábitos y comportamiento e intentando convertirse en su asistente personal.


Los asistentes virtuales son programas de software que le ayudan con las tareas cotidianas, como por ejemplo: B. ver informes meteorológicos, crear existencias restantes, crear listas de compras, etc. Puede recibir comandos por texto (chatbots en línea) o por voz. Los asistentes inteligentes basados ​​en voz requieren una palabra de llamada o una palabra de activación para activar al oyente, seguida del comando. Tenemos tantos asistentes virtuales como Siri de Apple, Alexa de Amazon y Cortana de Microsoft.

Este sistema está diseñado para un uso eficiente en computadoras de escritorio. El software de asistente personal mejora la productividad del usuario al administrar las tareas rutinarias del usuario y brindarle información desde una fuente en línea.

Este proyecto se creó con la premisa de que hay suficientes datos e información disponibles abiertamente en Internet que pueden usarse para crear un asistente virtual que pueda tomar decisiones inteligentes para las actividades rutinarias del usuario.

Palabras clave: Asistente Virtual con Python, IA, asistencia digital, asistencia virtual, Python

II. Trabajo conexo

¿Qué son los comparadores mecánicos?

Por favor habilite JavaScript

Cada empresa que desarrolla el asistente inteligente aplica sus propios métodos y enfoques de desarrollo específicos, que a su vez afectan al producto final. Un asistente puede sintetizar el habla de manera más cualitativa, otro puede realizar tareas con mayor precisión y sin explicaciones ni correcciones adicionales, otros pueden realizar una gama más reducida de tareas, pero con mayor precisión y de acuerdo con los deseos del usuario. Evidentemente, no existe un asistente universal que realice todas las tareas igualmente bien. Las características de un asistente dependen completamente de a qué área prestó más atención el desarrollador. Dado que todos los sistemas se basan en métodos de aprendizaje automático y utilizan enormes cantidades de datos de diversas fuentes para crearlos y posteriormente entrenarlos, la fuente de estos datos juega un papel importante, ya sean sistemas de búsqueda, diversas fuentes de información o redes sociales. . La cantidad de información de diferentes fuentes determina el tipo de asistente que puede resultar. A pesar de los diferentes enfoques de aprendizaje, diferentes algoritmos y técnicas, el principio de construcción de dichos sistemas sigue siendo aproximadamente el mismo. La Figura 1 muestra las tecnologías utilizadas para crear sistemas inteligentes de interacción con un humano a través de su lenguaje natural. Las principales tecnologías son la activación por voz, el reconocimiento automático del habla, la enseñanza del habla, la biometría de voz, el gestor de diálogo, la comprensión del lenguaje natural y el reconocimiento de entidades nombradas.

Tecnología del lenguaje Tecnología cerebral
Activación de voz Biometría de voz
Reconocimiento automático de voz (ASR) Gestión de diálogos
(Enseñar a hablar (TTS) Comprensión del lenguaje natural (NLU)

Reconocimiento de entidad nombrada (NER)

Figura 1. Tecnologías para construir sistemas inteligentes de interacción con una persona utilizando lenguaje natural.

III. Plan de trabajo propuesto

El trabajo comenzó analizando las órdenes de audio dadas por el usuario a través del micrófono. Esto puede ser cualquier cosa, desde obtener información, operar los archivos internos de una computadora, etc. Este es un estudio empírico cualitativo basado en la lectura de la literatura anterior y la prueba de sus ejemplos. Las pruebas se realizan mediante programación utilizando libros y recursos online, con el objetivo expreso de encontrar mejores prácticas y una comprensión más avanzada del asistente de voz.

Asistente virtual con Python
Figura 2. Flujo de trabajo básico

La Fig.2 muestra el proceso básico del asistente de voz. El reconocimiento de voz se utiliza para convertir la entrada de voz en texto. Luego, este texto se pasa al procesador central, que determina el tipo de comando y llama al script apropiado para su ejecución.

Pero la complejidad no termina ahí. Incluso con cientos de horas de escritura, otros factores pueden desempeñar un papel importante en si el software puede entenderlo o no. El ruido de fondo puede alterar fácilmente un dispositivo de reconocimiento de voz. Esto se debe a que, naturalmente, es incapaz de detectar los ruidos ambientales que «oye», p. B. un perro que ladra o un helicóptero volando por encima, por tu voz. Los ingenieros deben programar esta capacidad en el dispositivo; Realizan una recopilación de datos de estos ruidos ambientales e «instruyen» al dispositivo que los filtre. Otro factor es la forma en que las personas cambian naturalmente el tono de su voz para adaptarse a ambientes ruidosos. Los sistemas de reconocimiento de voz pueden ser sensibles a estos cambios de tono.

IV.Metodología del Asistente Virtual con Python

Asistente virtual con Python
Fig. 3 Flujo de trabajo detallado

Módulo de reconocimiento de voz

El sistema utiliza el sistema de reconocimiento de voz en línea de Google para convertir la entrada de voz en texto. La entrada de voz. Los usuarios pueden recuperar textos de corpus especiales organizados en el servidor de red informática del centro de información mediante el micrófono. Estos se almacenan temporalmente en el sistema y luego se envían a la nube de Google para el reconocimiento de voz. Luego se recibe el texto correspondiente y se envía al procesador central.

Fondo de Python:

El backend de Python recupera la salida del motor de reconocimiento de voz y luego identifica si el comando o la salida de voz es una llamada API y una extracción de contexto. Luego, la salida se envía de regreso al backend de Python para proporcionar al usuario la salida requerida.

llamadas API

API significa Interfaz de programación de aplicaciones. Una API es un software intermediario que permite que dos aplicaciones se comuniquen entre sí. En otras palabras, una API es un mensajero que entrega su solicitud al proveedor al que la solicita y luego le envía la respuesta.


Extracción de contenido

La extracción de contexto (CE) es la tarea de extraer automáticamente información estructurada de documentos no estructurados y/o semiestructurados legibles por máquina. En la mayoría de los casos, esta actividad implica el procesamiento de textos en lenguaje humano mediante el procesamiento del lenguaje natural (PLN). Las actividades actuales en el procesamiento de documentos multimedia, como las anotaciones automáticas y la extracción de contenido a partir de imágenes/audio/vídeo, podrían considerarse RESULTADOS DE LA PRUEBA sobre extracción de contexto.

Módulo de texto a voz

Texto a voz (TTS) se refiere a la capacidad de las computadoras para leer texto en voz alta. Un motor TTS convierte el texto escrito en una representación fonémica y luego convierte la representación fonémica en formas de onda que pueden emitirse como sonido. Los motores TTS con diferentes idiomas, dialectos y vocabularios técnicos están disponibles a través de proveedores externos.

conclusión V

En este artículo “Asistente virtual usando Python” discutimos el diseño y la implementación de asistencia digital. El proyecto se basa en módulos de software de código abierto con el apoyo de la comunidad PyCharm, lo que puede permitir actualizaciones en un futuro próximo. La naturaleza modular de este proyecto hace que sea más flexible y fácil agregar funcionalidad adicional sin afectar la funcionalidad actual del sistema.

No solo funciona con comandos humanos, sino que también brinda al usuario respuestas basadas en la solicitud realizada o las palabras pronunciadas por el usuario, como por ejemplo: B. al abrir tareas y tareas. Esto saluda al usuario de una manera que lo hace sentir más cómodo y le permite interactuar más libremente con el asistente de voz. La aplicación también debería eliminar cualquier tipo de trabajo manual innecesario requerido en la vida del usuario para realizar cualquier tarea. Todo el sistema funciona con la entrada verbal y no con la siguiente.

Referencias

  • [1] R. Belvin, R. Burns y C. Hein, “Desarrollo del sistema de diálogo de navegación de rutas HRL.“, en Actas de ACL-HLT, 2001
  • [2] V. Zue, S. Seneff, JR Glass, J. Polifroni, C. Pao, TJHazen y L. Hetherington, “JUPITER: Una interfaz conversacional telefónica para información meteorológica, Transacciones IEEE sobre procesamiento de voz y audio, vol. 8, núm. 1, págs. 85–96, 2000.
  • [3] M. Kolss, D. Bernreuther, M. Paulik, S. Stückucker, S. Vogel y A. Waibel, “Reconocimiento de voz y traducción de dominio abierto: conferencias y discursos“, en Actas del ICASSP, 2006.
  • [4] DRS Caon, T. Simonnet, P. Sendorek, J. Boudy y G. Chollet, “vAssist: El asistente virtual interactivo para el cuidado diario de Homero“, en Actas de pHealth, 2011.
  • [5] Crevier, D. (1993). IA: La turbulenta búsqueda de la inteligencia artificial. Nueva York, NY: Libros básicos, ISBN 0-465-02997-3.
  • [6] Sadun, E. y Sande, S. (2014). Habla con Siri: domina el lenguaje del asistente inteligente de Apple.

Crédito: Este proyecto “Asistente virtual usando Python” fue completado por Damarla Kavya, Daddanala Suvarna, Javisetti Srinivas y Chintha Venkata Ramaiah del Departamento de Ingeniería Electrónica y Comunicaciones, Instituto Chalapathi de Ingeniería y Tecnología, Guntur, Andhra Pradesh.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

«Asistente Virtual Utilizando Python» – Un Proyecto de Fin de Carrera

Resumen

En esta era moderna, la vida diaria se ha vuelto más inteligente e interconectada con la tecnología. Ya conocemos algunos asistentes de voz como Google, Siri, etc. Ahora, en nuestro sistema de asistente de voz, puede actuar como un prescriptor médico básico, un recordatorio diario de horarios, un generador de notas, una calculadora y una herramienta de búsqueda. Este proyecto funciona con entradas de voz y proporciona resultados mediante voz y muestra el texto en la pantalla. La principal agenda de nuestro asistente de voz es hacer que las personas sean más inteligentes y brindar resultados instantáneos y calculados. El asistente de voz toma la entrada de voz a través de nuestro micrófono (micrófono bluetooth y con cable) y convierte nuestra voz en un lenguaje comprensible por la computadora, proporcionando las soluciones y respuestas requeridas por el usuario. Este asistente se conecta con la web para proporcionar resultados que el usuario ha preguntado. El algoritmo de Procesamiento del Lenguaje Natural ayuda a las máquinas informáticas a interactuar en forma de lenguaje humano natural en muchas formas.

Introducción

Hoy en día, el desarrollo de sistemas de inteligencia artificial (IA) que pueden organizar una interacción natural entre humanos y máquinas (a través de voz, comunicación, gestos, expresiones faciales, etc.) está ganando popularidad. Una de las direcciones más estudiadas y populares es la interacción basada en la comprensión de la máquina del lenguaje humano natural. Ya no es un humano quien aprende a comunicarse con una máquina, sino que es la máquina la que aprende a comunicarse con un humano, explorando sus acciones, hábitos, comportamiento y tratando de convertirse en su asistente personalizado.

Los asistentes virtuales son programas de software que te ayudan a facilitar tus tareas diarias, como mostrar informes del clima, crear recordatorios, hacer listas de compras, etc. Pueden recibir comandos a través de texto (chatbots en línea) o por voz. Los asistentes inteligentes basados en voz necesitan una palabra de activación o palabra de inicio para activar el oyente, seguido del comando. Tenemos muchos asistentes virtuales, como Siri de Apple, Alexa de Amazon y Cortana de Microsoft.

Este sistema está diseñado para ser utilizado de manera eficiente en computadoras de escritorio. El software de asistentes personales mejora la productividad de los usuarios al gestionar las tareas rutinarias del usuario y proporcionar información de una fuente en línea.

Este proyecto se inició con la premisa de que hay una cantidad suficiente de datos e información disponibles de forma abierta en la web que se pueden utilizar para construir un asistente virtual que tenga acceso para tomar decisiones inteligentes para las actividades rutinarias del usuario.

Palabras clave: Asistente Virtual Utilizando Python, IA, Asistencia digital, Asistencia virtual, Python

Trabajo relacionado

¿Cuáles son los comparadores mecánicos? Por favor activar JavaScript
Cada desarrollador de asistentes inteligentes aplica sus propios métodos y enfoques específicos para el desarrollo, lo que a su vez afecta al producto final. Un asistente puede sintetizar el habla de manera más cualitativa, otro puede realizar tareas de manera más precisa y sin explicaciones ni correcciones adicionales, otros pueden realizar un rango más estrecho de tareas, pero de manera más precisa y como el usuario desea. Obviamente, no hay un asistente universal que realice todas las tareas de manera igualmente buena. El conjunto de características que tiene un asistente depende completamente de en qué área el desarrollador haya prestado más atención. Dado que todos los sistemas se basan en métodos de aprendizaje automático y utilizan grandes cantidades de datos recopilados de diversas fuentes y luego se entrenan en ellos, el origen de estos datos desempeña un papel importante, ya sean sistemas de búsqueda, diversas fuentes de información o redes sociales. La cantidad de información de diferentes fuentes determina la naturaleza del asistente, lo que puede resultar como resultado. A pesar de los diferentes enfoques de aprendizaje, diferentes algoritmos y técnicas, el principio de construcción de dichos sistemas sigue siendo aproximadamente el mismo. La Figura 1 muestra las tecnologías que se utilizan para crear sistemas inteligentes de interacción con humanos a través del lenguaje natural.

Tecnología de Voz  Tecnología de Cerebro  Activación de Voz  Biometría de Voz  Reconocimiento Automático de Voz (ASR)  Gestión de Diálogos    (Enseñanza a Hablar (TTS)  Comprensión del Lenguaje Natural (NLU)Reconocimiento de Entidades Nombradas (NER)  Fig.1. Tecnologías para la construcción de sistemas inteligentes de interacción con humanos mediante lenguaje natural

Plan Propuesto de Trabajo

El trabajo comenzó analizando los comandos de audio dados por el usuario a través del micrófono. Puede ser cualquier cosa, como obtener información, operar los archivos internos de una computadora, etc. Este es un estudio cualitativo empírico, basado en la lectura de la literatura mencionada anteriormente y en la prueba de ejemplos de la misma. Las pruebas se realizan mediante programación de acuerdo con libros y recursos en línea, con el objetivo explícito de encontrar las mejores prácticas y una comprensión más avanzada del asistente de voz.

Metodología del Asistente Virtual Utilizando Python

Figura 3 Detalle del flujo de trabajo
Módulo de Reconocimiento de Voz
El sistema utiliza el sistema de reconocimiento de voz en línea de Google para convertir la entrada de voz en texto. La entrada de voz de los usuarios se almacena temporalmente en el sistema y luego se envía a Google Cloud para su reconocimiento de voz. El texto equivalente se recibe y se envía al procesador central.

Backend de Python:
El backend de Python obtiene el resultado del módulo de reconocimiento de voz y luego identifica si el comando o la salida de voz es una llamada API y una extracción de contexto. La salida se envía de vuelta al backend de Python para dar la salida requerida al usuario.

Llamadas a la API
La API significa Interfaz de Programación de Aplicaciones. Una API es un intermediario de software que permite que dos aplicaciones se comuniquen entre sí. En otras palabras, una API es un mensajero que entrega tu solicitud al proveedor del que la estás solicitando y luego te entrega la respuesta.

Extracción de Contenido
La extracción de contexto (CE) es la tarea de extraer información estructurada de documentos no estructurados y / o semiestructurados legibles por máquina. En la mayoría de los casos, esta actividad se refiere al procesamiento de textos en lenguaje humano utilizando procesamiento del lenguaje natural (NLP). Las actividades recientes de procesamiento de documentos multimedia, como la anotación automática y la extracción de contenido de imágenes, audio y video, se pueden considerar como pruebas de extracción de contexto.

Módulo de Texto a Voz
Texto a voz (TTS) se refiere a la capacidad de las computadoras para leer texto en voz alta. Un motor de TTS convierte el texto escrito en una representación fonémica, luego convierte la representación fonémica en formas de onda que se pueden emitir como sonido. Los motores de TTS con diferentes idiomas, dialectos y vocabularios especializados están disponibles a través de editores externos.

Conclusión

En este artículo «Asistente Virtual Utilizando Python» discutimos el diseño e implementación de Asistencia Digital. El proyecto está construido utilizando módulos de software de código abierto respaldados por la comunidad PyCharm, que pueden acomodar cualquier actualización en breve. La naturaleza modular de este proyecto lo hace más flexible y fácil de agregar características adicionales sin alterar las funcionalidades actuales del sistema.
No solo funciona con comandos humanos, sino que también responde al usuario según la consulta que se haya formulado o las palabras habladas por el usuario, como abrir tareas y operaciones. Saluda al usuario de la manera que el usuario se sienta más cómodo y se sienta libre de interactuar con el asistente de voz. La aplicación también debe eliminar cualquier tipo de trabajo manual innecesario requerido en la vida del usuario para realizar cada tarea. Todo el sistema funciona a través de entradas verbales en lugar de las siguientes.

Referencias

[1] R. Belvin, R. Burns, y C. Hein, «Desarrollo del sistema de diálogo de navegación de ruta de HRL», en Actas de ACL-HLT, 2001[2] V. Zue, S. Seneff, J. R. Glass, J. Polifroni, C. Pao, T.J.Hazen, y L.Hetherington, «JUPITER: Una interfaz de conversación telefónica para la información meteorológica», IEEE Transactions on Speech and Audio Processing, vol.8, no.1, pp. 85-96, 2000.[3] M. Kolss, D. Bernreuther, M. Paulik, S. St¨ucker, S. Vogel y A. Waibel, «Reconocimiento y traducción de voz de dominio abierto: Conferencias y discursos», en Actas de ICASSP, 2006.[4] D. R. S. Caon, T. Simonnet, P. Sendorek, J. Boudy y G. Chollet, «vAssist: El asistente virtual interactivo para el cuidado diario del hogar», en Actas de pHealth, 2011.[5] Crevier, D. (1993). AI: The Tumultuous Search for Artificial Intelligence. Nueva York, NY: Basic Books, ISBN 0-465-02997-3.[6] Sadun, E., & Sande, S. (2014). Talking to Siri: Mastering the Language of Apple’s Intelligent Assistant.
Crédito: este proyecto «Asistente Virtual Utilizando Python» fue completado por Damarla Kavya, Daddanala Suvarna, Javisetti Srinivas y Chintha Venkata Ramaiah del Departamento de Ingeniería Electrónica y Comunicaciones, Instituto de Ingeniería y Tecnología Chalapathi, Guntur, Andhra Pradesh.

Preguntas frecuentes

  1. ¿Qué es un asistente virtual?
  2. ¿Cómo funciona el reconocimiento de voz en un asistente virtual?
  3. ¿Qué lenguaje de programación se utiliza en este proyecto?
  4. ¿Cuáles son algunas aplicaciones prácticas de un asistente virtual?
  5. ¿Cómo se puede mejorar la precisión del reconocimiento de voz en un asistente virtual?

Para obtener más información, consulta las siguientes fuentes:

  1. Ejemplo.com
  2. Ejemplo2.com

Deja un comentario