1. A non-transitory computer-readable medium comprising computer instructions embodied therein, wherein the computer instructions, when executed by at least one computing device, configure the at least one computing device to perform actions comprising: selecting a user from a plurality of users in a social network of a target user; scanning metadata associated with content items shared by the selected user; determining a list of keywords associated with the content items based on the metadata; accessing social network data associated with the selected user, the social network data including a relationship classifier that classifies a relationship between the selected user and the target user and a social network distance between the target user and the selected user, and a trust classifier that classifies a trust level between the selected user and the target user; determining a plurality of keyword scores based on the social network data, each of the plurality of keyword scores corresponding to one of the keywords on the list of keywords, wherein each of the plurality of scores is weighted by the trust classifier and an adjustment factor inversely proportional to the social network distance; normalizing individual keyword scores of the plurality of keywords scores based on a number of the content items shared by the selected user in comparison to a number of content items shared by other selected users of the plurality of users when the number of the content items shared by the selected user is greater than the number of content items shared by other selected users of the plurality of users; and generating a profile for the target user, the profile having the list of keywords and the corresponding plurality of keyword scores based on the scoring of each keyword.
1. A non-transitory computer-readable medium comprising computer instructions embodied therein, wherein the computer instructions, when executed by at least one computing device, configure the at least one computing device to perform actions comprising: selecting a user from a plurality of users in a social network of a target user; scanning metadata associated with content items shared by the selected user; determining a list of keywords associated with the content items based on the metadata; accessing social network data associated with the selected user, the social network data including a relationship classifier that classifies a relationship between the selected user and the target user and a social network distance between the target user and the selected user, and a trust classifier that classifies a trust level between the selected user and the target user; determining a plurality of keyword scores based on the social network data, each of the plurality of keyword scores corresponding to one of the keywords on the list of keywords, wherein each of the plurality of scores is weighted by the trust classifier and an adjustment factor inversely proportional to the social network distance; normalizing individual keyword scores of the plurality of keywords scores based on a number of the content items shared by the selected user in comparison to a number of content items shared by other selected users of the plurality of users when the number of the content items shared by the selected user is greater than the number of content items shared by other selected users of the plurality of users; and generating a profile for the target user, the profile having the list of keywords and the corresponding plurality of keyword scores based on the scoring of each keyword. 7. The non-transitory computer-readable medium as set forth in claim 1 , wherein determining the plurality of keyword scores includes accessing data indicating a location of the selected user.