I don't really see a good logistical way to deal with this kind of problem. Any algorithm is going to see a bunch of sudden reviews of extreme positive or negative opinions as possible spam, and for users who never review more than once, I'm not sure how the filter is supposed to know what is and is not legitimate.
Yelp does seem to have a conflict of interest with advertisements, but considering the only alternative seems to be a subscription-based model, and people don't like paying for things on the Internet, I suspect that this is still the best possible case at the moment. Plenty of room for innovation, though.
There's a well known solution for this and it's called a chinese wall. You segregate the ad team from the other teams and restrict the data flow between them.
It's what Google and many others use to stop ad revenues biasing their product.
Yelp does seem to have a conflict of interest with advertisements, but considering the only alternative seems to be a subscription-based model, and people don't like paying for things on the Internet, I suspect that this is still the best possible case at the moment. Plenty of room for innovation, though.