[eluser]elvix[/eluser]
Akismet has a free API and library you can use to test comments against. It's very simple to use, and I think it's already been ported to CI by Eliot (apologies if I got that wrong). Search around and see if you can find it.
Akismet is very good at IDing spam. I use it on other sites, and have very little trouble with spam as a result.
Best part is, it's transparent to the user. I don't believe, personally, that raising the bar for user participation is a good strategy. Don't make it harder on users, make it easier. It's your job to fight spam, not theirs. Again, IMHO, YMMV, etc.