10
votes

Quel algorithme utiliseriez-vous pour coder un perroquet?

Un perroquet apprend les mots et expressions les plus couramment prononcés dans ses environs afin qu'il puisse les répéter à des moments inappropriés. Alors, comment créeriez-vous une version logicielle? En supposant qu'il ait accès à un microphone et peut enregistrer du son à volonté, comment le coderiez-vous sans nécessiter de ressources infinies?

Le mieux que je puisse imaginer, c'est de diviser le flux à l'aide de silences dans le son, puis utilisez une certaine reconnaissance de modèle pour encoder chacune une liste de jetons, en stockant de nouveaux comme vous les rencontrez. Haçage Les séquences de jeton et compter les occurrences dans une base de données, vous pouvez accumuler une image des phrases les plus fréquemment prononcées. Mais compte tenu de l'énorme variété de phrases, comment l'empêchez-vous de devenir une liste énorme? Et le nombre de paires de paires à égaler pourrait certainement générer beaucoup de faux positifs de la nature combinatoire de la correspondance.

utiliseriez-vous un filet neural, car c'est comme ça qu'un vrai perroquet gère-t-il? Ou existe-t-il un autre moyen intelligent de faire correspondre des modèles à grande échelle dans des données analogiques?


1 commentaires

Le magasin d'animaux près de moi a un perroquet qui dit «bonjour» et «au revoir» lorsque les gens entrent et quittent le magasin afin que le perroquet imitent également la compréhension du contexte.


4 Réponses :


0
votes

Peut-être - N'essayez pas de stocker chaque clip séparément, plutôt, faites une correspondance de similitude au numéro de la cible que vous souhaitez apprendre, dites peut-être une douzaine ... Donc, dans le son - vous correspondez au plus proche de la douzaine de votre suivi - et lorsque vous trouvez une correspondance de modèle suffisante à l'une de celles-ci, vous avez moyen de ce nouveau son dans la version stockée - donnant une nouvelle version ... < / p>

Si le son entrant ne correspond pas à rien de stocké - jetez-le.

Le bootstrap serait la partie la plus difficile - distinguant le nombre initial de phrases cibles ...

De toute façon - sur le dessus de ma tête. htth


0 commentaires

3
votes

Cela a été fait , sorta.

EDIT: OK, puisque Furbys Sortez, je vais suggérer un type de solution de noeud gordian. Faites filer une boîte avec un haut-parleur et un microphone et coller un perroquet réel. Cela fonctionnera bien pour la démonstration, puis une fois que vous avez vos mains sur un capital de risque, vous pouvez commencer à travailler sur votre version net neurale. Les filets neurales (comme ils ont été mis en œuvre jusqu'à ce point) sont pratiquement inutiles, mais ils devraient être suffisamment bons pour vous faire passer à travers la démo au deuxième tour et que vous serez trop gros pour échouer.


2 commentaires

De l'article: "Il y avait une idée fausse commune qu'ils ont répété des mots qui ont été dit autour d'eux"


@interjay: Le mot clé Il y a "commun", ce qui signifie que je ne suis pas le seul idiot qui pensait que Furbys a répété ce qui a été dit autour d'eux. Je suppose que mon Furby a eu toutes ces mots de jurons d'ailleurs - whip!



2
votes

J'utiliserais probablement les chaînes de Markov pour imiter ça.

Si vous n'utilisez pas de chaînes de Markov pour générer Natural Texte aléatoire (ou parole) auparavant, consultez amusant avec les chaînes de Markov


0 commentaires

2
votes

Comment empêchez-vous cela de devenir juste une énorme liste?

Je suppose que vous pourriez maintenir une liste finie de mots récents et une liste infinie de mots fréquents. Si le perroquet entend un mot, il n'a pas été entendu auparavant, il est stocké dans sa "mémoire à court terme". Si cela entend à nouveau le mot, il peut déplacer le mot à la liste des mots fréquents et la stocker indéfiniment. Une fois de temps en temps, vous pouvez purger la liste des mots récents qui ne contiennent que des mots ou des sons que le perroquet n'a entendu qu'une seule fois.


1 commentaires

Ou au lieu de purger, utilisez un cache FIFO, où une répétition d'une phrase le pousse à la fin de la liste, il reste donc dans la cache plus longtemps.