A computer program product comprising a computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:
- maintain, by an online system, a plurality of audiences for one or more topics, each audience comprising a group of users in the online system that share a particular treatment for a topic, the particular treatment indicating a specific manner, by the group of users, of addressing the topic that is not shared by all users that are interested in the topic, each audience associated with one or more content items that share the particular treatment of the topic, wherein an audience is initially by further instructions encoded on the computer readable storage medium, that when executed by the processor, cause the processor to:
- select one or more initial content items stored in the online system to associate with the audience,
- select initial users to include in the audience, the initial user being users in the online system that have each performed a threshold number of actions with the initial content items, the actions performed with the initial content item having a uniform sentiment,
- select additional content items for which the selected users have performed the threshold number of actions and which have a threshold measure of similarity to the one or more initial content items,
- associate the additional content items with the audience,
- label the audience based on a keyword analysis of shared keyword among the additional content items;
- receive at an online system, from a client device of a posting user, a posted content item from a posting user;
- label the posted content item with one or more of the plurality of audiences based on information about the one or more of the plurality of audiences;
- identify condition for presenting content to a viewing user;
- determine a plurality of candidate content items, the plurality of candidate content items including the posted content item;
- score each candidate content item, wherein the scoring of each candidate content item comprises:
- determining whether the candidate content item is associated with an audience that includes the viewing user;
- and
- responsive to the candidate content item being associated with an audience that includes the viewing user, modifying the score of the candidate content item to be higher, the viewing user included in the audience based on a similarity of the viewing user to users included in the audience;
- rank each candidate content item of the plurality of candidate content items based on the score of each candidate content item of the plurality of candidate content items;
- select a subset of the plurality of candidate content items based on the ranking of each of the candidate content items of the plurality of candidate content items;
- and
- transmit the selected subset of the plurality of candidate content items to a client device of the viewing user for display to the viewing user.