Hybrid recommendation system
First Claim
1. A method comprising:
- receiving a search request from a search user;
creating a network of entities, the network including relationships among the entities, wherein the entities include a search user entity representing the search user and one or more result entities;
defining trust components and similarity components for the relationships among the entities, wherein the similarity components express relative similarity of the entities and the trust components express relative trust among the entities;
identifying a plurality of search results, wherein the one or more result entities provide the plurality of search results and the plurality of search results are identified based on the search request;
for the plurality of search results provided by the one or more result entities, determining, from the network, a set of relationships connecting the search user entity to the one or more result entities along one or more paths;
determining, based on the set of relationships connecting the search user entity to the one or more result entities, relevance values for the plurality of search results, wherein the relevance values are determined based on both;
individual similarity components that express relative similarity of individual entities along the one or more paths, andindividual trust components that express relative trust among the individual entities along the one or more paths;
ranking the plurality of search results based on the relevance values for the plurality of search results; and
presenting, to the search user, individual search results from the plurality of search results according to the ranking,wherein at least the ranking is performed by a hardware computer processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A recommendation system may use a network of relationships between many different entities to find search results and establish a relevance value for the search results. The relevance value may be calculated by analyzing trust and similarity components of each relationship between the search user and the entity providing the search results. The entities may be, for example, persons associated within express or implied social networks, or corporations or other organizations with a historical or other reputation. The relationships may be created through many different contact mechanisms and may be unidirectional, asymmetric bidirectional, or symmetric bidirectional relationships. The relationships may be different based on topic or other factors.
42 Citations
20 Claims
-
1. A method comprising:
-
receiving a search request from a search user; creating a network of entities, the network including relationships among the entities, wherein the entities include a search user entity representing the search user and one or more result entities; defining trust components and similarity components for the relationships among the entities, wherein the similarity components express relative similarity of the entities and the trust components express relative trust among the entities; identifying a plurality of search results, wherein the one or more result entities provide the plurality of search results and the plurality of search results are identified based on the search request; for the plurality of search results provided by the one or more result entities, determining, from the network, a set of relationships connecting the search user entity to the one or more result entities along one or more paths; determining, based on the set of relationships connecting the search user entity to the one or more result entities, relevance values for the plurality of search results, wherein the relevance values are determined based on both; individual similarity components that express relative similarity of individual entities along the one or more paths, and individual trust components that express relative trust among the individual entities along the one or more paths; ranking the plurality of search results based on the relevance values for the plurality of search results; and presenting, to the search user, individual search results from the plurality of search results according to the ranking, wherein at least the ranking is performed by a hardware computer processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a database comprising entities and relationships among the entities, wherein; the entities including a search user entity representing a search user and one or more result entities, the relationships include trust components and similarity components, the similarity components express relative similarity among the entities, and the trust components express relative trust among the entities; a network creator configured to identify a starting entity and build a network of entities based on the relationships; a search manager configured to; receive a search request from the search user, the search user being the starting entity for the network; search the network of entities to identify a plurality of search results based on the search request, wherein the one or more result entities provide the plurality of search results and the plurality of search results are identified based on the search request; for the plurality of search results provided by the result entities, determining, from the network, a set of relationships connecting the search user entity to the one or more result entities along one or more paths; determine, based on the set of relationships connecting the search user entity to the one or more result entities, relevance values for the plurality of search results, wherein the relevance values are determined based on both; individual similarity components that express relative similarity of individual entities along the one or more paths, and individual trust components that express relative trust among individual entities along the one or more paths; and rank the plurality of search results based on the relevance values for the plurality of search results; a user interface generator configured to present, to the search user, individual search results from the plurality of search results according to the ranking; and a hardware computer processor configured to execute at least the search manager.
-
-
17. A method performed by at least one hardware computer processor, the method comprising:
-
receiving a search request from a search user; performing an analysis of the search request to determine a category for the search request; determining a weighting scheme based on the category, wherein; the weighting scheme assigns a first numerical value to trust components of relationships among entities, the weighting scheme assigns a second numerical value that is different than the first numerical value to similarity components of the relationships among the entities, and the entities include a search user entity and one or more result entities, the search user entity representing the search user; applying the weighting scheme to the trust components and the similarity components, wherein the applying comprises; applying the first numerical value to the trust components of the relationships, and applying the second numerical value that is different than the first numerical value to the similarity components of the relationships; searching the entities to identify a plurality of search results based on the search request, the plurality of search results being provided by the one or more result entities; determining a set of relationships connecting the search user entity and the one or more result entities along one or more paths; determining, based on the set of relationships connecting the search user entity and the one or more result entities, relevance values for the plurality of search results, wherein the relevance values are determined based on both; individual similarity components along the one or more paths weighted by the first numerical value, and individual trust components along the one or more paths weighted by the second numerical value that is different than the first numerical value; ranking the plurality of search results based on the relevance values; and presenting individual search results from the plurality of search results according to the ranking. - View Dependent Claims (18, 19, 20)
-
Specification