The present invention is related generally to determining influence scores of users of social-networking services.
Social-networking services (e.g., Google+™, Facebook™, Twitter™, etc.) are increasingly being used by people to discover multimedia content or other information that is useful or relevant to them. Social-networking websites may also be used by people to prioritize this information.
For example, users of a social-networking website may discover information directly from a source (e.g., by “following” people they know, companies they like, or authorities they trust) or indirectly via other users (e.g., peer users) of the social-networking website (e.g., by viewing information shared, recommended, or commented on by those other users).
There exist a number of user ranking systems, such as Klout™ and Peerindex™. Such systems typically analyze social-networking website data to calculate “influence scores” for users of those social-networking websites. Such systems may also determine an “influence profile” that provides additional insights or metrics (e.g., reach, authoritative topics, engagement, etc.) about users.
These known ranking systems tend to rely on machine-driven analysis of the social-networking website data.
While the appended claims set forth the features of the present invention with particularity, the invention, together with its objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:
Turning to the drawings, wherein like reference numerals refer to like elements, the invention is illustrated as being implemented in a suitable environment. The following description is based on embodiments of the invention and should not be taken as limiting the invention with regard to alternative embodiments that are not explicitly described herein.
Apparatus for implementing any of the below described arrangements, and for performing the method steps described below, may be provided by configuring or adapting any suitable apparatus, for example one or more computers or other processing apparatus or processors, or by providing additional modules. The apparatus may comprise a computer, a network of computers, or one or more processors, for implementing instructions and using data, including instructions and data in the form of a computer program or plurality of computer programs stored in or on a machine-readable storage medium such as computer memory, a computer disk, ROM, PROM etc., or any combination of these or other storage media.
It should be noted that certain of the process steps depicted in the flowchart of
Referring now to the Figures,
Each of the first, second, and further user devices 4, 8, 12 may be any appropriate electronic communications devices, for example, computers (e.g., tablet computers or “smartphones”) or other information appliances. The first user 6 is a user of the first user device 4. Likewise, the second user 10 is a user of the second user device 8. Likewise, each of the further users 14 is a user of a respective further user device 12. The user devices 4, 8, 12 are coupled to the server 2 over a network 16 such as the Internet. Thus, the server 2 may serve to interact with any or all of the users 6, 10, 14 over an interactive electronic medium (i.e., a respective user device 4, 8, 12).
The users 6, 10, 14 are users, or members, of one or more social-networking services (e.g., Google+™, Twitter™, Facebook™, etc.). The users 6, 10, 14 may belong to the same social graphs or networks that are provided by the one or more social-networking services. These social graphs may be directed or undirected. These social graphs may be explicit (i.e., individuals within the social graph may express links to other individuals) or implicit (i.e., links between individuals within a social graph may be based on, for example, trust, respect, positive or negative opinion, etc., expressed between individuals, e.g., directly or by interactions with a shared object or media item). In this embodiment, the users 6, 10, 14 are people. However, in other embodiments the users 6, 10, 14 may be other entities (e.g., web pages, blogs, companies, groups of people, etc.).
The selection module 18 is configured to select and retrieve data accessible via the network 16. This data may, for example, be stored on any of the user devices 4, 8, 12 or on one or more further servers (not shown). The functionality of the selection module 18 is described in more detail below with reference to
The server processor 20 is configured to process data received by it as described in more detail below with reference to
The server storage module 22 is configured to store data received by it as described in more detail below with reference to
The device processor 24 is configured to process data received by it as described in more detail below with reference to
The user interface 26 is configured to display information to the first user 6. Also, the first user 6 may input information into the first user device 4 (e.g., for processing by the device processor 24 or for transmitting, via the network 16, to an entity remote from the first user device 4) using the user interface 26. The user interface 26 may, for example, be a touch-screen display or may comprise a display, a keyboard, and a mouse.
The device storage module 28 is configured to store data received by it as described in more detail below with reference to
At step s2, the selection module 18 selects and retrieves data relating to the second user's interaction with the social-networking website of the second user 10 (hereinafter referred to as “social-networking data” for the second user 10). The social-networking data for the second user 10 may include, but are not limited to, data points from Twitter™, such as following count (i.e., the number of Twitter™ users the second user 10 is “following”), follower count (i.e., the number of Twitter™ users “following” the second user 10), re-tweets (i.e., the number of the second user's Twitter™ posts that have been re-posted by other Twitter™ users), “favorites” (i.e., the number of the second user's posts that have been selected as a “favorite” by other Twitter™ users or the number of posts that the second user 10 has selected as a “favorite”), replies (i.e., the number of posts from the second user 10 that have attracted a directed response from other users or the number of posts where the second user 10 has directed a response to others), context (i.e., the location from which the second user 10 posted updates, keywords, and “hashtags” employed by the second user 10, applications authorized by the second user 10 to post updates on his behalf, etc.), the number of dormant Twitter™ accounts following the second user 10, data indicative of how influential the Twitter™ users that re-post the second user's Twitter™ posts are, a number of “unique mentions” of the second user 10, etc. The social-networking data for the second user 10 may also include data points from Facebook™, such as the number of comments on the Facebook™ profile of the second user 10, the number of “likes” accumulated by the Facebook™ status updates of the second user 10, the number of Facebook™ friends of the second user 10, etc. The social-networking data for the second user 10 may also include data points from Google+™, such as the number and identity of “video chats” initiated (or joined) by the second user 10, the number of content items posted by the second user 10, the number or identity of explicit groups (circles) established by or joined by the second user 10, etc. The social-networking data for the second user 10 may also include profile information for the user (e.g., gender, location, employment, interests) or data points from any other appropriate source.
The selection module 18 may retrieve the social-networking data for the second user 10 by downloading that data, via the network 16, from one or more further servers (not shown).
At step s4, the social-networking data for the second user 10 are sent from the selection module 18 to the server processor 20.
At step s6, the server processor 20 computes, i.e., calculates, a score value (or an “influence score”) using the received social-networking data for the second user 10. This computed score value is indicative of the relative influence that the second user 10 has online (i.e., the influence of the second user 10 relative to other online users). In other words, the influence score for the second user 10 indicates the degree to which the second user's view or opinions influence other users. The terminology “influence score” of a user is used herein to refer to any value based on that user's social-networking activity, i.e., activity within the social networks provided by the social-networking services. Influence scores may be used to rank users of a social-networking service. An influence score for a user may be determined using any or all of the following data: information relating to the user's social-networking profile, information relating to a subject or topic the user has expressed an interest in, information relating to an activity performed in the social network by the user, data relating to the membership of the user in a group, data relating to other members of the user's social networks, data relating to the number of members of the user's social networks, etc.
The influence score value for the second user 10 may be computed using any appropriate algorithm. For example, an algorithm used by Klout™, Peerindex™, or an algorithm used to compute a Kred™ Influence Measurement (or “Kred”) may be used.
The influence score value for the second user 10 computed at step s6 is hereinafter referred to as the “public influence score” for the second user 10.
At step s7, the server processor 20 stores the public influence score for the second user 10 in the server storage module 22. The public influence score for the second user 10 that is stored in the server storage module 22 may be made available for use by entities remote from the server 2.
At step s8, the computed public influence score for the second user 10 is sent from the server 2 to the first user device 4, e.g., via the network 16. This may, for example, be performed as a result of the server 2 receiving an instruction to send the public influence score for the second user 10 to the first user device 4. For example, the first user device 4 may instruct the server 2 to send the public influence score for the second user 10 to first user device 4. Alternatively, the first user device 4 may retrieve, from the server 2, the public influence score for the second user 10.
At step s10, the public influence score for the second user 10 is displayed, to the first user 6, using the user interface 26.
Thus, steps s2 through s10 comprise a process of, for the second user 10, computing (and displaying to the first user 6) an influence score based on all available social-networking data for the second user 10.
In other embodiments, the public influence score for the second user 10 may be retrieved (e.g., via the network 16) from a score repository (not shown). In other words, in other embodiments a public influence score may be calculated automatically by a third party, e.g., a conventional ranking system such as Klout™ (i.e., as opposed to performing steps s2 through s8 as described above). This public influence score may then be retrieved from the third party.
At step s12, the first user 6 may specify a subset of the social-networking data for the second user 10.
The subset of the social-networking data for the second user 10 may, for example, be specified to include only data relating to only topics or subjects that are of interest to the first user 6 (e.g., sports, politics, etc.). These topics of interest may be specified by using keywords or categories etc. In other words, the subset may be specified by removing data relating to subjects that are not of interest to the first user 6. Also, the subset of the social-networking data for the second user 10 may, for example, be specified to only include data from a certain source (e.g., Google+™, Twitter™, or Facebook™, etc.). In other words, the subset may be specified by removing data from certain other sources. Also, the subset of the social-networking website data for the second user 10 may, for example, be specified to only include recent data (e.g., data generated by the second user 10 recently, e.g., in the last week). In other words, the subset may be specified by removing older data (e.g., data generated over a week ago). Also, the subset of the social-networking data for the second user 10 may, for example, be specified to only include specific locations (e.g., data generated by the second user 10 in the locale of the first user 6 or in the location of an event specified by the first user 6).
The subset of the social-networking data for the second user 10 may be specified by the first user 6 in any appropriate way. For example, a list of topics, data sources, locations, or time periods may be presented (e.g., on the user interface 26) to the first user 6. The first user 6 may then select, from the displayed list, those data elements he wishes to include in the subset of the social-networking data for the second user 10. In other words, the subset of the social-networking data for the second user 10 may be selected manually using data filters. Also for example, the subset of the social-networking data for the second user 10 may be specified automatically, e.g., by the device processor 24 using a predefined policy provided by the first user 6. The selection process may also be iterative. For example, the first user 6 may select query criteria (location, topics) using a first selection menu and be presented with a list of matching results from the server 2. The first user 6 may then further select from the displayed list only a subset of data items for one criterion (e.g., location). Also for example, the subset of the social-networking data for the second user 10 may be specified or pre-defined by the first user 6 (or by a different party). Thus, the first user 6 (or the different party) may provide that dataset directly. This tends to allow the first user 6 to introduce data about the second user 10 from face-to-face conversations or from other sources (e.g., email).
At step s14, the specification of the subset of the social-networking data for the second user 10 is sent from the first user device 4 to the server 2, e.g., via the network 16.
At step s16, the server processor 20 computes, i.e., calculates, a new score value (or a new influence score) using the received specification of the subset of the social-networking data for the second user 10. This computed new score value is indicative of the relative influence that second user 10 has online with respect to the criteria used to specify the subset of the social-networking data for the second user 10. For example, if (at step s12) the subset of the social-networking data for the second user 10 was specified by selecting only social-networking data that related to a certain topic, then the new score value computed at step s16 would be indicative of how influential the second user 10 is online with respect to that certain topic.
The new influence score value for the second user 10 may be computed using any appropriate algorithm. For example, the new influence score may be computed using the same algorithm as used at step s6.
The new influence score value for the second user 10 computed at step s16 is hereinafter referred to as a “personalized influence score.” The new influence score value for the second user 10 computed at step s16 is the first user's personalized influence score for the second user 10.
The terminology “personalized influence score” is used because that score value has been calculated using only data that relate to topics, subjects, time periods, sources, etc., that are of interest to the first user 6. Thus, the personalized influence score determined at step s16 has been “personalized” by the first user 6. An influence score for the second user 10 that has been personalized by a further user 14 may be different from the influence score for the second user 10 that has been personalized by the first user 6 because the further user 14 may specify a different subset of the social-networking data for the second user 10 with which to calculate a score value (i.e., the topics, subjects, time periods, sources, etc., that are of interest to the further user 14 may be different from those that are of interest to the first user 6).
At step s17, the server processor 20 stores the influence score for the second user 10 that has been personalized by the first user 6 in the server storage module 22. The personalized influence score for the second user 10 that is stored in the server storage module 22 may be made available for use by entities remote from the server 2. Also, the personalized influence score for the second user 10 that is stored in the server storage module 22 may be stored alongside data indicating that it was produced according to the specification of the first user 6. The criteria according to which, and details of the computation algorithm with which, the personalized influence score for the second user 10 was computed may also be stored.
At step s18, the influence score for the second user 10 that has been personalized by the first user 6 is sent from the server 2 to the first user device 4, e.g., via the network 16. This may, for example, be performed in the same way as step s8.
At step s20, the influence score for the second user 10 that has been personalized by the first user 6 is displayed to the first user 6, using the user interface 26. The public influence score for the second user 10, and the selection criteria used for computing the personalized score, may also be displayed to the first user 6 (e.g., alongside the personalized influence score for the second user 10) for context.
At step s22, the first user 6 may (e.g., if the first user 6 desires) further modify or adjust the personalized influence score for the second user 10. This modified or adjusted personalized influence score for the second user 10 is hereinafter referred to as “the adjusted influence score for the second user 10.” This adjustment of the score may, for example, be performed manually (by the first user 6 increasing or decreasing the value) or by the first user 6 re-specifying the subset of the social-networking data for the second user 10 that is used to calculate the influence score for the second user 10 that has been personalized by the first user 6. In other words, the first user 6 may change his personalized influence score for the second user 10. The first user 6 may do this, for example, to take into account information that may not be available to the server 2, e.g., off-line conversations between the first user 6 and the second user 10 or opinions expressed by the second user 10 in non-electronic media. Also, the first user 6 may, for example, adjust the personalized influence score for the second user 10 depending upon a personalized score for a further user 14 (e.g., further users 14 that may have been selected based on some criteria and whose personalized influence score may have been determined based on the same criteria as the influence score for the second user 10 that has been personalized by the first user 6). For example, the first user 6 may have a higher regard for the views, on a certain topic, of the second user 10 compared to the views, on that certain topic, of a further user 14. The first user 6 may manually adjust the personalized score (for that certain subject) for the second user 10 to be higher than that of a further user 14. Also, the first user 6 may, for example, adjust his personalized influence score for the second user 10 depending upon the identity of the second user 10. For example, the second user 10 may be a family member of the first user 6, and so the first user 6 may manually adjust his personalized score for the second user 10 to be higher to take into account the greater level of influence of the second user 10.
At step s23, the adjusted influence score for the second user 10 may be sent from the first user device 4 to the server 2, e.g., via the network 16. It may also be accompanied by the selection criteria or by additional user-specified criteria (e.g., new context attributes specified by the first user 6 for the second user 10 during the score modification step) associated with that adjusted score.
At step s24, the adjusted influence score for the second user 10 is stored in the server storage module 22 of the server 2. Also, the adjusted influence score for the second user 10 may be stored in the device storage module 28 of the first user device 4. The adjusted influence score for the second user 10 stored at step s24 may overwrite the unadjusted influence score for the second user 10 that was personalized by the first user 6 and stored at step s17.
The adjusted influence score for the second user 10 that is stored in the server storage module 22 may be made available for use by entities remote from the server 2. Also, the adjusted influence score for the second user 10 that is stored in the server storage module 22 may be stored alongside data indicating that it was produced according to the specification of the first user 6. The criteria according to which, and details of the computation algorithm with which, the adjusted influence score for the second user 10 was computed may also be stored.
The influence score for the second user 10 that was personalized by the first user 6 (and any adjustments made to the value by the first user 6) may, for example, be used in the same way as a conventional influence value.
At step s26, the value of the influence score for the second user 10 that was personalized by the first user 6 (and any adjustments made to the value by the first user 6) may be notified to one or more parties or entities. The parties that are notified of the value of the influence score for the second user 10 that was personalized by the first user 6 or changes to the value of that score (e.g., those made by the first user 6) may be subscribers to a service that notifies them of such values and changes.
Parties or entities that may be notified of the value of the influence score for the second user 10 that was personalized by the first user 6, or changes to that value, may include, but are not limited to: (i) the user whose score has been computed or changed, (ii) a system that re-calculates a public influence score for individuals, e.g., based on a plurality of private or personalized influence scores, and (iii) a system that calculates personalized scores for individuals.
For example, the second user 10 may be notified of the value of the influence score for the second user 10 that was personalized by the first user 6 and also the criteria on which that score value was calculated. This may, for example, be used by the second user 10 to assess how influential (e.g., with respect to certain topics, or with respect to certain social-networking websites, or during certain time periods) the first user 6 deems him to be. Also, for example, if, at some point in time, the first user 6 increases or decreases his personalized influence score for the second user 10, then the second user 10 may be informed of this increase or decrease.
Parties or entities that may be notified of the value of the influence score for the second user 10 that was personalized by the first user 6, or changes to that value, may take any appropriate action based on the received information.
Thus, a method of determining influence scores for a user of one or more social-networking websites is provided.
The above described system and method tends to utilize direct input from the producer of the social-networking data (i.e., the user being “scored,” e.g., the second user 10 in the above described embodiment) or a consumer of some or all of that social-networking data (i.e., the user who is “personalizing” the score value, e.g., the first user 6 in the above described embodiment).
The personalized influence score provided by the above described system and method advantageously tends to be subjective, i.e., the personalized influence score tends to depend on the opinion or views of the party personalizing the score. This tends to produce a more useful and meaningful score value for the party personalizing the score value (e.g., the first user 6). Also, this advantageously tends to be useful for the party that the personalized score describes (e.g., the second user 10), as it enables him to see how he is perceived by particular individuals.
The above described method advantageously allows a user to incorporate offline information (e.g., private conversations, etc.) when determining influence scores. This tends to be in contrast to conventional processes that typically only use available online data. This advantageously allows, for example, a user to account for locality in the determination of influence scores. For example, a user may trust his local mechanic's opinion over that of an unknown mechanic and may wish his influence score for the local mechanic to be higher than that of the unknown mechanic. Also, this advantageously allows, for example, a user to account for topic priority in the determination of influence scores. For example, a user may regard expertise in a first topic to be more important than expertise in another topic and may wish his influence score for parties to reflect this opinion. Also, this advantageously allows, for example, a user to account for his personal relationships in the determination of influence scores. For example, a user may have a relative who is not particularly active on a social-networking website and may wish his influence score for that relative to be higher to reflect the fact that the user values the opinions, etc., of that relative more highly than those of a stranger.
In other words, subjectivity biases of a user tend to be advantageously accommodated for by giving that user control over the selection filters and policy that may be applied to the data used in the computation of an influence score. Thus, a user can, in effect, select a subset of content items or people that reflect personal views or opinions, and use those selected items to derive a more appropriate influence score for a different user. Thus for example, a user can ask for the influence score to be computed only using social-graph members within his locality. Also, observability biases of a machine-based system may be overcome by allowing a user to manually adjust the influence score computed by a machine-based system.
A manually adjusted score value may be flagged as “manually adjusted.” If the data that was used for the computation of the influence score change, the influence score may be recomputed. The user may be alerted about the re-computation of the score value and, for example, asked if he wants to impose the same manual adjustment to that new score, or if he wants to impose a different manual adjustment, or just use the new score.
The above described personalized influence scores tend to be advantageously multi-faceted. In other words, a user may view influence scores of a person based upon certain criteria (i.e., with respect to certain topics, locations, social filters, etc.). This tends to be in contrast to conventional influence scores which are typical of only a single score value that is indicative of a user's overall influence and provides no context for the criteria under which that score value was obtained. This multi-faceting tends to be provided by storing both personalized influence scores and the criteria, policies, and adjustment used to create those scores.
Conventional machine-based algorithms that are used to determine conventional influence scores may generate a score value for a user that is, e.g., between 1 and 100. These values may be computed over a large population, e.g., millions of people. An average user tends to have a relatively small number of people in his social graph (e.g., a couple of hundred people). Thus, large clusters of the user's social graph may be awarded the same influence score value. The above described systems and methods advantageously enable a user to produce score values that have a higher degree of discrimination. These score values tend to be more useful for that user.
The personalized score values advantageously tend to reduce errors in commission. In other words, the personalized score values advantageously tend to reduce occurrences of irrelevant or inappropriate content or sources being prioritized for a user. Furthermore, the personalized score values advantageously tend to reduce errors in omission. In other words, the personalized score values advantageously tend to reduce occurrences of relevant or appropriate content or sources not being prioritized for a user. This tends to provide better a better user experience.
The above described system and method advantageously tend to allow a user to create personalized score values that take into account his individual biases and relationships (e.g., that may not be observable by a machine-based system), his individual priorities, interests, or topic weights. Furthermore, a user can create personalized score values despite sparseness of his individual social graph.
The above described system and method advantageously tend to incorporate manual intervention (of a user) to allow personalized influence scores to be created. This manual intervention may be explicitly provided, e.g., via a user interface, or may be implicitly provided, e.g., via user-created rules or policies.
In other embodiments, a user may generate or store a plurality of different influence scores for a different user. For example, a user may compute a “base” score and one or more “derivative” scores for another user. A base score may be a public influence score for the other person (e.g., a score determined as described above with reference to step s6 of
In other embodiments, a user may be assisted or guided during the personalization of an influence score. For example, a “Score Assist Wizard” may be provided (e.g., by a software application running on a user device). Such assistance may be in the form of visual aids.
For example, using the above described method, the first user 6 generates a first personalized score value for the second user 10. This first personalized score value is computed based on a first user-defined policy. Personalized influence scores for the further users 14 computed based on the same first user-defined policy may then be displayed to the first user 6. The first user 6 may use this information to adjust the policy or to adjust the personalized influence score for the second user 10 directly. The first user 6 may also use the information to adjust (or to create) a personalized influence score for the further users 14, in order to maintain a desired distribution or hierarchy of scores across the relevant users. Also, the first user 6 may use this information to adjust the personalized influence scores for one or more of the further users 14 directly.
In other embodiments, a user may compute (and use, store, etc.) a personalized score for a different user based on the personalized scores for that other user that have been determined by one or more different users. For example, the first user 6 may calculate a personalized influence score for the second user 10 as being a weighted combination of the further users' personalized scores for the second user 10. Influence scores computed in this way may, for example, be filtered or manually adjusted as described above with reference to steps s12 through s26 of
In some embodiments, the influence score is a directly estimated objective measure of influence (e.g., estimated using a social graph). In some embodiments, the techniques described herein include a social graph of individuals on the Internet, such as shown in
In view of the many possible embodiments to which the principles of the present invention may be applied, it should be recognized that the embodiments described herein with respect to the drawing figures are meant to be illustrative only and should not be taken as limiting the scope of the invention. Therefore, the invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof.