A computer program product comprising a non-transitory computer-readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:
- select a set of content items by a digital magazine server, each content item of the set previously included in at least one digital magazine maintained by the digital magazine server;
- for each content item of the set:
- identify characteristics of each digital magazine in which a content item of the set is included;
- determine one or more labels associated with the content item of the set from the characteristics of each digital magazine including the content item of the set;
- store the one or more labels in association with the content item of the set at the digital magazine server;
- obtain a concept distribution of concepts maintained by the digital magazine server, each concept including one or more topics;
- obtain a topic distribution of topics maintained by the digital magazine server;
- for each content item of the set:
- determine a distribution of concepts associated with the content item of the set based on the labels associated with the content item of the set;
- determine a parameter defining a relationship between the distribution of concepts associated with the content item of the set and a distribution of topics associated with words included in the content item of the set based on a number of labels associated with the content item of the set;
- determine the distribution of topics associated with the content item of the set based on words included in the content item of the set;
- generate a model applying topics to content items based on characteristics of content items of the set, the distributions of concepts associated with the content items of the set based on the labels associated with the content items of the set, the distributions of topics associated with words included in the content items of the set, and the parameters defining relationships between the concept distributions and the topic distributions associated with the content items of the set, the model generated by:
- selecting a content item of the set;
- transmitting an interface including an identifier of the selected content item of the set, concepts associated with the selected content item of the set and probabilities of each of the concepts being associated with the selected content item of the set from a distribution of concepts associated with the selected content item of the set, and topics associated with the selected content item of the set and probabilities of the topics being associated with words included in the selected content item of the set from the distribution of topics associated with words included in the selected content item of the set to a client device of a user of the digital magazine server, the interface including an option to increase a probability of a concept being associated with the selected content item and an alternative option to decrease the probability of the concept being associated with the selected content item;
- increasing the probability of the concept being associated with the selected content item of the set in response to receiving a selection of the option to increase the probability of the concept being associated with the selected content item of the set from the client device;
- and
- decreasing the probability of the concept being associated with the selected content item of the set in response to receiving an alternative selection of the alternative option to decrease the probability of the concept being associated with the selected content item of the set from the client device;
- store the generated model at the digital magazine server, the generated model determining one or more topics associated with content items based on words included in the content items.