1. A method comprising: receiving, by a processing device, a data set, wherein the data set is annotated with at least a first annotation and at least a second annotation, wherein at least the first annotation and the second annotation represent characteristics within the data set; determining, by the processing device, a first identifier from the first annotation and a second identifier from the second annotation; associating, by the processing device, the first identifier to the second identifier to generate at least one joined identifier, wherein the at least one joined identifier is placed between the first annotation and the second annotation; computing, by the processing device, a feature weight and a transition weight for the annotated data set based on the first annotation, the second annotation, and the at least one joined identifier and a transition between each of the first annotation, the second annotation and the at least one joined identifier; receiving, by the processing device, a second data set, wherein the second data set is un-annotated; and classifying, by the processing device, the second data set based on the computed feature weight and the transition weight from the first data set.