What algorithm would you use to code a parrot?

Posted by Phil H on Stack Overflow See other posts from Stack Overflow or by Phil H
Published on 2010-05-11T11:22:33Z Indexed on 2010/05/11 11:34 UTC
Read the original article Hit count: 182

Filed under:

A parrot learns the most commonly uttered words and phrases in its vicinity so it can repeat them at inappropriate moments. So how would you create a software version? Assuming it has access to a microphone and can record sound at will, how would you code it without requiring infinite resources?

The best I can imagine is to divide the stream using silences in the sound, and then use some pattern recognition to encode each one as a list of tokens, storing new ones as you meet them. Hashing the token sequences and counting occurrences in a database, you could build up a picture of the most frequently uttered phrases. But given the huge variety in phrases, how do you prevent this just becoming a huge list? And the sheer number of pairs to match would surely generate lot of false positives from the combinatorial nature of matching.

Would you use a neural net, since that's how a real parrot manages it? Or is there another, cleverer way of matching large-scale patterns in analogue data?

© Stack Overflow or respective owner

Related posts about pattern-matching