4 ms·
This is very clever. love watching people do the Harlem shake I really really really want a snake How does it work? I'm guessing it 1) scans tweets for penta
by davidvaughan 14y ago
This is very clever.
love watching people do the Harlem shake
I really really really want a snake
How does it work? I'm guessing it 1) scans tweets for pentameters using a large corpus annotated by syllables, then 2) looks up a rhyming dictionary to check the tweet is likely to be fruitful (i.e. doesn't end with the word orange or similar) and 3) waits...
- klenwell 14y agoHere's some pythonesque pseudo-code that might do it: for tweet in twitter_api.latest_tweets(): phonetic_tweet = convert_tweet_to_phonemes(tweet) if is_iambic(phonetic_tweet): end_rhymes = extract_end_rhymes(phonetic_tweet) db.insert_iambic_tweet(tweet, end_rhymes) for end_rhyme in end_rhymes: rhyming_tweets = db.select_rhyming_tweets(end_rhyme) if rhyming_tweets: rhyming_tweet = random.choice(rhyming_tweets) return [tweet, rhyming_tweet] There are several open source word lists out there that make this feasible.
- abecedarius 14y agoI also wrote a filter over Twitter for iambic pentameter once, and had a friend write a web frontend to it. Here's my (messy) code; http://glozer.net/ http://glozer.net/ wrote the frontend in Erlang but AFAIK never released it. https://github.com/darius/versecop https://github.com/darius/versecop Pentametron is cooler. I did try filtering for rhymes too, but there wasn't enough data in the free feed, at least back then.
- nzukoski 14y agoI read somewhere that it uses the cmu pronouncing dictionary which would give it both the meter and rhyme it needs (http://www.speech.cs.cmu.edu/cgi-bin/cmudict http://www.speech.cs.cmu.edu/cgi-bin/cmudict)