A method for categorizing a set of objects includes defining a set of categories in which at least one category in the set is dependent on another category in the set; organizing the set of categories in a hierarchy that embodies any dependencies among the categories in the set; for each object, assigning to the object one or more categories l1 . . . lP where liε{1 . . . L} from a set {1 . . . L} of possible categories, wherein the assigned categories represent a subset of categories for which the object is relevant; defining a new set of labels z comprising all possible combinations of any number of the categories, zε{{1},{2}, . . . {L},{1,2}, . . . {1,L},{2,3}, . . . {1,2,3}, . . . {1,2, . . . L}}, such that if an object is relevant to several categories, the object must be assigned the label z corresponding to the subset of all relevant categories; and assigning to the object the several categories and the subcategories of the several categories.