1. A non-transitory computer readable medium storing an application for tagging content, said application comprising: a) a tag manager for (i) storing, in a tag pool, a plurality of tags for tagging content, and (ii) maintaining the integrity of the tag pool by restricting different types of users that are able to add new tags to the tag pool, wherein each user is associated with a particular affinity score that the tag manager uses to allow or restrict the user from adding tags to the tag pool; b) a tag processor for receiving the plurality of tags from the tag pool, the tag processor comprising: a tag assignor for associating a set of tags to said content and a tag chain organizer for organizing the set of tags into a tag chain table; and c) a tag score calculator for computing a tag score metric for each tag from the set of tags and associating said tag score metric with a particular sub-set of tags from the set of tags.