while it would be ideal to live in a society that teaches people not to rape, the sad fact is that sociopaths will do whatever they feel like doing because they just don't care, no matter what you teach them.
It is analogous to police. they cannot stop people from breaking into your home. the only thing they can do is try and teach ways to keep yourself from being broken into, and then after it happens, to try and catch (ha!) the person that broke in.
If it was simply a matter of education it could be fixed for good.
"A sociopath is simply a human who combines a total absence of empathy with a profound sense of entitlement. They feel no pain but their own." - Andrew Vachss
Those people cannot be taught. They learn how to respond in the manner that will gain them approval, regardless of how far that response is from what they truly feel.
Our current society seems to create more sociopaths than ever. Many people argue that the pop culture breeds and ingrains these thoughts into people who are susceptible to becoming sociopaths.