I have a movie dataset containing preference (ratings) of users on movies and also attributes of movies (genre, cast, director). I created two types of profiles for users based on the movie attributes they have selected: explicit and implicit. (Ratings are not numeric, but user just selected some movies / casts / genres / directors as her favorites.)
Explicit profile contains direct preference of users on attributes, e.g., if user selected "Tom hanks" and "Leonardo diCaprio" as her favorite casts, these two casts will be in her explicit profile, while implicit profile shows all the stars (main casts) of all the movies that user liked (the same for genre & director).
Note: I asked users what is/are their most important attributes (maximum of two) in order to choose a movie to watch. Then if, e.g., a user selected "genre" and "director", I created her user profiles only for genre and director; that is explicit genres vs implicit genres, explicit directors vs implicit directors (and ignoring cast attribute).
My goal is to understand how much users selected (liked) movies based on their explicit preferences on attributes of movies? So, for example, if user selected "genre" and "cast" as two important features for her and then selected "Sci-Fi" & "Mystery" as her favorite genres and her favorite actor is "George Clooney", I would like to see how much the movies that she liked have George Clooney as an actor or how much they are Sci-Fi movies and so on.
I found that there are many similarity metrics. I measured the Jaccard similarity between these two types of profiles for each user. Also, I read here how to measure cosine similarity between two users based on their ratings on movies, however, I was wondering how to compute the cosine similarity (if possible or even useful) between user's explicit and implicit profiles? (Since I don't have any numbers as ratings in my two sets, should I consider binary numbers and assign 1 to any attributes that exists in user profile?)