Cómo hacer un asistente electrónico (como SIRI) con una aplicación de consola en C ++ como mi primer proyecto de investigación

Bueno, como eres un experto en ciencias de primer año, te sugiero que comiences con algo pequeño y factible y lo hagas. Es muy importante poder “ver” el progreso. Te mantiene motivado.

Entonces, ¿con qué deberías comenzar?

  1. Python : necesitas saber un lenguaje de programación. Te sugiero que aprendas python primero. Aunque C ++ es genial, pero lo que generalmente necesita 40 líneas de código en C ++, se puede hacer en 2 o 3 en Python.
  2. REST / API : para empezar, no puede hacer todo ese procesamiento en la máquina cliente. Se requerirá una gran cantidad de datos y potencia de procesamiento (CPU / GPU / RAM). Entonces, lo mejor sería tomar la entrada de la consola, enviarla al servidor web para su procesamiento y mostrar el resultado.
  3. AWS Lex / TensorFlow / Caffe : esta es la parte divertida: no es necesario construir una IA para sintetizar la entrada y encontrar soluciones inteligentes, ya hay herramientas para eso. ¡Ve a pagar!

Podría recomendar que lea el siguiente artículo: Cómo crear aplicaciones de asistente virtual como Siri y Google Assistant

Cómo incluir un asistente de voz en una aplicación

Hay tres formas de hacer que su aplicación entienda el lenguaje verbal y mantenga una conversación.

El primer método

El primer método consiste en integrar las tecnologías de voz existentes en su aplicación mediante API especiales y otras herramientas de desarrollo.

El segundo método

El segundo método le permite crear un asistente inteligente con la ayuda de servicios de código abierto y API.

El tercer método

El tercer método representa el desarrollo de un asistente de voz desde cero con su mayor integración en su aplicación.

Cada método es digno de atención. Tenga en cuenta que los grandes nombres como Apple o Google ofrecen a regañadientes sus creaciones queridas a los desarrolladores de terceros. Por otro lado, el uso de herramientas de código abierto puede no cumplir con sus expectativas. Además, desarrollar aplicaciones como Siri por su cuenta puede convertirse en una tarea imposible.

Para aclarar todos los beneficios y riesgos que enfrentará, consideremos cada enfoque en detalle.

Formas comunes de integrar su aplicación con un asistente virtual

Necesitarás pocas cosas.

1. Reconocimiento de voz
2. Reconocimiento de voz
3. Reconocimiento de imagen
4. Sistema de decisión
5. Sistema de acción

El reconocimiento de voz y habla se puede hacer usando CMU Sphinx
También puede usar Experimenting with the Web Speech API y usar The State of Desktop Applications en Node.js.

El reconocimiento de imagen es opcional, pero más tarde podría ayudarlo a construir el reconocimiento de voz multimodal. Puedes usar OpenCV. Esto le permitirá realizar un control basado en gestos.

El sistema de decisión y el sistema de acción serán un poco difíciles. Puede utilizar Alchemy API para comprender mejor los comandos del usuario. En la mayoría de los casos, el sistema de acción codificará las llamadas a la API del sistema operativo. También puede usar Python Natural Language Toolkit.

Consideraré Python para el trabajo o la aplicación de línea de comandos node.js Node.js. Python es una muy buena opción porque tienes enlaces a OpenCV y Sphink y puedes desarrollar más rápido.

Deberías tener un prototipo funcional en 2-3 semanas. Escalar esto será muy difícil.

Es posible que desee comprobar el reconocimiento de voz, la tecnología de voz a texto y el procesamiento del lenguaje natural.

Un buen lugar para comenzar es con soluciones de reconocimiento de voz de código abierto como CMU Sphinx, Julius y otras.

¡No escuches comentarios negativos! ¡Creo que el hecho de que quieras algo desafiante aunque todavía estés en el primer año es excelente! ¡Todos los estudiantes de Ciencias de la Computación deberían tener el mismo impulso y pasión que tú!

Creo que el tema de su investigación también es increíble. Probablemente, lo que necesita para comenzar es uno de estos: reconocimiento de voz, procesamiento del lenguaje natural, inteligencia artificial y base de datos.

Vaya a su biblioteca Uni y comience a buscar Tesis / Deserción sobre estos temas. O buscando en Internet libros blancos al respecto.

Sí, probablemente será muy difícil de entender, pero si no lo intentas, ¿cómo sabes si es difícil o no? Al menos si eventualmente están muy por encima de tu cabeza, lo has intentado.

Cuando tenga dudas sobre lo que debe hacer, vea el discurso de Steve Jobs aquí:

¡Buena suerte!

Hacer algo así como primer proyecto probablemente no sea una muy buena idea.

Los mejores ingenieros de Google y Apple todavía están luchando con eso, y todos tienen muchos años de experiencia, y probablemente sea su proyecto 20-30.

Comience con algo más simple?

More Interesting

¿Cómo los sistemas AI buscan en la web?

¿Cómo determinaría qué transacciones con tarjeta de crédito son recurrentes dados al menos varios meses del historial de transacciones de un individuo?

¿Debo dominar las matemáticas / IA para comenzar a trabajar en un proyecto de reconocimiento facial?

¿Qué sucede cuando los robots y los sistemas autónomos ocupan completamente sus trabajos? ¿Dónde trabajará la fuerza laboral? ¿Cuál será su papel?

¿Por qué la convolución de f (t) y DiracDelta (t-1) = f (t-1)?

¿Cómo funciona el aprendizaje profundo y en qué se diferencia de las redes neuronales normales aplicadas con SVM?

¿Qué opinas sobre la IA de Robot Sophia?

¿Existe alguna investigación sobre la mutación de una arquitectura de red neuronal durante el entrenamiento?

¿Serán AI los únicos que escribirán novelas en el futuro o habrá un mercado para los escritores humanos?

¿Por qué la IA en Ex Machina es femenina?

¿Cuál es el mejor curso de inteligencia artificial para un administrador del sistema?

Inteligencia artificial: ¿por qué el aprendizaje profundo solo despegó en la década de 2010 y no antes?

Noam Chomsky: Inteligencia: ¿Cómo desarrollamos representaciones invariantes en el cerebro? ¿Es posible replicar lo mismo en IA?

Si la IA se convirtiera en una parte real de nuestras vidas, ¿podría ser la respuesta a los viajes espaciales?

¿Por qué las construcciones artificiales que son estados-nación son buenas o malas para la sociedad, nuestro futuro y los humanos en general?