Search result annotations
First Claim
1. A method performed by a data processing apparatus, the method comprising:
- receiving a search query from a user, the user having a plurality of social affinity groups, each social affinity group identifying a group of users and the user as a proper subset of users of a network;
receiving search results responsive to the search query, each search result referencing a corresponding resource that is determined to be responsive to the search query;
identifying search results referencing resources that each have an association with one or more of the social affinity groups, where each association corresponds to one of a plurality of association types, each of the plurality of association types specifying one of a plurality of user actions performed by one or more different users of the one or more social affinity groups, the user actions including a user creation of an associated resource and a user endorsement of an associated resource;
selecting one of the identified search results for annotation, wherein the selection is based in part on a pre-determined priority hierarchy of association types that specifies a different priority for each user action specified by an association type, and the selected search result has an association that corresponds to an association type with a highest priority among association types of the associations of the identified search results;
annotating the selected search result, the annotation describing the association of one of the social affinity groups with the resource the selected search result references, and further identifying the social affinity group, the annotation comprising;
determining a number of users that are members of the one of the social affinity groups;
for each of a plurality of annotation terms, wherein each annotation term describes a relative threshold of a number of users that are members of the one of the social affinity groups, determining a target threshold for the annotation term, and wherein the target threshold for each annotation term is different from the target threshold for each other annotation term;
determining, for each annotation term of the plurality of annotation terms, a threshold value based, at least in part, on the number of users that are members of the one of the social affinity groups and the target threshold for the annotation term;
comparing the number of users that are members of the one of the social affinity groups to the threshold values; and
applying, as the annotation, the annotation term having a target threshold that is i) less than the number of users that are members of the one of the social affinity groups and ii) that is greater than each other target threshold this is less than the number of users that are members of the one of the social affinity groups;
presenting the annotated search result to the user.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for annotating search results. In one aspect, a method includes receiving a search query from a user, the user having a plurality of social affinity groups, each social affinity group identifying a group of users and the user as a proper subset of users of a network. The method includes receiving search results responsive to the search query, each search result referencing a resource. The method includes identifying a search result referencing a resource having an association with one or more of the social affinity groups. The method includes annotating the search result, the annotation describing the association of one of the social affinity groups with the resource, and further identifying the social affinity group. The method includes presenting the annotated search result to the user.
-
Citations
17 Claims
-
1. A method performed by a data processing apparatus, the method comprising:
-
receiving a search query from a user, the user having a plurality of social affinity groups, each social affinity group identifying a group of users and the user as a proper subset of users of a network; receiving search results responsive to the search query, each search result referencing a corresponding resource that is determined to be responsive to the search query; identifying search results referencing resources that each have an association with one or more of the social affinity groups, where each association corresponds to one of a plurality of association types, each of the plurality of association types specifying one of a plurality of user actions performed by one or more different users of the one or more social affinity groups, the user actions including a user creation of an associated resource and a user endorsement of an associated resource; selecting one of the identified search results for annotation, wherein the selection is based in part on a pre-determined priority hierarchy of association types that specifies a different priority for each user action specified by an association type, and the selected search result has an association that corresponds to an association type with a highest priority among association types of the associations of the identified search results; annotating the selected search result, the annotation describing the association of one of the social affinity groups with the resource the selected search result references, and further identifying the social affinity group, the annotation comprising; determining a number of users that are members of the one of the social affinity groups; for each of a plurality of annotation terms, wherein each annotation term describes a relative threshold of a number of users that are members of the one of the social affinity groups, determining a target threshold for the annotation term, and wherein the target threshold for each annotation term is different from the target threshold for each other annotation term; determining, for each annotation term of the plurality of annotation terms, a threshold value based, at least in part, on the number of users that are members of the one of the social affinity groups and the target threshold for the annotation term; comparing the number of users that are members of the one of the social affinity groups to the threshold values; and applying, as the annotation, the annotation term having a target threshold that is i) less than the number of users that are members of the one of the social affinity groups and ii) that is greater than each other target threshold this is less than the number of users that are members of the one of the social affinity groups; presenting the annotated search result to the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method performed by a data processing apparatus, the method comprising:
-
receiving a search query from a user, the user having a plurality of social affinity groups, each social affinity group identifying a group of users and the user as a proper subset of users of a network; receiving search results responsive to the search query, each search result referencing a corresponding resource that is determined to be responsive to the search query; identifying a search result referencing a resource having an association with a plurality of users in a particular social affinity group of the plurality of social affinity groups; comparing a count of the plurality of users having the association to a plurality of thresholds, each of the plurality of thresholds corresponding to a numerical range of users and a relative term describing the threshold, wherein a number of users corresponding to each threshold is different from each other number of users corresponding to each other threshold, and wherein the relative term describing each threshold is different from each other relative term describing each other threshold; determining that the count of the plurality of users having the association is within a numerical range of a first threshold of the plurality of thresholds; and in response to determining that the count is within the first threshold, applying the relative term corresponding to the first threshold to the search result. - View Dependent Claims (11)
-
-
12. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
-
receiving a search query from a user, the user having a plurality of social affinity groups, each social affinity group identifying a group of users and the user as a proper subset of users of a network; receiving search results responsive to the search query, each search result referencing a corresponding resource that is determined to be responsive to the search query; identifying search results referencing resources that each have an association with one or more of the social affinity groups, where each association corresponds to one of a plurality of association types, each of the plurality of association types specifying one of a plurality of user actions performed by one or more different users of the one or more social affinity groups, the user actions including a user creation of an associated resource and a user endorsement of an associated resource; selecting one of the identified search results for annotation, wherein the selection is based in part on a pre-determined hierarchy of association types that specifies a different priority for each user action specified by an association type, and the selected search result has an association that corresponds to an association type with a highest priority among association types of the associations of the identified search results; annotating the selected search result, the annotation describing the association of one of the social affinity groups with the resource the selected search result references, and further identifying the social affinity group, the annotation comprising; determining a number of users that are members of the one of the social affinity groups; for each of a plurality of annotation terms, wherein each annotation term describes a relative threshold of a number of users that are members of the one of the social affinity groups, determining a target threshold for the annotation term, and wherein the target threshold for each annotation term is different from the target threshold for each other annotation term; determining, for each annotation term of the plurality of annotation terms, a threshold value based, at least in part, on the number of users that are members of the one of the social affinity groups and the target threshold for the annotation term; comparing the number of users that are members of the one of the social affinity groups to the threshold values; and applying, as the annotation, the annotation term having a target threshold that is i) less than the number of users that are members of the one of the social affinity groups and ii) that is greater than each other target threshold this is less than the number of users that are members of the one of the social affinity groups; and presenting the annotated search result to the user. - View Dependent Claims (13)
-
-
14. A system comprising:
-
one or more computers; and a computer-readable storage device coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising; receiving a search query from a user, the user having a plurality of social affinity groups, each social affinity group identifying a group of users and the user as a proper subset of users of a network; receiving search results responsive to the search query, each search result referencing a corresponding resource that is determined to be responsive to the search query; identifying search results referencing resources that each have an association with one or more of the social affinity groups, where each association corresponds to one of a plurality of association types, each of the plurality of association types specifying one of a plurality of user actions performed by one or more different users of the one or more social affinity groups, the user actions including a user creation of an associated resource and a user endorsement of an associated resource; selecting one of the identified search results for annotation, wherein the selection is based in part on a pre-determined hierarchy of association types that specifies a different priority for each user action specified by an association type, and the selected search result has an association that corresponds to an association type with a highest priority among association types of the associations of the identified search results; annotating the selected search result, the annotation describing the association of one of the social affinity groups with the resource the selected search result references, and further identifying the social affinity group, the annotation comprising; determining a number of users that are members of the one of the social affinity groups; for each of a plurality of annotation terms, wherein each annotation term describes a relative threshold of a number of users that are members of the one of the social affinity groups, determining a target threshold for the annotation term, and wherein the target threshold for each annotation term is different from the target threshold for each other annotation term; determining, for each annotation term of the plurality of annotation terms, a threshold value based, at least in part, on the number of users that are members of the one of the social affinity groups and the target threshold for the annotation term; comparing the number of users that are members of the one of the social affinity groups to the threshold values; and applying, as the annotation, the annotation term having a target threshold that is i) less than the number of users that are members of the one of the social affinity groups and ii) that is greater than each other target threshold this is less than the number of users that are members of the one of the social affinity groups; and presenting the annotated search result to the user. - View Dependent Claims (15)
-
-
16. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
-
receiving a search query from a user, the user having a plurality of social affinity groups, each social affinity group identifying a group of users and the user as a proper subset of users of a network; receiving search results responsive to the search query, each search result referencing a corresponding resource that is determined to be responsive to the search query; identifying a search result referencing a resource having an association with a plurality of users in a particular social affinity group of the plurality of social affinity groups; comparing a count of the plurality of users having the association to a plurality of thresholds, each of the plurality of thresholds corresponding to a numerical range of users and a relative term describing the threshold, wherein a number of users corresponding to each threshold is different from each other number of users corresponding to each other threshold, and wherein the relative term describing each threshold is different from each other relative term describing each other threshold; determining that the count of the plurality of users having the association is within a numerical range of a first threshold of the plurality of thresholds; and in response to determining that the count is within the first threshold, applying the relative term corresponding to the first threshold to the search result.
-
-
17. A system comprising:
-
one or more computers; and a computer-readable storage device coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising; receiving a search query from a user, the user having a plurality of social affinity groups, each social affinity group identifying a group of users and the user as a proper subset of users of a network; receiving search results responsive to the search query, each search result referencing a corresponding resource that is determined to be responsive to the search query; identifying a search result referencing a resource having an association with a plurality of users in a particular social affinity group of the plurality of social affinity groups; comparing a count of the plurality of users having the association to a plurality of thresholds, each of the plurality of thresholds corresponding to a numerical range of users and a relative term describing the threshold, wherein a number of users corresponding to each threshold is different from each other number of users corresponding to each other threshold, and wherein the relative term describing each threshold is different from each other relative term describing each other threshold; determining that the count of the plurality of users having the association is within a numerical range of a first threshold of the plurality of thresholds; and in response to determining that the count is within the first threshold, applying the relative term corresponding to the first threshold to the search result.
-
Specification