OKCupid.com is the best I've seen. And it's free too (completely). They have a cool matching system that asks you questions. Based on your response of what your answer is, how you want the other person to answer, and how important their answer is determines the relationship %, friendship %...