19. The computer program product of claim 18 , wherein said computer program product is further configured to: extract at least one keyword from the document; and associate an importance score with each keyword, wherein each keyword is a candidate tag.
18. A computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, said computer readable program code comprising computer readable program code configured to: compute a plurality of sets of candidate tags for a wherein each of the plurality of sets of candidate tags is based on different factors, wherein the plurality of sets of candidate tags include a set of candidate tags based on document-s ecific factors including keywords in the document, a set of candidate tags based on collaborative factors including tags that other users have applied to the document, a set of candidate tags based on personalized factors including information about a user and a set of candidate to s based on tag co-occurrences factors including tags that are often applied together with certain keywords; combine the plurality of sets of candidate tags from different factors into an overall recommendation list of candidate tags; return at least one suggested tag from the overall recommendation list of candidate tags; record at least one applied tag that is applied to the document by a user of a computer system; and adjust the overall recommendation list of candidate tags based on the at least one applied tag.