The present invention generally relates to online communities. More particularly, the present invention relates to a method (and a corresponding system) for managing the reputation (e.g., expressed in terms of reputation scores) of members of the online communities.
The spread of the Internet and mobile connected devices led to an increase of online interactions between people, and especially to the growth of online communities, where people (or members of the online communities) share experiences, information and opinions.
Most of the socio-economical value generated in the online communities derives from services that rely on the interaction and on the exchange of information/assets among the members. For this reason trust among members is a key element for the success of the online communities. While in the real world people know themselves in person and assess their respective trustworthiness by direct experience and by observing each other, in the digital world there is a need to find alternative solutions for assessing mutual trust. For this reason digital services, based on online communities, need to implement mechanisms able to assess and track the trustworthiness of their members in a reliable and transparent way. These kind of solutions are usually referred to as “Reputation Management Systems” (hereinafter, RMS systems).
RMS systems are currently adopted by e-commerce systems and other exchange services at global level. In these RSM systems, customers/retailers need to evaluate the mutual trustworthiness or need to assess the reliability of published information. More in details, in some e-commerce systems, the members of the online community are represented by the set of subscribers (Sellers/Buyers) who perform e-commerce activities. According to a common approach, members are suggested to exploit textual feedback and stars ratings to support other sellers/buyers in assessing buyers/sellers reputation before starting any transaction. In this case, the reputation indicators are: the number of completed transactions, the rating average and a percentage of member satisfaction expressed on the basis of recent transactions.
US2008109244 discloses a method and a system for evaluating the quality of a contribution made by a user in a distributed online community framework. The quality of contribution is assessed by assigning a reputation score to the user across multiple online communities. The reputation scores of users are assigned on the basis of contributions of users and ratings received from other users for the contribution. The method provides for users to rate each other across multiple communities. Such a document further discloses a method and system for maintaining reputation profiles of users of online communities. The system also allows maintaining a unique reputation profile across the distributed online communities.
US20090070130 discloses a system and method that includes receiving a feedback score relating to a transaction engaged in by a user. The system and method also includes applying a weight to the feedback score based on weighting criteria to create a weighted feedback score. Further, generating a reputation score for the user based on the weighted feedback score may also be implemented. In an additional example embodiment, the system and method includes identifying a reputation score relating at least one neighbor of a user, the at least one neighbor of the user including another user with whom the user has engaged in a transaction. Further, the system and method includes ordering the reputation score relating to at least one neighbor of the user to create an ordered reputation score. Moreover, the system and method includes displaying the ordered reputation score.
The Applicant has recognized that none of the cited prior-arts solutions is satisfactory.
Indeed, these prior-art solutions does not provide mechanisms that could reproduce, in any online community, the trust relations that establish among people interacting in the real world.
In view of the above, the Applicant has perceived that a need exists to reproduce, into the digital space of any online community a mechanism similar to that used in a real environment for assigning a score to the member of the online community so as to increase the overall quality of life of the online community, and, in order to achieve that, has devised a RMS system (and method) wherein a reputation score for each member of the online community is calculated and dynamically updated on the basis of the reputation scores of the members connected thereto (as well as on the basis of activity and inactivity of that members in the online community).
One or more aspects of the present invention are set out in the independent claims, with advantageous features of the same invention that are indicated in the dependent claims, whose wording is enclosed herein verbatim by reference (with any advantageous feature being provided with reference to a specific aspect of the present invention that applies mutatis mutandis to any other aspect).
More specifically, one aspect of the present invention relates to a method for managing reputation scores of members of an online community. Each member is associated with a set of inviting members having invited that member to join the online community and with a set of invited members having being invited by that member to join the online community. The method comprises, for each member:
determining a respective reputation score at the time when he/she joins the online community, and
updating the respective reputation score based on a change in the reputation score of at least one among
According to an embodiment of the present invention, said updating the reputation score comprises, for each member, at least one among:
According to an embodiment of the present invention, said applying the determined weighted changes in the reputation scores comprises adding the weighted changes in the reputation scores to the reputation score to be updated.
According to an embodiment of the present invention, the method further comprises determining, for each member, an activity parameter indicative of each activity performed by that member in the online community. Preferably, said updating the reputation score of each member comprises, for each member, applying the activity parameter determined for that member to the reputation score of that member.
According to an embodiment of the present invention, said applying the activity parameter comprises adding the activity parameter to the reputation score to be updated.
According to an embodiment of the present invention, each activity belongs to a set of possible activities that are allowed to be performed in the online community. Preferably, said determining an activity parameter comprises, for each activity performed by each member:
According to an embodiment of the present invention, the activity parameter is determined at each activity time interval. Preferably, said determining a feedback parameter is carried out at each feedback time interval indicative of a maximum time interval, from the time instant at which the activity has been performed, within which the feedbacks for that activity can be received. Even more preferably, the activity parameter is determined, for each member, according to those activities performed by that member during said activity time interval and whose feedback time interval has elapsed.
According to an embodiment of the present invention, the method further comprises determining, for each member, an inactivity parameter indicative of an inactivity time of that member in the online community. Preferably, said updating the reputation score of each member comprises, for each member, applying the inactivity parameter determined for that member to the reputation score of that member.
According to an embodiment of the present invention, said determining, for each member, an inactivity parameter is based on an inactivity function whose trend is compliant with at least one among the following conditions:
According to an embodiment of the present invention, said determining, for each member, an inactivity parameter is based on an inactivity function having:
According to an embodiment of the present invention, said applying the inactivity parameter comprises multiplying the reputation score to be updated, the activity parameter and the weighted changes in the reputation scores by said inactivity parameter.
According to an embodiment of the present invention, the inactivity parameter for each member is determined at each inactivity time interval. Preferably, the inactivity time interval is higher than, or equal to, the activity time interval. The feedback time interval is preferably lower than the activity time interval.
According to an embodiment of the present invention, the change time interval is higher than, or equal to, the activity time interval.
According to an embodiment of the present invention, said determining a reputation score for each member of the online community at the time when he/she joins the online community is based on at least one among:
According to an embodiment of the present invention, said determining a reputation score for each member of the online community at the time when he/she joins the online community is based on the reputation score of the inviting member, among said set of inviting members, whose invitation to join the online community has been accepted by that member.
Another aspect of the present invention relates to a computer program product directly loadable into a memory of a computer, the computer program product comprising software code means adapted to perform the method steps when run on the computer.
The mechanisms used in the computation of the reputation score promote and incentivize each single user toward a trustworthy behavior, the mutual responsibility/commitment and to the improvement of his/her own active contribution in the community also, for example, by inviting or by recommending other/new members of/in the community.
In this way, the trust score so calculated reproduces some trust mechanisms existing in the real world. The score is directly affected not only by the activities and behaviors of the participants, but it is also propagate in the community on the basis of a Network Evolution Topology of the community, that is the set of peers and connections created on invitation by each user while the network grows. In this way the trustworthiness of “connected” members (i.e. inviting/invited or recommended members) is reciprocally influenced by the trust score, activities and behaviors of the other members. As in the real world, where trustworthiness is not only evaluated in terms of individual properties but also from the properties of the community, the circles and the personal/professional relations involving each individual (see, e.g., the principle of the reference letters), this mechanism ensures the responsibility in mutually promoting each ones reputation.
A RMS system of this type is more adequate to generate a reliable trust score, if compared to the RMS systems already in use.
These and other features and advantages of the present invention will be made apparent by the following description of some exemplary and non-limitative embodiments thereof; for its better intelligibility, the following description should be read making reference to the attached drawings, wherein:
As shown in the figure, one or more users 105 can connect to one (as depicted) or more online communities 110 over a communication platform 115 (such as the Internet) through client devices 120 (such as personal computers, as depicted, or laptops, PDAs, or other devices with capabilities of communicating with the communication platform 115). It must be apparent to a person skilled in the art that although the Internet has been mentioned as example of communication platform 115, the present invention equivalently applies when other forms of network (e.g., LAN, WAN, mobile network, or a combination thereof) are considered. Moreover, as used herein, the term “online community” includes, without exception, discussion forums, blogs, social media platforms, e-commerce communities, photo and video sharing sites, business related communities and the like. In possible embodiments, all falling within the protection scope of the present invention, the term “online community” may also denote a subset of the online community (e.g., such as a friendship circles of each member of an online community).
The users 105 that are registered to the online community 110 (hereinafter referred to as members of the online community 110, or members) can participate in various activities across the online community 110 and make contributions. A “Reputation Management System” (hereinafter, RMS system) 125 is connected to the online community 110 and to the client devices 120 (and, hence, to the respective members) through the communication platform 115, for managing reputation scores of the members of that on line community 110.
The RMS system 125 may have a centralized nature (as herein exemplary assumed and illustrated), or a distributed nature. By way of example only, at least part of the RMS system 125 may be located at an online community server (not shown) hosting the online community 110—the online community server may be, for example, a computer server including a processor, transient memory (e.g., RAM), persistent memory (e.g., hard drive), input device and circuitry to provide communication paths between the components. Additionally or alternatively, the RMS system 125 may be arranged for managing the reputation scores of users 105 that are registered in multiple online communities 110. In this case, a RMS system 125 shared among multiple online communities 110 may be provided.
In general, the RMS system 125 is based on:
As shown in the figure, the RMS system 125 comprises an identification information receiver 205 for receiving member identification information, and a contribution receiver 210 for receiving contributions of each member to the online community 110.
Contributions made by each member to the online community 110 may be in the form of comment, reply, query, photo, video or any other input given by the member to the online community 110. A member can give a rating to contributions made by other users. This rating may be quantitative or qualitative. Contributions can also be in the form of a member vote on an ongoing discussion in the online community. For example, if the online community is a blog, the contribution may be a comment on the blog. Similarly, if the online community is a Wiki, the contribution may be in the form of an article. In other embodiments, contribution by the member may be in the form of feedback, reply, query or the like.
The RMS system 125 preferably comprises a reputation controller 215 for determining and updating the reputation scores of the members. In addition, the reputation controller 215 preferably comprises a member validator 220 for analyzing the identification information to validate the member, and a contribution validator 225 for validating the member contribution.
Basically, the RMS system 125 is aimed at determining and managing (e.g., updating), for each member of the online community 110, a “Dynamic Trust Score” (hereinafter, DTS score), i.e. an evolved reputation score that allows taking into account the evolution of the online community 110 and of their members (as detailed below).
According to the principles of the present invention, the RMS system 125 operates as follows:
According to an embodiment of the present invention, a user 105 (not yet included in the online community 110) can join the online community 110 (thereby becoming a new member mnew) via an invitation (hereinafter referred to as DTS invitation) from a member that is already part of the online community 110 (hereinafter referred to as inviting member mold). Hence, a DTS invitation comprises an inviting member mold and an invited member (i.e., the member that, upon acceptance of the DTS invitation, will become the new member mnew—in the following, also the invited member being denoted by the symbol mnew).
A DTS invitation can thus be defined as follows:
i.e. a DTS invitation is instantiated (i.e. stored, and the invited member mnew becomes part of the online community 110) only when, at the time instant t, the invited member mnew accepts it.
According to embodiments of the present invention, each member may be associated with a set of (zero, one or more) inviting members having invited that member m to join the online community 110 and with a set of (zero, one or more) invited members having being invited by that member m to join the online community 110.
Preferably, the DTS invitation for a new member can be initialized only by an old member (i.e., a user 105 that is already a member of the online community 110) and, in case of multiple invitations to join the online community 110, only the first invitation accepted by the invited member mnew becomes valid and is tracked into the RMS system 125 (i.e., in the reputation controller 215 thereof) as a DTS invitation.
Preferably, it is assumed the existence of an initial member mroot of the online community 110 (e.g., a fictitious member, or an administrator of the RMS system 125). Consequently, the set of first members of the online community 110 (since its creation or earlier accepted in it) could be considered as invited by the initial member mroot.
According to an embodiment of the present invention, a new member mnew can also join the online community 110 with no direct invitation (e.g., when his/her identity can be verified at a centralized level, e.g. by means of the member validator 220), in which case he/she will be considered to be invited by the initial member mroot by default.
According to the previous definitions, the following property holds for DTS invitations:
∀mj,mj≠mroot·∃!mi,t:INV(mi,mj,t)
which means that for each member (denoted by mj in the above mathematical relation) different from the initial member mroot, always exists only one member (denoted by mi in the above mathematical relation) that invited him/her and whose invitation has been accepted at the time instant t. In the following, a generic member will be also denoted by m.
The set of connections created on DTS invitations by the members m of the online community 110 identify, as a whole, a connection network (hereinafter, DTS network). The DTS network can be represented as a directed graph where the vertices are the members of the online community 110 and the edges correspond to the DTS invitations (invitation relations among the members). For example, there is a direct edge (mold, mnew) between a couple of members, if the two members are connected because an invited member mnew accepted the invitation of an inviting member mold, and thus a DTS invitation INV (mold, mnew, t) exists. In other words, the DTS network reflects the trusted relations between the members of the online community 110.
To this purpose, given a set of members C of the online community 110, the DTS Network ŇC of C can be defined as the graph:
Ň
C=(VC,EC)
wherein
V
C
=C
E
C={(mi,mj)|∃mi,mjϵVc,∃t·INV(mi,mj,t)}
In particular, given the above property holding for DTS invitations, the DTS network is a (direct) tree, rooted in mroot. This is schematically shown in
In embodiments of the present invention wherein no initial member mroot is set, the DTS network is a (direct graph) tree forest, where the initial/former members of the on line community 110 are the roots of the different (direct) trees.
According to an embodiment of the present invention, the RMS system 125 could store and keep track of the invitations received and not accepted (but not refused) by a new member mnew, although only one invitation (the first accepted/confirmed) per new member mnew should become his/her DTS invitation. The remaining (not refused) invitations could be stored in a proper memory (not shown) of the RMS system 125 (e.g., in the reputation controller 125) as well as in the direct edges (of different type) of the DTS network graph for different purposes; in this case the DTS network would become a DAG (“Direct Acyclic Graph”) instead of a tree. Formally, every invitation that has not yet been accepted nor rejected by a new member mnew can be defined as:
As a result, the direct acyclic graph ŇCEXT can be defined as:
Ň
C
EXT=(VC,[EC∪ES])
by extending the DTS Network with the addition of the set of edges representing the invitations, where:
E
S={(mi,mj)|∃mi,mjϵVC,∃t·END(mi,mj,t)}
Additionally or alternatively, an invitation to a new member mnew could be stored even when it follows a DTS invitation that has been already accepted by that new member mnew. This can enable various extensions for taking into account different scenarios that may arise during the “life” of the online community 110. For example, by keeping track of the invitations not accepted/refused, it could be possible for a member m at a certain point of time to repudiate (e.g., with a penalty) his/her inviting member (in case that the mutual trustworthiness has passed) and switching to another member belonging to an endorsement/invitation list of that member m. Not accepted/rejected invitations could also be used in case the inviting member of a member leaves the online community 110.
As should be readily understood, according to specific implementations of the RMS system 125 (in turn depending on the intended context), different scenarios could also be envisaged without affecting the principles of the present invention. For example, the RMS system 125 may take into account the following scenarios:
According to an embodiment of the present invention, the DTS score of each new member mnew is calculated by first assigning an initial DTS score to that member mnew at the time he/she joins the online community 110.
As the new member mnew has not yet performed any activity, the value of his/her initial DTS score is preferably determined according to at least one among amount and/or relevance and/or quality of personal information provided by that new member mnew upon joining the online community 110 (assuming that the disclosure of more identifiable information makes the user more recognizable and more trustworthy), and the DTS score of one or more inviting members among the set of inviting members. More preferably, in the light of the considered preferred embodiment wherein only the inviting member (among the set of inviting members) whose invitation to join the online community 110 has been accepted is considered as the actual inviting member, the value of initial DTS score for the new member mnew is determined according to at least one among amount and/or relevance and/or quality of personal data provided by that new member mnew upon joining the online community 110, and the DTS score of his/her inviting member.
In other words, the value of the initial DTS score for each new member mnew is preferably determined according to at least one among:
Formally, being t0 the time instant at which the DTS invitation INV(mold, mnew, t0) has been created, i.e. the time instant at which the new member mnew accepts a the invitation of an inviting member mold and joins the online community 110, the initial DTS score can be defined as follows:
IDTS(mnew)=DTS(mnew,t0)=[α·DTS(mold,t0)]+[/β·ACC(mnew)]
wherein:
According to an embodiment of the present invention, the more the personal information provided by the new member mnew about himself/herself, the more her/his identity (and thus her/his accountability) can be verified. Anyway, other alternative indicators, such as the certification or the verification of the information provided by the new member mnew can also be used in embodiments of the present invention (e.g., the mobile phone number can be verified by SMS, the e-mail address can be verified by e-mail, the address can be verified by mail, and the like) as well as other personal information that can be verified by the online community members (e.g., if a certain number of members of the online community 110 confirm the registered identity, this can be considered truthful with a high likelihood). As mentioned above, in determining the initial DTS score, the accountability score ACC(mnew) is optional and dependent on the specific implementation. In particular, the accountability score ACC (mnew) for a new member mnew, which takes into account the amount of personal information provided by him/her, has the property of further increasing the value of the associated DTS score, otherwise calculated only based on the DTS score of the inviting member mold. If no personal information, other than those strictly required, is used, the accountability score ACC(mnew) will have a null effect (being for example set to zero). In addition, as should be readily understood, the greater the value of the factor β, the higher the influence of the accountability of the new member mnew when determining his/her initial DTS score inter alia, the optional nature of the accountability score ACC(mnew) can also be observed from the value range set out above for the factor β (i.e., βϵ[0,1]), wherein the 0 is included, as opposed to the value range set out above for the factor α (i.e., αϵ(0,1]), wherein instead the value 0 is not included, it meaning that in the considered embodiment the current value of the DTS score for the inviting member mold (i.e., DTS(mold, t0) is in each case considered for evaluating the initial DTS core of the new member mnew (i.e., IDTS(mnew)). According to an embodiment of the present invention, let {right arrow over (d)} be a binary vector of length n, where n is the number of attributes/parameters (e.g., mandatory or optional personal information) requested to any invited member mnew during her/his registration to the online community 110 (e.g., by filling the registration form), then the accountability score ACC(mnew) for the invited member mnew may be calculated as follows:
wherein:
Updating the DTS Score Over Time
For the sake of convenience, from now on reference will be made to a generic member m of the online community 110, without distinction between new and old members (indeed, as mentioned above, the updating of the DTS score over time preferably involve equally, i.e. indiscriminately, all the members of the online community 110).
Broadly speaking, the DTS score of each member m is updated or actualized over time in order to always better represent the changing reputation/trustworthiness of each member m in his/her online community 110, for instance according to the quantity and quality of the actions/activities performed by that member m in the online community 110 (e.g., according to a number of activities, to a type of activity, to a success/resolution state thereof, or to an influence thereof on the online community 110 in terms, for example, of number of involved members m and of importance of the activity), according to his/her participation (e.g., how often he/she performs certain activities), according to evaluations provided by the other members m on his/her activities (e.g., positive or negative feedbacks), and/or according to activities of the other members m of the online community 110 connected (through the DTS network) to that member m.
According to an embodiment of the present invention, the DTS score of a member m can be adjusted/updated by taking into account at least one among the following factors (or parameters):
Preferably, in order to perform the DTS score update, it is sufficient that at least one among the DTS factors (i.e., the DTS activity factor, the DTS time decay factor and the DTS propagation factor) is affected, and hence that at least one among the associated events takes place. In other words, in order to perform the DTS score update of a member m, it is sufficient that at least one among the following events takes place: an activity (with received feedback) performed by that member m, an activity (with received feedback) performed by a member connected to that member m, and inactivity of that member m.
According to embodiments of the present invention, only a subset of the DTS factors (or, equivalently, of the associated activities), are considered. Additionally or alternatively, the DTS factors (or a subset thereof) are considered when predetermined conditions occur (e.g., a time threshold) or for specific (e.g., groups of) members. For example:
In the following, possible embodiments of the DTS activity factor, of the DTS time decay factor and of the DTS propagation factor will be discussed in greater detail.
As should be understood, the computations of the DTS activity factor, of the DTS time decay factor and of the DTS propagation factor may be regarded as corresponding steps of a method, e.g. implemented by the reputation controller 215, for updating the DTS score of each member of the online community 110. This method may be in the form of software code means adapted to perform respective steps (corresponding to the mathematical relations discussed below) when run on a computer (e.g., of the reputation controller 215), the software code means being adapted to be included in a computer program product loadable into a memory of a computer for being run on it (for the purposes of the present invention, the term “computer” being construed in its broader meaning of any device having processing/computing capabilities, including for example a microprocessor or an application-specific integrated circuit (ASIC)). A conceptual representation of main method steps corresponding to the computation of the DTS activity factor, of the DTS time decay factor and of the DTS propagation factor are shown in
DTS Activity Factor
According to an embodiment of the present invention, the DTS activity factor is determined and applied to the DTS score to be updated.
Preferably, the DTS activity factor contributes in updating the DTS score of a member m by “awarding” (i.e., increasing) his/her DTS score when he/she strongly contributes in the online community 110, by performing (many) “good” activities and being positively evaluated for his/her contributes in such activities by the other members of the online community 110. On the contrary, the DTS activity factor preferably contributes in decreasing the trustworthiness of the member m (i.e., by decreasing his/her DTS score) when he/she performs “bad” activities or his/her activities are negatively evaluated by the other members of the online community 110.
Even more preferably, in order to achieve that, the DTS activity factor is added to the DTS score to be updated.
The activity of each member m can be identified by a set of possible activities that are allowed to be performed in the online community 110. According to an embodiment of the present invention, each possible activity A that can be performed by a member m is described by one or more (preferably all) the following parameters:
Summarizing, each activity A that is allowed to be performed by each member m of the online community 110 can be defined by the following tuple:
A=<A
name
,A
type
,A
card
,A
weight
,A
ft>
and all the possible activities allowed by the nature, the domain and the extent/scope of the digital service to which the RMS system 125 applies define, as a whole, an activity dictionary, wherein each entry of the activity dictionary is a tuple.
Just as an example, in the context of a digital service that allows members to share events and add comments, the activity dictionary could contain the following entries (the activity feedback type Aft being omitted):
Thus, in the above example, three activities A1, A2, A3 are possible having activity weights A1weight, A2weight and A3weight of 1, 0.2 and 0.1, respectively.
With reference to the activities dictionary, the activities performed by any member m of the online community 110 are preferably registered as the set MA (m) called member activities, where every single member activity a is defined and stored as a tuple:
aϵMA(m) and a=<am,aA,at,aFB>
In particular such a tuple represents the fact that the member m performed the activity A, at the time instant t, and that such an activity has collected from the other members a set of feedbacks (hereinafter, feedback set) FB. The feedback set FB can either contain many feedbacks or be an empty set (if the activity did not collect any feedback from the other members). All the single feedbacks fbϵFB should be consistent with the activity feedback type Aft, i.e. with the feedback types expected for the activity A. In practice an activity a is a precise instantiation (given a member, the time and the collected feedbacks) of a generic activity A.
Some embodiments of the present invention can include in the member activities of the member m also the list of the other members respectively participating (i.e., supporting m) or being the beneficiaries/receivers of the activity, depending on the activity cardinality Acard. This information can be used jointly with the respective DTS scores of these members in order to update the DTS score of the member m (e.g., the positive effects of the activities performed by the member m could be increased by the fact of having performed an activity jointly with a member with high reputation or, vice-versa, in favor of a member with low reputation (generosity), while negative effects could be increased if the activity has been performed jointly with a low reputation member).
Let be defined as:
r(aFB)
a feedback parameter whose value aggregates all the feedbacks in the feedback set FB with a=<am, aA, at, aFB>. For example, the feedback parameter r(aFB) can take the average value of all the feedback ratings collected for an activity evaluated by means of a weighted activity feedback type Aft, or it can take the modal value among all the positive/negative feedbacks for an activity evaluated by means of a simple activity feedback type Aft (neutral if positive and negative feedbacks are equivalently numerous). It should be noted that when, as herein assumed, it is possible to leave a feedback for an activity only for a limited time interval (set, for example, by the digital service provider, as detailed in the following), the DTS activity factor for a specific activity may be calculated only when this time interval has elapsed.
In general, given a=<am, aA, at, aFB>, the feedback parameter r(aFB) takes a real value according to the following rule:
It should be noted that in case of a simple activity feedback type Aft, the feedback parameter r(aFB) can take the value 0 for those cases in which a “substantial equilibrium” between positive and negative feedbacks can lead the RMS system 125 to consider the activity performed by the member m neutral, i.e. not relevant to increase or decrease the reputation/trustworthiness of that member m.
In any case, the principles of the present invention are not limited to how multiple feedbacks received for a member activity a (and contained in aFB) are aggregated each other in order to obtain the feedback parameter r(aFB).
Let be further defined MA(m, ti-1, t1)⊆MA(m) as the subset of member activities MA(m) performed by the member m between the time instants ti-1 and ti, formally:
MA(m,ti-1,ti)={a|aϵMA(m) and ti-1<at<ti}
and MA(m, t1)⊆MA(m) as the subset of member activities MA(m) performed by the member m from the instant he/she joined the community until the instant ti, formally:
MA(m,ti)={a|aϵMA(m) and at≤ti}
Thus, the DTS activity factor fA for the member m in the time interval ti-1→ti can be defined as:
In practice, the DTS activity factor fA takes into account the quantity and the quality (weights and feedbacks) of all the activities performed by the member m in a specific time interval. It should be noted that the more are the activities performed by the member m (the quantity being given by the cardinality of the set MA(m, ti-1, ti)), the higher is the number of contributes of the sum of the equation above. These contributes can lead to a positive or negative impact on the DTS activity factor fA depending on the characteristic of each activity (in particular the activity type aA, its activity weight Aweight and on the feedback provided by the other community members aFB). As a result, the DTS activity factor fA can result in a positive or negative value for the specified time interval. In addition, if the member m is not active in the specified time window (i.e., he/she does not perform any activity), he/she will have a DTS activity factor fA equal to zero.
The above discussion can be conceptually summarized by the method steps represented in the left column of
determining (action node 420) the feedback parameter r(aFB) indicative of feedbacks received from other members of the online community 110 in connection with that activity performed by that member m,
applying (action node 425) to the feedback parameter r(aFB) the weight parameter Aweight indicative of a relevance of that activity for the online community 110, and applying (action node 428) the weighted feedback parameter to the DTS score to be updated.
As above mentioned, these steps are preferably applied for each member (as conceptually illustrated in the figure by loop connection between the action node 428 and the decision node 410), and for each activity (as conceptually illustrated in the figure by loop connection between the action node 428 and the decision node 415). Even more preferably, as detailed below, these steps are applied for each activity whose feedback time interval (indicative of a maximum time interval, from the time instant at which the activity has been performed, within which the feedbacks for that activity can be received) has elapsed at the time of the computation of the DTS activity factor.
Back to the example of the previously defined scenario (i.e., a digital service that allows members to share events and add comments), and assuming that:
then the DTS activity factor fA for the members m1, m3 and m5 in the time interval t1→t2 (with t1<treal1, . . . , treal5<t2) according to an embodiment of the present invention is the following:
f
A(m1,t1,t2)=A1weigth*r(aFB1)=1*0.5=0.5
f
A(m3,t1,t2)=A2weigth*(aFB2)+A1weigth*r(aFB3)=0.2*1+1*−0.2=0
f
A(m5,t1,t2)=A2weigth*r(aFB4)+A3weigth*r(aFB5)=0.2*−1+0.1*1=−0.1
In this example, based on the performed activities, the DTS activity factor fA (and, hence, the DTS score) of the member m1 will have an increment, the DTS activity factor fA (and, hence, the DTS score) of the member m3 will remain stable, whereas the DTS activity factor fA (and, hence, the DTS score) of the member m5 will have a decrement.
DTS Time Decay Factor
Generally, the trust level of a member m is strongly related to his/her continuous activity in the online community 110, considering especially his/her recent activity (where the concept of “recent” is relative to a specific time window defined for a specific RMS system 125).
According to the present invention, the introduction of the DTS time decay factor (or inactivity factor) avoids that the DTS score of a member remains fixed for an indefinite time, despite the fact that the member does not perform any activities. To this purpose, the DTS time decay factor is strongly related to the activity rate of a member over a “recent” time so as to capture a long inactivity of the member (basically, the time interval from the last activity performed by that member to a present time instant, i.e. the time instant at which the DTS score is updated).
In particular, let ti be a specific time instant during the life of the RMS system 125 and let ti-k, with ti-k<ti, be a former instant in which the last activity performed by the member m has been registered; formally:
t
i-k=max{t|aϵMA(m,t) and a=<am,aA,at,aFB>}
and
j|MA(m,ti-k,tj)≠Ø,ti>tj>ti-k
The time interval elapsed within ti and ti-k represents an inactivity time of the member m at the time instant ti (and denoted by inactivity (m, ti)) i.e. the longest time interval up to the time instant ti in which no activity has been performed by the member m. Accordingly, the inactivity time of the member m is formally defined as follows:
inactivity(m,ti)=max{k|MA(m,ti-k)≠Ø,k>0}
According to an embodiment of the present invention, the inactivity time inactivity (m, ti) at the time instant ti is used in the computation of the DTS time decay factor fT (m, ti) at the time instant ti. As mentioned above, the DTS time decay factor fT (m, ti) is a factor used for updating/actualizing the DTS score of a member m with respect to his/her inactivity, i.e. it is used to periodically decrease the trustworthiness/reputation of the member m if he/she is inactive in the online community for too long periods.
The function (or trend) implementing the DTS time decay factor fT(m, ti) can be defined in different ways, depending on the rules and objectives of the specific RMS system 125. By way of example only, the function could be:
Additionally to the determination of the DTS time decay factor fT(m, ti) based on a function that substantially takes into account the inactivity of a member, such as the exemplary constant, linear and exponential functions above discussed, embodiments of the present invention may provide the determination of the DTS time decay factor fT(m, ti) also based on the level of activity/inactivity of the online community 110 as a whole. In this respect, according to embodiments of the present invention, the determination of the DTS time decay factor fT(m, ti) is based also on the activity (for example, the average activity) of all the members of the online community 110 (or of a significant part thereof, e.g. including a significant number of members, and/or trusted members and/or popular members), such that, for example, for the same member inactivity, the DTS time decay factor fT(m, ti) is decreased more quickly when the members of the online community 110 (or the significant part thereof) are highly active than when they are scarcely active.
According to a preferred embodiment of the present invention, the DTS time decay factor fT(m, ti) is calculated as follows:
wherein
According to the exemplary disclosed embodiment, the above formula for the DTS time decay factor fT(m, ti) makes use of an inverse-tangent function. According to the inverse-tangent function:
Assuming that the variable floor is set at 0.6, after 10 days of inactivity beyond the inactivity time threshold ε the DTS time decay factor fT(m, ti) takes the value 0.04, after 15 days of inactivity beyond the inactivity time threshold ε the DTS time decay factor fT(m, ti) takes the value 0.2, whereas after 20 days of inactivity beyond the inactivity time threshold ε the DTS time decay factor fT(m, ti) takes the value 0.4. Thus, by definition:
According to an embodiment of the present invention, the DTS time decay factor fT(m, ti) is used as a multiplicative coefficient to update the DTS score of the member m: when the DTS time decay factor fT(m, ti) is equal to 1 the DTS score is unvaried, otherwise the DTS score is proportionally decreased by the DTS time decay factor fT(m, ti). As will be apparent from the following description, this multiplicative coefficient has to be multiplied to the DTS score to be updated, to the DTS activity factor and to the DTS propagation factor.
The above formula for the DTS time decay factor fT(m, ti) simulates what can happen in the real life: at the beginning, a certain time of inactivity, in this case an inactivity not greater than the inactivity time threshold ε, is considered normal and tolerated, thus it does not influence the DTS time decay factor fT(m, ti). Then, after such an inactivity time threshold ε is overcome, the DTS time decay factor fT(m, ti) starts decreasing, first smoothly for shorter inactivity periods, then more consistently for longer ones. After very long inactivity periods, the DTS time decay factor fT(m, ti) remains almost stable, decreasing very slowly.
As should be readily understood, although the above formula for the DTS time decay factor fT(m, ti) makes use of an inverse-tangent function, same or similar trends could be achieved with other functions without affecting the principles of the present invention.
The above discussion can be conceptually summarized by the method steps represented in the middle column of
As above mentioned, these steps are preferably applied for each member (as conceptually illustrated in the figure by loop connection between the action node 445 and the decision node 435).
In addition, as conceptually illustrated in the figure by loop connection between the action node 445 and the decision node 430, these steps are applied at each predetermined time interval (hereinafter, inactivity time interval).
DTS Propagation Factor
According to the present invention, the reputation/trustworthiness of a member m does not depend and/or vary only on the basis of his/her initial reputation and subsequent behaviors (represented by the activities performed by the member m), but it also strongly depends on the behavior of the other members in relation with the member m, or, otherwise stated, on the behavior of the members connected with the member m in the DTS network. Like in real world relationships, in fact, the trustworthiness of an individual is evaluated by other individuals also on the basis of the behaviors and trustworthiness of the people that the individual trusts, supports, is supported by and interacts/goes with, and in particular of the members that that person invited to be part of the community.
In order to achieve that, the DTS propagation factor represents the influence of the members in relation with the member m on the trustworthiness/reputation of the member m. Concretely, the DTS propagation factor propagates the updates/variations of the DTS scores of the members of the online community 110 over their connected members (edges in the DTS network).
Basically, the DTS propagation factor introduces a (positive or negative) variation/change in the DTS score of a member m, said variation being evaluated on the basis of the updates/variations of the DTS scores of the other members of the community connected with that member m. More practically, if a member m is connected with (i.e., he/she invited or has been invited by) other members of the community having at the current time an increasing reputation, he/she will gain more reputation/trustworthiness (i.e., the DTS score will be incremented due to a positive DTS propagation factor); on the contrary, if a member m is connected with other members having at the current time a decreasing reputation/trustworthiness he/she will lose some reputation/trustworthiness (i.e., the DTS score will be decremented due to a negative DTS propagation factor).
Let be the variation of the DTS score of the member m (denoted by ΔDTSri (m)) between two time instants ti and tr defined as follows:
ΔDTSri(m)=DTS(m,ti)−DTS(m,tr), with tr<ti
and let mold be the (inviting) member that invited the member m at the time instant t0 (i.e., INV (mood, m, t0) according to the above notation), and {minvitedj}j the set of invited members having been invited by the member m at time instants t0+θj, with θj>0 (i.e., {INV(m, minvitedj, t0+θj)}j according to the above notation), so that the member m is connected with the inviting member mold and the invited members {minvitedj}j in the DTS network, i.e.:
{mold,m}∪{minvitedj}j⊆Vc and {mold,m)}∪{(m,minvitedj)}j⊆Ec
then, the DTS propagation factor for the member m at the time instant ti with respect the time instant tr (denoted by fp (m, tr, ti) can be defined as follows:
wherein
ΔDTSri(minvitedj) is the variation of the DTS score of each invited member minvitedj having being between by the member m between the time instants ti and tr (according to different embodiments of the present invention, as mentioned above, the invited members could be regarded either the members invited by a member m and having accepted the invitation, or the members invited by a member m and having not accepted the invitation); and
Back to the example of DTS network illustrated in
The above discussion can be conceptually summarized by the method steps represented in the right column of
As above mentioned, these steps are preferably applied for each member (as conceptually illustrated in the figure by loop connection between the action node 475 and the decision node 455).
In addition, as conceptually illustrated in the figure by loop connection between the action node 475 and the decision node 450, these steps are applied at each predetermined time interval (hereinafter, change time interval or propagation time interval).
As mentioned above, the RMS system 125 is arranged for updating or actualizing the DTS score of each member m over time in order to represent the changing reputation/trustworthiness of each member m in his/her community 110.
All the events occurring in the RMS system 125 and in the associated community 110 (e.g. activities, feedbacks, invitations, etc.) happen continuously over time, at precise time instants treal. Each time instant treal thus represents the time instant, in the real world (for example, with a time resolution of the order of seconds), at which a specific event occurs (thus, it will be referred to as real time instant treal).
Basically, according to the present invention, the DTS score update/actualization does not takes place in correspondence of every event (i.e., at every real time instant treal), but that it takes place at update time instants {tj}j, scheduled by the RMS system 125 according to a proper policy. Preferably, the updating time instants {tj}j are scheduled (e.g., determined and/or predetermined) based on:
According to an embodiment of the present invention, given the real time instants treal during which an activity/event occurs in the RMS system 125, the same activity/event could be considered to occur at the time instant t such that:
t=max{tj|tj≤treal,tjϵ{ti}}.
In other words, an event is associated with one of the scheduled update time instants {tj}j instead of the actual real time instant treal at which that event has occurred. Preferably, as formally expressed in the above equation, the event occurred at the real time instant treal is associated with the update time instant {tj}j that, among the scheduled update time instants {tj}j, is immediately before that real time instant treal.
Preferably, let be defined {ti}i⊆{tj}j as the set of time instants at which the DTS scores of all the members of the community may be computed (hereinafter, computation time instants), such that, for a member m, the DTS score DTS(m, ti) at the computation time instant ti is computed on the basis of the DTS score DTS (m, ti-1) at the computation time instant ti-1 by applying the various DTS factors previously described, and such that:
∀tj,ti-1<tj<ti:DTS(m,tj)=DTS(m,ti-1)
In other words, the DTS score of the member m remains constant between two consecutive computations time instants ti-l and ti. According to alternative embodiments of the present invention, the computation time instants and the updating time instants may also correspond.
Preferably, the update time instants {tj}j at which the DTS scores of all the members of the community 110 (or of a subset thereof) are updated/actualized are determined by considering the above-discussed DTS factors (or a subset thereof), i.e. the DTS activity factor, the DTS time decay factor, and the DTS propagation factor. More preferably, the update time instants {tj}j are determined by taking into account the following parameters (or, respectively, a subset thereof):
Thus, the feedback ΔFB, activity ΔA, time decay ΔT and propagation ΔP time intervals represent time windows within which activities should take place. These activities provide their contribution to the DTS score only at the end of these time windows (and not in the real time instant t real at which these activities are performed).
Preferably, the method 400 for updating the DTS scores of the members of the community (preferably all the members, or at least a subset thereof) is run by the RMS system 125 in order to comply with proper timing relationships between the feedback ΔFB, activity ΔA, time decay ΔT and propagation ΔP time intervals. Even more preferably, the method 400 is run as follows.
Firstly, the DTS scores at the time instant ti are actualized on the basis of the previous DTS scores at the time instant ti-1, by eventually applying the DTS time decay factor due to members inactivity if a time decay interval ΔT is passed from the last previous computation of the DTS time decay factor (see loop connection between the action node 445 and the decision node 430 in
Then, the DTS scores are further updated by eventually adding the contribute of the DTS activity factors if an activity interval ΔA is passed from the last previous computation of the DTS activity factors (see loop connection between the action node 425 and the decision node 405 in
Finally, the DTS scores of all the community members are (eventually) updated by taking into account the contribute coming from the changes in the trustworthiness of the connected members if the DTS propagation time interval ΔP has elapsed. This is made by means of the application of the DTS propagation factor. As mentioned above, the application of the DTS propagation factor is preferably carried out only when the DTS scores of all the members have been individually updated on the basis of their activity/inactivity, thus it is convenient that the feedback ΔFB, activity ΔA, time decay ΔT and propagation ΔP time intervals satisfy the following relation:
ΔFB<<ΔA≤ΔT,ΔP
Anyway, the feedback ΔFB, activity ΔA, time decay ΔT and propagation ΔP time intervals are not limiting for the present invention. According to alternative embodiments of the present invention, the feedback ΔFB, activity ΔA, time decay ΔT and propagation ΔP time intervals are all set to the same value.
An exemplary pseudo-code algorithm implementing the above procedure 400 for updating the DTS scores DTS(m, ti) of every member m of the community at ti<treal may be the following (wherein tA will denote the last time instant at which the DTS activity factor for the all the members of the community was computed, tT will denote the last time instant at which the DTS time decay factor for all the members of the community was computed, and tP will denote the last time instant at which the DTS propagation factor for all the members of the community was computed):
for all mϵC:DTS(m,tI)=DTS(m,ti-1)
if ti≥tT+ΔT
then for all mϵC:DTS(m,ti)=DTS(m,ti-1)·FT(m,ti); then tT=ti
if ti≥treal−ΔFB and ti≥tA+ΔA
then for all mϵC:DTS(m,ti)=DTS(m,ti)+fA(m,tA,ti), then tA=ti
if ti≥tP+ΔP
then for all mϵC:DTS(m,ti)=DTS(m,ti)+fp(m,tP,ti); then tP=ti
To provide a quantitative example, let be assumed, for example, that a member m performs activities at real time instants treal1, treal2, treal3, treal4, treal5, treal6, treal7, and that the DTS scores are computed at computing time instants t0, t10, t20, t30, such that
t
real1
<t
real2
<t
real3
<t
real4
<t
real5
<t
real6
<t
real7
t
0
<t
real1,
t
real4
<t
10
<t
real5,
t
real6
<t
20
<t
real7
t
30
>t
real7
and that the activity ΔA, propagation ΔP and decay ΔT time intervals are equal to (and hence the DTS activity factor, the DTS propagation factor and the DTS time decay factor are updated every) 10, 10 and 20 days, respectively, then the DTS scores are computed as follows:
DTS(m,t10)=DTS(M,t0)+fA(M,t10)+fp(M,t10)
DTS(M,t20)=[DTS(M,t10)+fA(M,t20)+fP(m,t20)]·ft(M,t20)
DTS(m,t30)=DTS(m,t20)+fA(M,t30)+fP(M,t30)
Assuming instead that the activity ΔA, propagation ΔP and decay ΔT time intervals are all equal to (and hence the DTS activity factor, the DTS propagation factor and the DTS time decay factor are all updated every) 10 days, the DTS scores are computed as follows:
DTS(M,t10)=[DTS(m,t0)+fA(M,t10)+fP(m,t10)]·fT(m,t10)
DTS(m,t20)=[DTS(m,t10)+fA(m,t20)+fP(m,t20)]·fT(m,t20)
DTS(m,t30)=[DTS(m,t20)+fA(m,t30)+fP(m,t30)]·fT(m,t30)
Naturally, in order to satisfy local and specific requirements, a person skilled in the art may apply to the solution described above many logical and/or physical modifications and alterations. More specifically, although the present invention has been described with a certain degree of particularity with reference to preferred embodiments thereof, it should be understood that various omissions, substitutions and changes in the form and details as well as other embodiments are possible. In particular, different embodiments of the invention may even be practiced without the specific details set forth in the preceding description for providing a more thorough understanding thereof; on the contrary, well-known features may have been omitted or simplified in order not to encumber the description with unnecessary details. Moreover, it is expressly intended that specific elements and/or method steps described in connection with any disclosed embodiment of the invention may be incorporated in any other embodiment.
More specifically, the present invention lends itself to be implemented through an equivalent method (by using similar steps, removing some steps being not essential, or adding further optional steps); moreover, the steps may be performed in different order, concurrently or in an interleaved way (at least partly).
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2015/081293 | 12/28/2015 | WO | 00 |