鹦鹉学习附近最常说的单词和短语,以便在不适当的时刻重复它们。那么你将如何创建一个软件版本?假设它可以访问麦克风并且可以随意录制声音,那么如何在不需要无限资源的情况下对其进行编码?
我能想象的最好的方法是使用声音中的静音来划分流,然后使用一些模式识别将每个模式编码为一个标记列表,并在遇到它们时存储新的标记。散列令牌序列并计算数据库中的出现次数,您可以构建最常出现的短语的图片。但鉴于短语种类繁多,你如何防止它成为一个巨大的名单?而匹配的绝对数量肯定会从匹配的组合性质中产生大量的误报。
你会使用神经网络吗,因为这是一只真正的鹦鹉如何管理它?或者是否有另一种更聪明的方法来匹配模拟数据中的大规模模式?
答案 0 :(得分:3)
It's been done,sorta。
编辑:好的,因为furbys已经出局了,我将建议一个Gordian-knot类型的解决方案。将一个带有扬声器和麦克风的盒子连接起来,并在其中粘上一只实际的鹦鹉。它对于演示非常有用,然后一旦你掌握了一些风险投资,你就可以开始研究你的神经网络版本了。神经网络(因为它们已经实现到目前为止)实际上是无用的,但是它们应该足以让你完成第二轮演示,到那时你将太大而不能失败。
答案 1 :(得分:2)
我可能会使用马尔可夫链来模仿它。
如果您之前没有使用马尔可夫链生成自然随机文本(或语音),请查看Fun With Markov Chains
答案 2 :(得分:2)
你如何防止这种情况发生变化 一个巨大的名单?
我想你可以维护一个有限的近期单词列表,以及一个无限的常用单词列表。如果鹦鹉听到一个之前没有听过的单词,它会被存储在它的“短期记忆”中。如果它再次听到这个词,它可以将单词移动到频繁单词列表中并无限期地存储它。偶尔,您可以清除最近的单词列表,其中只包含鹦鹉只听过一次的单词或声音。
答案 3 :(得分:0)
如果传入的声音与存储的任何内容不匹配 - 扔掉它。
引导程序将是最棘手的部分 - 区分目标短语的初始数量......
无论如何 - 脱离我的头顶。 HTH