You want to know your user’s profile: his preferences and behavior based attributes. The two conventional approaches today are to either ask him or make guesses based on his behavior. Both have flaws.
Combine the two and iterate. If you already have some concrete ideas about the user, based on his behavior, show him what you think he is interested in, then ask him to help by telling you where you are wrong, inaccurate, missing facts, etc.