They are various ways to solve the problem but again it is not in Yelp's interest. Yelp's business is about selling Ad and they don't really care about the underlying issues.
One simple thing that could be added to their system was a way to verify that a reviewer did really have a business relation for posting a reviews. They are various ways for solving that.
Even a simpler approach: why hide those reviews. Keep them here and introduce a way for other viewer to rate the reviews aka 'X people found that review helpful'. That way all reviews are visible and the random person reading the Yelp page can decide for themselves.
Unfortunately Yelp and their filtering system have a different approach and instead usually end up filtering real customer reviews and leave the more 'spammy' visible. Then after a few weeks like that, you will receive a phone call from Yelp sales folks telling you that if you purchase 'ads' then your potential 5 stars review (if any are left visible) will be pushed to the top.
There is no relationship between the sales calls and the filtering algorithm. That is what the dismissed class action lawsuit was about. All "evidence" people have is purely anecdotal.
Verifying a "business" relationship may work but it still won't solve all of the problems. You can still pay people to show up at your restaurant, pay with their credit card and write a five star review. You can still pay people to show up at a competitors restaurant, pay with their credit card and write a one star review. It simply increases the cost of the spam (which is a good thing). They should probably create a way to do this but it won't solve the fundamental problem: the reviewer pool is an unreliable source of information.
"X people found that review helpful"
A helpful review is not the same as an accurate review based on experience. I would find a well written review helpful. However, the review could still be inaccurate or fake just well written. This is simply another data point for spam detection and one with many confounders at that. One has to simply google around about the state of Amazon reviews to see the flaws in this approach.
Once again. I stand by my assertion, detecting spam reviews is extremely difficult because it is a human problem.
Even a simpler approach: why hide those reviews. Keep them here and introduce a way for other viewer to rate the reviews aka 'X people found that review helpful'. That way all reviews are visible and the random person reading the Yelp page can decide for themselves. Unfortunately Yelp and their filtering system have a different approach and instead usually end up filtering real customer reviews and leave the more 'spammy' visible. Then after a few weeks like that, you will receive a phone call from Yelp sales folks telling you that if you purchase 'ads' then your potential 5 stars review (if any are left visible) will be pushed to the top.
Sorry but for me I consider that a scam!