This idea really isn't that dissimilar to a spam filter (you even train spam filters on spam examples).
The main difference would be in detail and flexibility. Spam filters are great at detecting immediate, obvious abuse. That's great, and that's still necessary to help deal with large scale attacks.
What about more subtle patterns of abuse though? Or rules specific to an individual/instance/community? If you put this stuff in a spam filter you would filter too much.