One idea could be to filter based on behavior. Spammers behave very differently compared to regular people. How about installing a quarantine system with unwritten thresholds?
Example, a threshold could be if you made more than 15 posts in 30 minutes. Or if you pm more than 20 people within an hour. Stuff that real people rarely never do, but spammers do very often. It would annoy very few real people but annoy spammers quite a lot.
If the thresholds are made public knowledge the spammers can adapt to beat the filters by posting slower or in smaller numbers, so thresholds has to be somethings only the admin knows the exact numbers on.
If a spammer hits the limits all his posts are quarantined. Once in a blue moon a regular, real person might also hit the limit, say you've just bought something new and exciting and feel the urge to broadcast a picture of your new saddle, boom, quarantined. Or maybe you type really fast and post more than 15 replies within 30 minutes and accidentally get quarantined.
Once a day or when convenient, the admin looks through the quarantine folder and kills all the spam. The regular user with a fast posting pattern gets "unquarantined" and also gets a special flag telling the spam filter not to bother him again in the future.
A filter like that would annoy only a few real people, those false positives, they will have their posts delayed a bit and then receive immunity from the filters in the future.
In short, I think a behavior based filter would work a lot better than forcing everyone to post a number of pointless posts.
^Intelligent spammer
good effort