I want to get some suggestions for my "find similar people" algorithm :). I have one database where I store the following entities: Person, article, keywords. So for each person, I have a collection of keywords (with the number of mentions by the person) that have been compiled from person's articles keywords. So I need to get similar people by looking at their relevant keywords, the simple solution would be to get x keywords from a person y and find all people that share similar keyword scores (not equal), but it seems that is not the best way. Thoughts?