Having something as simple as a honeypot field or something like it does the job 99% of the time, just as David Walsh (http://davidwalsh.name/wordpress-comment-spam). What's with all this Advanced Risk Analysis engine business.