This won't solve the Problem. Some Users will Be to dumb to use it. And few will use it. Let google some Time. They become Beter at Findung out what das you like.
I absolutely agree, although I believe the process should not be a complicated and formal opt-out (Google already has such a mechanism). A single [x] button in the top-right corner of each ad will suffice. I don't want this particular ad, I close it – no questions asked (yes, Facebook, I'm looking at you)!
And the webmaster should definitely have absolute control over what kinds of ads he aggressively wants to keep out of his site.
You can optout of personalization at doubleclick.com/privacy/dart_a ...
Facebook has this kind of system in place. You can remove an ad and say why you don't want to see it any more (uninteresting, offensive, repetetive etc.) Seems to work well.
Slashdot gives logged-in users a "Don't show ads" checkbox.
Regular readers want the site's content. Unlike those who arrive from search engines, they're not looking for anything, so they wouldn't click on the ads anyway. Everyone wins.
They should add an opt in for everything else.