Last month I received an email from eBay congratulating me on my eBay ‘anniversary’. Apparently, I have been a member of eBay for 15 years, or over half my life. Looking through the feedback ratings I’ve written since that time, it occured to me that these are some of my oldest ‘writings’ still online, my geocities sites having long since been trashed by Yahoo.
I think eBay feedback reviews are interesting both for their banality and for their eccentricities (in what other form does one designate excellence with ‘A+++++++++’?) I was thinking of other ‘one-way’ web communications and Yelp immediately came to mind. My experience reading Yelp reviews is also odd. In Yelp’s case, I think it’s due to the schizophrenic tone that emerges both from reading contrasting reviews one after the other and from the fickle authors within individual reviews themselves.
I decided to create my own generator of fickle Yelp-style reviews by creating a Markov chain derived from Adam Parrish’s examples over both my eBay feedback reviews (which were overwhelmingly positive) and the worst Yelp reviews of my least favorite New York restaurant (which were overwhelmingly negative) separately. Next, I created a ‘poetic’ form consisting of two lines from the latter (Yelp) source followed by one line from the former. I stripped capital letters from the beginning of lines to give the resulting pieces more of a flow.
Before I could build my pieces I had to prepare my eBay source material which ended up having a lot of noisy buyer/seller/item data attached to the reviews. I used a simple Python script to do the job.
import sys for line in sys.stdin: if ('--' in line): continue if ('No longer' in line): continue colon = line.find('Seller:') if colon != -1: line = line[:colon] colonB = line.find('Buyer:') if colonB != -1: line = line[:colonB] print line
After running the Markov chain and producing two source files, I assembled my ‘poetic’ form:
import sys import random posLines = list() negLines = list() for line in open('pos.txt'): line = line.strip() posLines.append(line) for line in open('neg.txt'): line = line.strip() negLines.append(line) for i in range(9): line1 = random.choice(negLines) line1 = line1.replace(line1, line1.lower()) line2 = random.choice(negLines) line2 = line2.replace(line2, line2.lower()) line3 = random.choice(posLines) line3 = line3.replace(line3, line3.lower()) print line1 print line2 print line3
Here is the resulting piece that I read:
Beans, etc. actually bad as that it would be depicted in the was place
uncomfortabello, Bento Burton’s world come with dirty. I had she idea of
item, great poster- game wigglin’ and plus nice transaction for even from Japan! Thanks for a fine twice. surprised – thanks! A+,
What there like somehow cold when the these review but some table. There
our instead of a beer and to “wait” chips that way burned that came out
great- friendly beautiful item – seller sale! Great item! Feel free to know the memory!
Bad! I can burger was down the spraying it looking and radioactive beef
terribly of Asian finitely bad! I couple we we good and this first, this
1 month still rock! Definitely received in time- pleasant perfect communication
Card on paper. We didn’t swallow and those whole system instead with the
your run-of-the-mill aioli. The spring right. I’m sorry but unless our
fast paypal packed, good buyer is DIALED IN! Many the way – enjoy thanks! Enjoy you!
Stars? We everythinking me with dirty bad for a few regulars in to box
in a bartendercooked deal, we we had a domesting, the from the because
recommunicators and quick payment- the BEST in great shoes and jigglin’ and plus nice indeed!
Act like angry about to me. Armin’s Batman, ready forwards this place
consisted our food atmosphere, this debate of futuristic bottle to ‘take
Halloween as pro! Fast and very quick, thanks broken. Seller looks broken. Seller got reply beautiful!
Empty that was very, very greasy butt. saying to figure out of the
they just blew it out of they give as small as so psyched the bartender
did the bomb – dont reply beautiful came quick payment, great but item! hope to deal!
Significally bad as this place does reals was as small local No hint of
think I’ll refer AGAIN if the deceived a grungy, completely tasted half
legendary Tape! Got here good. Would take notes! THANKS!
Creepy/dirty bad. So much flavor. People sit a working I enjoyed he
was lacking the most populars in New York. Enjoyed this place only
the item, and email resp. lied to me works great its hard! Thanks! Enjoy the CENTURY!