Patent Publication Number: US-9420051-B2

Title: Rating based on relationship

Description:
CROSS-REFERENCE TO RELATED CASES 
     This is a continuation of U.S. patent application Ser. No. 11/897,781 (now U.S. Pat. No. 8,296,356), entitled “Rating Based on Relationship”, filed Aug. 31, 2007. 
    
    
     BACKGROUND 
     In on-line services or communities, it is common to offer some kind of rating system. For example, an on-line marketplace can allow its participants to rate buyers or sellers (e.g., “rate your experience with this seller on a scale of one to ten”), or to rate specific items, services, businesses, etc. Question-and-answer services may allow participants to rate each other based on how well they answer questions. A user of such a service, or a participant in the community, normally has the opportunity to view the ratings. Thus, a buyer in an on-line marketplace who is contemplating entering into a transaction with a particular seller can obtain a report on other people&#39;s experience with the seller, such as “previous buyers have given this seller an average rating of 8.7 on a scale of one to ten.” 
     In a community that is not on-line, people have traditionally sought information about services, merchants, items, etc., through recommendations of friends or acquaintances. Due to the trust that may be established through a pre-existing personal relationship, a person may place more weight on opinions offered by friends and acquaintances than he or she would place on the opinions of strangers. Thus, if a person is seeking opinions on a car dealer, a building contractor, a restaurant, etc., he or she may be more likely to put trust in the opinions of his or her friends or acquaintances than in the public at large. On-line rating systems typically provide ratings that are partly or wholly based on the opinions of people who are unknown to the person who is using the rating. 
     Moreover, ratings in on-line rating systems are often subject to certain systemic biases. For example, in an on-line marketplace, a buyer may be given the chance to rate a seller once per transaction, so the aggregate rating of the seller may be skewed toward the opinions of buyers who buy frequently from that seller. Additionally, cliques of participants in the marketplace (or in any other community in which ratings are offered) can agree to rate each other highly, thereby artificially inflating each other&#39;s overall ratings. Regardless of the circumstances under which a rating is generated, on-line rating system generally encourage those seeking information to rely on the opinions of strangers, which is not in line with the traditional practice of seeking word-of-mouth advice from those whom one knows. 
     SUMMARY 
     A rating system can leverage existing social networks to provide valuable information to a user of the rating. A participant in an on-line community may belong, either explicitly or implicitly, to a social network (or other type of network). The network may be based on who is in the participant&#39;s contact list, on who is in a list of “friends” that the participant has specified, on who went to the same college as the user, or on any other kind of relationship. The social network can further be extended to include n-th degree relationships (e.g., friends of friends, friends of friends of friends, people in a contact list of a friend, etc.). To the extent that one may place more weight on the opinions of those in his or her social network than he or she would on the opinions of strangers, the rating system can provide a rating that takes into account the relationships between the person who seeks the rating and the people who provide the ratings. 
     The rating system may take these relationships into account in a variety of ways. For example, the rating system can filter rating data to provide a user with rating information generated by those in the participant&#39;s social network and/or to omit rating information of those who are not in the participant&#39;s social network. Or, in the example of an on-line marketplace, items for sale can be filtered to show the user those items sold by sellers who have been rated by those in the user&#39;s social network. As another example, an average rating can be provided that weighs different rater&#39;s opinions differently depending on whether there is a relationship between the rater and the user, and/or the degree of that relationship. 
     This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of social networks and their members. 
         FIG. 2  is a block diagram of example components that may store and/or use rating and social network information. 
         FIG. 3  is a flow diagram of an example process of providing or using rating information. 
         FIG. 4  is a block diagram of an example user interface that provides rating information based on network information. 
         FIG. 5  is a block diagram of an example user interface in which rating information and network information are used to filter a list of items for sale. 
         FIG. 6  is a block diagram of example components that may be used to implement aspects of the subject matter described herein. 
     
    
    
     DETAILED DESCRIPTION 
     A participant in an on-line community, or a user of an on-line or other software application, may have one or more social networks. It may be the case that a person places greater trust in members of his or her social network than he or she would place in members of the general public. Thus, social networks can be used to enhance the use of ratings, by combining raw rating data with information about whose ratings the user is likely to trust. 
       FIG. 1  shows relationships among participants in several networks. Networks  130 ,  140 ,  150 , and  160  each comprise various users. (Since the participants in an on-line community in which social networks are defined are typically computer users, the people in the example of  FIG. 1  are described, for convenience, as “users.” However, these people need not be users in the traditional sense, and could also be operators, administrators, or people acting in any role.) The networks may, for example, be “social” networks based on personal relationships among users, or based on some common aspect or experience. For example a network can be defined based on people in a user&#39;s contacts list, friends list, Instant Messaging (IM) “buddies” list, users who live on the same street, users who attended the same college, etc. Any type of relationship can be used to define a network. It may be convenient to view these types of networks as being “social networks,” based on human/social relationships. However, the subject matter described herein can be applied to groupings of users based on any type of relationship among those users, regardless of whether the relationship can be described as “social.” Networks  130 ,  140 ,  150 , and  160  may each be defined based on any kind of relationship among particular users. Moreover, the relationships that define these networks can be the same for all of the networks shown, or can be different for the different networks. For example, networks  130 ,  140 ,  150 , and  160  may all be defined based on the “friends” lists of one of each network&#39;s members. Or, as another example, one network may be defined based on the names of people in one of the member&#39;s friends lists, another may be defined based on its members&#39; having gone to the same school, another based on its members&#39; living on the same street, etc. 
     Networks can be delineated based on directional or mutual relationships. For example, user  101  may have a contacts list that includes users  102 ,  103 ,  104 , and  105 , and network  130  may be defined, from the perspective of user  101 , based on which other users are in his or her contacts list. If, for example, user  101  is not in user  102 &#39;s contact list, then one understanding of the concept of a network (the directional sense) is that user  102  is in user  101 &#39;s network, but user  102  is not in user  101 &#39;s network. In this case, network  130  is defined from user  101 &#39;s perspective based on his or her contact list. However, delineating the boundaries of a network based on user  102 &#39;s contact list would result in a different network than network  130  (i.e., one that does not include user  101 ). As another example, users  101 ,  102 ,  103 ,  104 , and  105  may have attended the same college as each other, in which case these users are in the same network based on a property that is mutually true for all of them (i.e., the property of having attended a particular college). This situation is an example of a network in the mutual sense. The subject matter described herein relates to networks, whether such networks are based on directional relationships, mutual relationships, or any other type of relationship. 
     Network  130  comprises users  101 ,  102 ,  103 ,  104 , and  105 . Network  140  comprises users  104 ,  105 ,  106 ,  107 ,  108 , and  109 . Network  150  comprises users  109 ,  110 ,  111 ,  112 ,  113 . Network  160  comprises users  114 ,  115 , and  116 . Users  104  and  105  are members of both network  130  and network  140 . User  109  is a member of both network  140  and network  150 . Network  160  has no members in common with any of the other networks shown. 
     Based on overlap of membership among some of the networks, it is possible to describe a concept of the degree of a relationship. Users  101  and  105  are both in network  130 , and line  152  indicates a connection between these users within a single network. The fact that these two users are in the same network  130  indicates a first-degree relationship between the users. Users  101  and  109  are not in the same network as each other, but user  109  is in user  105 &#39;s network, and user  101  is in user  105 &#39;s network. Thus, user  101  is connected to user  109  through user  105  (as indicated by lines  152  and  154 ), and the relationship between user  101  and  109  can be described as a second-degree relationship. Similarly, there is a relationship between user  101  and  111  (as indicated by lines  152 ,  154 , and  156 ), and this relationship can be described as a third-degree relationship. Since network  160  is isolated from the other networks shown, the members of that network (users  114 ,  115 , and  116 ) do not stand in a discernible relationship with users  101 - 113 . 
     The networks defined by relationships among users can be collected and stored in a relationship database  202 , such as that shown in  FIG. 2 . 
       FIG. 2  shows a system in which social network and rating information may be collected and used. Users  204 ,  206 , and  208  (who may be similar to the users  101 - 116  shown in  FIG. 1 ) create and/or provide relationship information, which may be stored in a network database. For example, when users create contacts lists, friends lists, IM buddies lists, etc., this information may be collected and stored in relationship database  202 . In addition to the information that users  204 ,  206 , and  208  provide to define their relationships explicitly (e.g., by including other users in a friends list), information may be collected about these users and may be used to define relationships apart from the user&#39;s explicit statement of whom his relationships are with. For example, it may be determined through explicit questioning of users, data mining, etc., that user  204  is an alumnus of a particular college or lives in a particular city. This information may be used to place user  204  in a network that includes alumni of that college or residents of that city, and user  204 &#39;s membership in that network may be recorded in relationship database  202 . 
     Users  204 ,  206 , and  208  may also provide rating information  210  that may be stored in rating database  212 . An object, thing, service, product, person, etc., that can be rated can be described as a “rating target”  220 . Cars, restaurants, Internet Service Providers, other users, etc., are examples of rating targets. Some rating targets are people (e.g., a seller, a person who offers an answer to a question, etc.), but some rating targets are non-people (e.g., restaurants or other businesses, cars, etc.). When users rate rating targets (e.g., when user  208  rates rating target  220 ), this rating information can be stored in rating database  212 . For example, rating database may store raw rating data, such as the identity of a user who provided the rating, what target was being rated, and the rating itself (e.g., “user  208  rates Joe&#39;s Restaurant four out of ten stars” is an example of such raw rating data). 
     Application component  214  is a component that makes use of rating information to provide information to a user. For example, user  204  may communicate with application component  214  to request and obtain rating information (as indicated by the arrow connecting user  204  with application component  214 .) Examples of systems that can be implemented with application component  214  include: an on-line marketplace that enables participants to buy and sell items, and that provides a mechanism for rating buyers, sellers, items for sale, etc.; a web site that facilitates a question-and-answer community, in which users rate each other&#39;s performance in answering questions; a review and/or opinion web site, in which users provide ratings of products, services, movies, etc. In addition to these examples, application component  214  could also be a different type of component. 
     Application component  214  communicates with rating database  212  in order to obtain ratings. Additionally, application component  214  communicates with social network component  216 , which identifies users as being part of a social network. Social network component  216  obtains, from relationship database  202 , data on relationships among users. Social network component  216  uses a criterion (or plural criteria)  218  to determine what type of relationship constitutes two users being in the same network. For example, criterion/criteria  218  may say that B is in A&#39;s social network if B appears in A&#39;s contact list, if B went to the same college as A, etc. Application component  214  provides information to a user based on rating information from rating database  212 , and on information about which users are in a common social network as reported by social network component  216 . However, the nature of the information that application component  214  provides to a user depends on what functionality application component  214  is designed to implement. 
     For example, if application component  214  implements an on-line marketplace, then application component  214  may combine rating information with social network information to provide the user with the average score that members in the user&#39;s social network have given to a seller, or to provide the user with a list of items sold by sellers who have been rated by members of the user&#39;s social network. As another example, if application component  214  implements a web site that provides reviews and opinions on products, then application component  214  may provide the average rating that members of a particular user&#39;s social network have given to a product. 
     It should be noted that  FIG. 2  shows various functional components as being separate entities, but the functionalities represented by these components could be apportioned differently from what is shown. For example, relationship database  202  and rating database  212  could be a single database. As another example, social network component  216  can be separate from application component  214  as shown, but can also be part of that component. The various functionalities shown in  FIG. 2  can be arranged or implemented in any manner. 
       FIG. 3  is a flow diagram of an example process of providing using rating information. In  FIG. 3 , the various stages of a process are shown as occurring in a particular order, as indicated by lines connecting blocks, but these stages may occur in any order, and in any combination or sub-combination. Moreover, the stages of  FIG. 3  may be carried out in the system shown in  FIG. 2 , but may also be performed in any system. 
     At  302 , an indication is received of a rating target for which a rating is to be obtained. As previously noted, this target can be a person, an object, a service, a product, a business, or any object that can be rated. One example of receiving an indication of the target to be rated is when a user asks for a rating of a specific person, product, service, business, etc. A seller in a potential purchase transaction is an example of a rating target (e.g., a buyer might want to obtain ratings of such a seller before entering into the transaction), but the rating target could be a person in some other context (e.g., someone seeking an answer to a question might want to obtain ratings of the person answering the question before accepting that person&#39;s answer), or could be a non-person such as a restaurant, a car, etc. 
     At  304 , a set of rater(s) who stand in a given relationship to a particular user is identified. For example, if a particular user has requested a rating of a target, then a set of users can be identified that stand in a particular relationship to the requesting user. The relationship in question can be any type of relationship, such as a social networking relationship of n or fewer degrees. For example, social networks could be defined based on who is in a user&#39;s contact list, or which users attended the same school, and the relationship referred to at  306  could be all raters that are within two degrees of the user who has requested a rating (e.g., friends of A (degree one), and friends of friends of A (degree two)). Thus, if user A&#39;s contact list contains user B, whose contact list contains user C, then A has a two-degree relationship with C and could be included in the set of users that stand in the given relationship to C. If A&#39;s contact list contains D, who attended the same school as E, then a two-degree relationship between A and E can also be said to exist and E can also be included in the set. 
     At  306 , rating information for the target is obtained. For example, the rating information may be obtained from rating database  212  (shown in  FIG. 2 ). 
     At  308 , information is communicated to the user based on the ratings obtained at  306 , and on the set identified at  304 . This information may differentiate, in some manner, between members of the set identified at  304  and members outside of this set, and/or may differentiate between the ratings between these two groups. As discussed above, people tend to differentiate between opinions of those they know and opinions of strangers. Differentiation between different participants of an on-line community based on what kind of relationship they have with a person who is seeking a rating may reflect the practice that people employ in a non-on-line setting. 
     The information communicated to a user, and the way that the information differentiates among different users, can take various forms. For example, the ratings of the rating target may be divided based on whether the ratings were provided by members of the set identified at  306 , or by other raters.  FIG. 4  shows an example of this situation.  FIG. 4  shows a rating  400  of a seller, in the form of a user interface that may be displayed as part of an on-line application. The seller may, for example, be a seller in an on-line marketplace. Rating  400  shows the seller&#39;s user-id (“JDoe”), and lists an overall rating as a number (8.5 out of 10, based on raters in general) and an “in-network” rating (2.1 out of ten) representing the opinions of members of the set identified at  306 . As can be seen, in this example members of the set determined at  306  tend to have a different opinion of the seller than do raters in general. The rating may also include more specific information, such as which people in the user&#39;s network rated the seller, and may offer a link to allow the user to see those persons&#39; ratings of the seller. 
     Another example of the kind of information that can be communicated is shown in  FIG. 5 . List  500  (which is shown in the form of a user interface, as it could be displayed by an on-line application) is a list that contains identifications of items offered by sellers who have been rated by those who stand in a particular relationship to the one for whom the list has been prepared. For example, an on-line marketplace may offer the option to search for items that are being offered for sale by sellers that have been rated within a given buyer&#39;s social network. Thus, the information provided is a filtered list of items for sale, which includes those items offered by sellers that have ratings from members of the buyer&#39;s social network. The information shown in  FIG. 5  differentiates between members of the set defined at  306  and those who are outside that set, in the sense that the list is made up of items offered by sellers that have been rated by members of the set, but does not include items offered by sellers that have not been rated by members of the set. The list may also include more specific information, such as how many members of the buyer&#39;s network gave positive ratings to the seller of each item. The list may also offer links to each of these ratings. 
     Another way that information based on the ratings can be provided to the user is to perform a computation that calculates some type of aggregate of ratings (e.g., an average, sum, etc.), where the aggregate is weighted based on the relationship of the rater to the person requesting the rating. For example, as the degree of relationship between the rater and the person requesting increases, the weight of that rater&#39;s rating may decrease in the calculation. As another example, ratings may count in the calculation if they come from raters who are within n degrees of the person seeking the rating, and otherwise may be disregarded in the calculation. In one example, raters who are within n degrees of the person seeking the rating may have their ratings weighted the same, and ratings may be reduced to a zero weight if they are from raters who are more than n degrees from the person seeking the rating. 
       FIG. 6  shows an example environment in which aspects of the subject matter described herein may be deployed. 
     Computer  600  includes one or more processors  602  and one or more data remembrance devices  604 . Processor(s)  602  are typically microprocessors, such as those found in a personal desktop or laptop computer, a server, or a handheld computer. Data remembrance device(s)  604  are devices that are capable of storing data for either the short or long term. Examples of data remembrance device(s)  604  include hard disks, removable disks (including optical and magnetic disks), volatile and non-volatile random-access memory (RAM), all types of read-only memory (ROM), flash memory, magnetic tape, etc. Data remembrance device(s) are examples of computer-readable storage media. 
     Software may be stored in the data remembrance device(s)  604 , and may execute on the one or more processor(s)  602 . An example of such software is rating and/or social network software  606 , which may implement some or all of the functionality described above in connection with  FIGS. 1-5 . Software  606  may be implemented, for example, through one or more components, which may be components in a distributed system, separate files, separate functions, separate objects, separate lines of code, etc. A personal computer in which a program is stored on hard disk, loaded into RAM, and executed on the computer&#39;s processor(s) typifies the scenario depicted in  FIG. 6 , although the subject matter described herein is not limited to this example. 
     The subject matter described herein can be implemented as software that is stored in one or more of the data remembrance device(s)  604  and that executes on one or more of the processor(s)  602 . As another example, the subject matter can be implemented as software having instructions to perform one or more acts, where the instructions are stored on one or more computer-readable storage media. 
     In a typical environment, computer  600  may be communicatively connected to one or more other devices through network  608 . Computer  610 , which may be similar in structure to computer  600 , is an example of a device that can be connected to computer  600 , although other types of devices may also be so connected. 
     Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.