2010-05-11 66 views
10

鸚鵡學習它附近最常使用的單詞和短語,以便它可以在不適當的時刻重複它們。那麼你將如何創建一個軟件版本?假設它可以訪問麥克風並可以隨意錄製聲音,那麼如何編碼它而不需要無限的資源?你會用什麼算法對鸚鵡進行編碼?

我能想象得最好的是在聲音中使用沉默來分流,然後使用一些模式識別來將每一個編碼爲一個令牌列表,在您遇到它們時存儲新的令牌。對令牌序列進行散列並對數據庫中的事件進行計數,可以建立最頻繁說出的短語的圖片。但考慮到詞組的巨大變化,你如何防止這只是一個巨大的名單?而匹配的絕對數量肯定會從匹配的組合性質中產生很多誤報。

你會使用神經網絡,因爲這是一個真正的鸚鵡如何管理它?還是有另一種更精確的方式來匹配模擬數據中的大規模模式?

+1

我附近的寵物店有一隻鸚鵡,當人們進出店時,他們會說'你好'和'再見',所以鸚鵡也會模仿理解情況。 – 2010-05-11 12:10:05

回答

0

也許 - 不要嘗試存儲每個剪輯seperately,而是做了相似匹配您想了解說大約一打...... 所以在談到健全的目標數量 - 你匹配到最近的一個你正在追蹤的打 - 當你找到一個足夠的模式匹配其中之一,你平均這個新的聲音到存儲的版本 - 給出一個新的版本...

如果傳入聲音不匹配存儲的任何東西- 把它扔掉。

引導將是最困難的部分 - 區分目標短語的初始數量...

無論如何 - 從我的頭頂。 hth

3

It's been done,sorta。

編輯:好吧,因爲furbys不在了,所以我會提出一個Gordian結類型的解決方案。用揚聲器和麥克風連接一個盒子,並在其中粘上一隻真正的鸚鵡。這對於演示非常有用,然後一旦你掌握了一些風險投資,就可以開始使用神經網絡版本。神經網絡(到目前爲止它們已經實現)實際上是無用的,但它們應該足以讓你完成第二輪演示,到那時你將會變得太大而不能失敗。

+0

來自文章:「有一個常見的誤解,他們重複說他們周圍的話」 – interjay 2010-05-11 11:43:26

+1

@interjay:關鍵詞有「共同」,這意味着我不是唯一的白癡誰認爲furbys重複所說的話他們。我想*我的* furby從別的地方得到了所有那些發誓的話 - 嗨! – MusiGenesis 2010-05-11 13:36:21

2

我可能會用馬爾可夫鏈模擬它。

如果你還沒有使用Markov鏈產生自然隨機文字(或語音)之前,請Fun With Markov Chains

2

你如何防止這種情況只是成爲 一個巨大的名單?

我想你可以維護一個最近的單詞的有限列表和一個無限的常用單詞列表。如果鸚鵡聽到之前沒有聽到的一個詞,它就會被存儲在它的「短期記憶」中。如果它再次聽到該單詞,它可以將單詞移動到常用單詞列表並無限期地存儲。偶爾,您可以清除最近的單詞列表,其中只包含鸚鵡只聽過一次的單詞或聲音。

+2

或者不是清除,而是使用FIFO高速緩存,在該高速緩存中重複一個短語將其推到列表末尾,以便它更長時間保留在高速緩存中。 – 2010-05-11 12:06:29

相關問題