¿Cuánto tiempo llevaría crear una aplicación como Siri o Cortana?

Primero, debe comprender si hay algún caso de uso en la reconstrucción de Siri o Cortana. Solo puedo pensar en dos casos: 1: desea aprender y ver lo que se necesita, solo por diversión, 2: está creando otro producto / aplicación que requiere una funcionalidad similar a Siri / Cortana.

Uno de los grandes obstáculos para construir algo como Siri / Cortana es que necesitan mucha, MUCHA información. El reconocimiento de voz en sí mismo es una tarea desalentadora para comenzar, si necesita tanta precisión como estas: diccionarios robustos, lenguaje / modelos acústicos, etc. Digamos que te equivocaste con esta parte, la siguiente parte es domesticar la interacción. El modelo de interacción es un pozo sin fondo: siempre puede tomar más datos.

Ahora, si solo quiere construirlo para el primer caso de uso, es decir, por diversión: entonces no tiene que preocuparse por la precisión de su modelo. Puede comenzar con la API de CMU Sphinx Api o la API de voz de Google para iniciar su grabación de voz y luego crear un modelo de interacción divertido como desee. Esto no es fácil de hacer, pero tampoco es demasiado difícil. (Intenté jugar con la api sphinx de CMU y lo recomiendo encarecidamente para una integración más rápida / ordenada. También tiene documentación bien escrita sobre las apis android / ios, como aquí: Creación de aplicaciones con pocketsphinx)

Si es para el segundo caso de uso, su objetivo final podría ser que su aplicación / producto esté integrado en uno de estos grandes, porque no tiene sentido luchar contra ellos por los datos. Si ese es el caso, solo debe tratar de impulsar una demostración plausible con casos de prueba altamente específicos y crear un entorno similar a Siri / Cortana para esos casos.

Podría estar totalmente fuera de línea aquí, pero si no, espero que ayude un poco.

Difícil de decir, su problema principal es el reconocimiento de voz / voz. Diría que si no puede obtener una biblioteca preconstruida para cambiar las palabras habladas en texto, entonces eso es una pared de ladrillos, está más allá del 99.99% de los programadores con mucha experiencia, y obviamente está completamente fuera del alcance de un novato.

Luego, una vez que haya recibido su texto, deberá analizarlo de alguna manera en algo significativo, es decir, detectar la diferencia entre ‘¿dónde está Starbucks más cercano?’ y ‘¿qué es Starbucks?’ Creo que será más fácil que esas cosas de voz, pero a menos que consigas una biblioteca que lo haga por ti, entonces probablemente sea otro muro de ladrillos para la mayoría de los programadores.

Luego, una vez que haya analizado los datos para alimentar a Google Maps, o haga una cita en su calendario o lo que sea, ese bit es probablemente bastante fácil.

¿Cuanto tiempo tardaría? Dependiendo de la disponibilidad de la biblioteca y sus habilidades, diría que entre unas pocas semanas y nunca.

Siri o Cortana no son realmente aplicaciones sino servicios.

Del lado de la aplicación, no es algo que no puedas hacer. Lado del servicio, ni siquiera lo intente, fue construido por grandes equipos con grandes presupuestos para equipos. Simplemente ejecutar dicho servicio cuesta más de lo que puede pagar, ni siquiera piense en construirlo.