Aggregating social networking system user information for diversified timeline view
First Claim
1. A method comprising:
- receiving a request from a viewing user of a social networking system for a timeline view presenting a plurality of stories in a chronological order based on a time associated with each of the one or more stories;
accessing a plurality of items of narrative data maintained by the social networking system and related to the viewing user;
filtering the plurality of items of narrative data based at least in part on one or more time periods;
generating one or more timeline units from the filtered plurality of items of narrative data;
generating an affinity score for each of the one or more timeline units, each affinity score comprising a measure of the relevance of a timeline unit to the viewing user;
generating a ranking of the one or more timeline units based on the affinity scores;
determining a number of the one or more timeline units corresponding to each of a plurality of timeline unit types;
in response to one or more of the plurality of timeline unit types exceeding a maximum representation among the one or more timeline units, applying a diversification filter to the one or more timeline units;
selecting one or more of the ranked timeline units based at least in part on the ranking; and
sending to the client device for display to the viewing user the timeline view comprising displayable representations of the plurality of stories in the chronological order, the plurality of stories corresponding to the narrative data of the selected timeline units.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides a display interface in a social networking system that enables the presentation of information related to a user in a timeline view. The system accesses information about a user of a social networking system. The system then selects one or more of these pieces of data and/or activities from a certain time period and gathers them into timeline units based on their relatedness and their relevance to users. These timeline units are ranked by relevance to the user, and a diversity policy is applied to prevent overrepresentation of timeline unit type(s). The timeline units are used to generate a timeline view for the user containing visual representations of the timeline units organized by location or time. The timeline view is then provided to other users of the social networking system that wish to view information about the user.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving a request from a viewing user of a social networking system for a timeline view presenting a plurality of stories in a chronological order based on a time associated with each of the one or more stories; accessing a plurality of items of narrative data maintained by the social networking system and related to the viewing user; filtering the plurality of items of narrative data based at least in part on one or more time periods; generating one or more timeline units from the filtered plurality of items of narrative data; generating an affinity score for each of the one or more timeline units, each affinity score comprising a measure of the relevance of a timeline unit to the viewing user; generating a ranking of the one or more timeline units based on the affinity scores; determining a number of the one or more timeline units corresponding to each of a plurality of timeline unit types; in response to one or more of the plurality of timeline unit types exceeding a maximum representation among the one or more timeline units, applying a diversification filter to the one or more timeline units; selecting one or more of the ranked timeline units based at least in part on the ranking; and sending to the client device for display to the viewing user the timeline view comprising displayable representations of the plurality of stories in the chronological order, the plurality of stories corresponding to the narrative data of the selected timeline units.
-
-
2. The method of claim 1, wherein the diversification filter negatively biases the one or more timeline units of the one or more timeline unit types exceeding a maximum representation.
-
3. The method of claim 1, wherein, in response to a single timeline unit type exceeding a disproportionate representation among the one or more timeline units, applying the diversification filter negatively biases the single timeline unit type.
-
4. The method of claim 1, wherein the maximum representation among the one or more timeline units comprises a maximum value for the number of the one or more timeline units corresponding to each of a plurality of timeline unit types.
-
5. The method of claim 1, wherein the maximum representation among the one or more timeline units comprises a threshold for the number of the one or more timeline units corresponding to each of a plurality of timeline unit types;
- and
in response to one or more of the plurality of timeline unit types exceeding the threshold, the diversification filter negatively biasing the one or more timeline units of the one or more timeline unit types exceeding the threshold.
- and
-
6. The method of claim 1, wherein the determining of the number of timeline units corresponding to each timeline unit type is a determination of the ranked timeline units.
-
7. The method of claim 1, wherein the determining of the number of timeline units corresponding to each timeline unit type is a determination of the selected timeline units, and the sending to the client device is filtered by the diversification filter.
-
8. The method of claim 1, further comprising:
in response to one or more of the plurality of timeline unit types not reaching a minimum representation among the one or more timeline units, positively biasing the one or more timeline units of the one or more timeline unit types not reaching the minimum representation.
-
9. The method of claim 1, wherein the diversification filter applied varies based on one or more demographics of the viewing user.
-
10. The method of claim 1, wherein selecting one or more of the ranked timeline units based at least in part on the ranking comprises:
removing narrative data included in a timeline unit from an additional timeline unit.
-
11. The method of claim 1, wherein filtering the narrative data comprises:
removing narrative data included in a timeline unit previously viewed by the viewing user.
-
12. The method of claim 1, wherein filtering the narrative data comprises:
removing narrative data that the viewing user does not have permission to view.
-
13. A non-transitory computer-readable storage medium storing instructions, the instructions when executed by a processor in a social networking system, causes the processor to:
-
receive a request from a viewing user of a social networking system for a timeline view presenting a plurality of stories in a chronological order based on a time associated with each of the one or more stories; access a plurality of items of narrative data maintained by the social networking system and related to the viewing user; filter the plurality of items of narrative data based at least in part on one or more time periods; generate one or more timeline units from the filtered plurality of items of narrative data; generate an affinity score for each of the one or more timeline units, each affinity score comprising a measure of the relevance of a timeline unit to the viewing user; generate a ranking of the one or more timeline units based on the affinity scores; determine a number of the one or more timeline units corresponding to each of a plurality of timeline unit types; in response to one or more of the plurality of timeline unit types exceeding a maximum representation among the one or more timeline units, apply a diversification filter to the one or more timeline units; select one or more of the ranked timeline units based at least in part on the ranking; and send to the client device for display to the viewing user the timeline view comprising displayable representations of the plurality of stories in the chronological order, the plurality of stories corresponding to the narrative data of the selected timeline units.
-
-
14. The non-transitory computer-readable storage medium of claim 13, wherein the diversification filter negatively biases the one or more timeline units of the one or more timeline unit types exceeding a maximum representation.
-
15. The non-transitory computer-readable storage medium of claim 13, wherein, in response to a single timeline unit type exceeding a disproportionate representation among the one or more timeline units, applying the diversification filter negatively biases the single timeline unit type.
-
16. The non-transitory computer-readable storage medium of claim 13, wherein the maximum representation among the one or more timeline units comprises a maximum value for the number of the one or more timeline units corresponding to each of a plurality of timeline unit types.
-
17. The non-transitory computer-readable storage medium of claim 13, wherein in response to one or more of the plurality of timeline unit types exceeding the threshold, the diversification filter negatively biases the one or more timeline units of the one or more timeline unit types exceeding the threshold.
-
18. A system comprising:
-
a user interface manager configured for receiving, by one or more processors, a request from a viewing user of a social networking system for a timeline view presenting a plurality of stories in a chronological order based on a time associated with each of the one or more stories; a timeline unit generator configured for accessing, by the one or more processors, a plurality of items of narrative data maintained by the social networking system and related to the viewing user; a timeline manager configured for filtering, by the one or more processors, the plurality of items of narrative data based on at least in part one or more time periods and removing from the filtered plurality of items of narrative data items that the viewing user does not have permission to view; wherein the timeline unit generator is further configured for generating, by the one or more processors, one or more timeline units from the filtered plurality of items of narrative data, and for generating, by the one or more processors, an affinity score for each of the one or more timeline units, each affinity score comprising a measure of the relevance of a timeline unit to the viewing user; a timeline unit ranker configured for generating, by the one or more processors, a ranking of the one or more timeline units based on the affinity scores and determining, by the one or more processors, a number of the one or more timeline units corresponding to each of a plurality of timeline unit types; wherein the timeline unit manager is further configured for, in response to one or more of the plurality of timeline unit types exceeding a maximum representation among the one or more timeline units, applying, by the one or more processors, a diversification filter to the one or more timeline units and for selecting, by the one or more processors, one or more of the ranked timeline units based at least in part on the ranking; and wherein the user interface manager is further configured for sending, by the one or more processors, to the client device for display to the viewing user the timeline view comprising displayable representations of the plurality of stories in the chronological order, the plurality of stories corresponding to the narrative data of the selected timeline units.
-
-
19. The system of claim 18, wherein the diversification filter negatively biases the one or more timeline units of the one or more timeline unit types exceeding a maximum representation.
-
20. The system of claim 18, wherein the timeline unit manager, in response to a single timeline unit type exceeding a disproportionate representation among the one or more timeline units, applies the diversification filter by negatively biasing the single timeline unit type.
Specification