The present invention relates to telecommunications in general, and, more particularly, to selecting a team of people to perform a task, based on the cohesiveness between people as represented in a social network model.
In promoting collaborative efforts in a fast-paced environment such as a business enterprise, there is a growing need to quickly bring together a team of people to work on a project or issue. Collaboration is often required to resolve pending issues in a variety of situations—for example, routine situations such as the ordering of items in an inventory and the resolution of claims in an insurance company, life-critical situations such as bringing hospital staff together for an emergency consultation, and time-critical situations such as responding to stock market changes in a brokerage firm. An advantage in being able to bring a team of people together quickly is a reduced delay in starting the team effort, which often results in a reduced delay in making a decision. This can lead to greater enterprise productivity.
A challenge in assembling a team of people is bringing the right combination of people together so that those who are selected will perform effectively together. One quality that is important for team effectiveness is social context, which is the combination of communication and shared knowledge. When people communicate with each other, they share knowledge, which in turn helps them communicate with each other more easily in the future, and so on—in this way, social context accumulates. An effective team shares significant social context.
In reality, team members will often come from different, pre-existing organizations. Whereas the members of a pre-existing organization might work well together because social context that accrues within that organization, two strangers from different organizations might not work as well together because of the lack of social context. On the other hand, two friends from two different organizations might work well together because of their mutual familiarity, even though they do not share much social context from an organizational structure perspective. Again, team effectiveness is closely related to the social context that is present.
What is needed is a technique to evaluate and use the social context of a potential team of people, for the purpose of selecting a team to perform one or more tasks effectively, without some of the disadvantages in the prior art.
The present invention enables the selection of a team of people in an organization, such as a business enterprise, to participate in a task that involves communicating with each other, in which the selection of the team seeks to maximize the team cohesiveness, which is based on the sharing of social context. The illustrative embodiment of the present invention incorporates the use of a social network model to describe the communication pattern in the organization. Based on the relationship between the organization's social network structure and the cohesiveness between the people in the organization, the technique of the illustrative embodiment estimates the dyadic cohesiveness of each pair of people, which is defined as the expected value of relationship strength between each evaluated pair of people. One component of the relationship strength is the number of interactions between the two people in the pair. Once the cohesiveness estimates are obtained, the technique of the illustrative embodiment then uses the estimates to select teams.
The technique of the illustrative embodiment is based on the intuition that the communication pattern of each individual is influenced by both the personal characteristics of the individual as well as her presence in a particular social circle that describes her relationship with other people in the social network. Specifically, the illustrative embodiment technique incorporates a Bayesian explanation of the communication pattern in the social network and the Bayesian estimate of dyadic cohesiveness between any two individuals in the network. The technique considers the organization as consisting of (i) classes of people, where each class is associated with its own density of incoming and outgoing messages, and (ii) groups of people that communicate more among themselves than with others. In some alternative embodiments, each class is characterized by using another type of interaction characterization, such as being associated with a particular density of favorable and unfavorable interactions.
The disclosed, cohesiveness-based technique of the illustrative embodiment yields advantageous performance in team selection over some techniques in the prior art for various reasons. First, the disclosed technique in the illustrative embodiment assigns probabilities to each evaluated person's membership in each class or group; in contrast, the prior art rigidly associates each person in an organization with a specific class or group. Second, the disclosed technique accounts for the notion that social context is built also by the membership with a social group and not just by the personal interactions; in contrast, prior art techniques that are purely based on interactions between people do not account for that notion. Third, the disclosed technique considers the propagation of cohesiveness between two people that occurs through the communication between other people who are closely interacting with the two people; in contrast, the interactions-based prior art does not consider the cohesiveness propagation.
The illustrative embodiment of the present invention comprises: determining a first expectation of the number of communications from a first person to a second person, wherein said first expectation is based on: i) a first probability, p1εc1, of the membership of the first person in a first class c1,ii) a second probability, p1εc2, of the membership of the first person in a second class c2, iii) a third probability, p1εg1, of the membership of the first person in a first group g1,iv) a fourth probability, p1εg2, of the membership of the first person in a second group g2, v) a fifth probability, p2εc1, of the membership of the second person in the first class c1,vi) a sixth probability, p2εc2, of the membership of the second person in the second class c2, vii) a seventh probability, p2εg1, of the membership of the second person in the first group g1, and viii) an eighth probability, p2εg2, of the membership of the second person in the second group g2.
The term “cohesiveness,” and its inflected forms, is defined for use in this Specification, including the appended claims, as the sharing of significant social context through past communications activities. Cohesiveness, as it pertains to the illustrative embodiment of the present invention, is described in detail below and with respect to
Telecommunications network 101 is a telecommunications network that comprises one or more of the Internet, the Public Switched Telephone Network (PSTN), and so forth. Network 101 comprises or is connected to one or more transmission-related nodes such as gateways, routers, or switches that are used to direct data packets from one or more sources to the correct destinations of those packets.
Telecommunications endpoint 102-p, for p=1 through P, is a communications device such as a Plain Old Telephone Service (POTS) telephone, a softphone, an Internet Protocol-based endpoint, a Session Initiation Protocol-based endpoint, a notebook computer, a personal digital assistant (PDA), a tablet computer, and so forth. Each endpoint is capable of originating outgoing communication sessions and receiving incoming communication sessions, in well-known fashion. In addition, each endpoint is capable of communicating via one or more communication media that comprise, but are not limited to voice, audio, video, data, email, instant messaging, other text-based messaging, web, and chat. As those who are skilled in the art will appreciate, in some embodiments endpoints 102-1 through 102-P are capable of handling differing combinations of media, while in some other embodiments the endpoints are all capable of handling the same combination of media. It will be clear to those skilled in the art how to make and use telecommunications endpoints 102-1 through 102-P.
In some embodiments, one or more of endpoints 102-1 through 102-P are also capable of enabling their users to provide information about their communications patterns to one or more of the other elements in system 100. For example, if the user of endpoint 102-1 had a conversation with the user of endpoint 102-2 without the use of system 100, as in a face-to-face conversation, one or both of the users could record information about that conversation (e.g., parties involved, who initiated, start time, duration, subject, etc.) that would be stored at database server 105-q. It will be clear to those skilled in the art how to enable a user to enter information about his or her communication patterns.
Call-processing server 103 is a data-processing system that handles call-processing requests from its telecommunications endpoint users, as well as from other users. In handling voice sessions, server 103 reads in and analyzes the dialed digits from telecommunications endpoint 102-p, and processes the corresponding call-setup request. In handling instant-messaging or email sessions, server 103 receives text-based communications from users and routes those communications to the specified recipients. Server 103 also tracks the “presence” of each user, as is known in the art, at the endpoints and on the various communication media. Whenever a first user communicates with a second user, server 103 writes information about the communication (e.g., type of medium, parties involved, who initiated, start time, duration, subject, etc.) to one or more database servers 105-1 through 105-Q, where the information is stored as part of a call log or equivalent. Call-processing server 103 is also capable of receiving, from cohesiveness manager 104, requests to set up endpoints on communication sessions.
Although a single call-processing server is depicted, it will be clear to those skilled in the art, after reading this specification, how to make and use alternative embodiments of the present invention with multiple call-processing servers present—for example, a first server for voice, a second server for instant messaging, a third for email, and so forth. In any event, it will be clear to those skilled in the art how to make and use call-processing server 103.
Cohesiveness manager 104 is a server data-processing system that estimates the cohesiveness between various people (e.g., users of telecommunications endpoints 102-1 through 102-P, etc.) and uses the cohesiveness estimates to select teams of people, in accordance with the illustrative embodiment of the present invention. Cohesiveness manager 104 is capable of accessing database servers 105-1 through 105-Q for the purpose of acquiring information about communications between people and is capable of receiving that information from the database servers. In the illustrative embodiment, cohesiveness manager 104 operates in accordance with the Internet Protocol for the purpose of transmitting and receiving information. In some alternative embodiments, as those who are skilled in the art will appreciate, cohesiveness manager 104 can operate in accordance with a different protocol.
In accordance with the illustrative embodiment, cohesiveness manager 104 determines the cohesiveness between people, the details of which are described below and with respect to the subsequent figures. As those who are skilled in the art will appreciate, the functionality described in this specification with respect to cohesiveness manager 104 can alternatively be implemented in a data-processing system that is other than a server. In some other embodiments, the cohesiveness manager functionality might be co-located with other functionality, such as the database functionality or the call-processing functionality. In any event, it will be clear to those who are skilled in the art, after reading this specification, how to make and use cohesiveness manager 104.
Database server 105-q, for q=1 through Q, is a data-processing system that fulfills communications log access requests from its users. Each database server is capable of collecting information about communications between people (e.g., type of medium, parties involved, who initiated, start time, duration, subject, etc.) and maintaining communications logs for those communication sessions. In some embodiments, each database server accumulates and stores communication logs for a specific type of communication medium; for example, server 105-1 might store the logs for voice communications, while server 105-2 stores the logs for instant messaging communications, while server 105-3 stores the logs for email, and so forth. In some other embodiments, the database functionality might be co-located with other functionality, such as the cohesiveness management functionality or the call-processing functionality. It will be clear to those skilled in the art how to make and use database servers 105-1 through 105-Q.
Cohesiveness Overview—
Communication activities between users in an enterprise take place using a variety of media such as face-to-face, email, instant messaging (IM), and voice. Depending on the domain, one or more of these media might be used more predominantly than others. For example, face-to-face interactions might be more prevalent in geographically co-located development and research organizations. In contrast, contact center and sales team interactions might involve a customer calling an agent on a voice interaction and subsequently, initiate text chats with an expert walking the floor of a retail store using a Personal Digital Assistant. The interactions in an enterprise form communities that can transcend organizational and geographical boundaries and additionally, characterize people differently based on their communication activity levels and patterns.
Cohesiveness in a network such as network 200 can build up as a result of effective group and personal communications. There can be several dimensions to effectiveness in communication activities. Context and media are two dimensions. For example, a group of people might interact effectively on software technologies but might interact poorly on policies for software use and a group may communicate effectively face-to-face but might not do well on email.
Thus, effective communication activities foster community building and indicate cohesiveness through people's choices of partner selections for communication tasks, as well as foster other communication. With respect to effective communication, it is accounted for in the illustrative embodiment that two different people may share social context by their group identity, even though they do not communicate directly-as is the case with person 201 and 205, for example. Due to this social context, two people who have never communicated earlier are still able to communicate effectively and demonstrate cohesiveness.
Social Network Model—
In the illustrative embodiment, a Bayesian model for social interaction is used that considers both the interaction characteristics of the people and the characteristics of the social group to which the people belong. In a social interaction, each person might send communications (e.g., messages, etc.) to one or more other people and might receive communications from one or more other people. For the purposes of this specification, the term “popularity,” and its inflected forms, is defined as the density of incoming communications and the term “communication activity,” and its inflected forms, is defined as the density of outgoing communications. An organization consists of “classes” of people based upon their level of popularity and communication activity and “groups” of people that communicate more among themselves than with others, as shown in
Each member in a class is characterized by the same distribution of the incoming and outgoing interactions over a given period in time. Thus, each member in a class is stochastically similar to others with respect to the density of incoming and outgoing communications. As depicted in
Each member in a group is characterized by the same distribution of the incoming and outgoing interactions within the group and outside the group. Thus, each member in a group is stochastically similar to others with respect to the people she interacts with. As depicted in
People's communication patterns are explained both by their levels of popularity and communication activity, as well as by the social group to which they belong. As seen in
The interaction characteristics of the classes and groups are assumed to be uniform across all the members of the group or class. For a member i belonging to a class c, the distribution of the number of outgoing interactions over a fixed time period is approximated as a Gaussian distribution, given by:
where:
Similarly, the probability for the incoming interactions is given as:
For a member i belonging to a group g, the ratio of outgoing communications going to members within the same group to all the outgoing communications, has a Gaussian distribution:
where:
Similarly, the probability of the ratio of incoming communications from inside the group to all of the incoming communications is:
The communications to a member i that are coming from outside i's group are equally likely to come from any other group. Thus, the ratio of incoming communications to i from a group gk to all the incoming communications to i, when i does not belong to group gk, has a distribution:
Accordingly, each individual's interaction characteristics and her group characteristics are mixture models. The distribution of outgoing interactions for the member i is given as:
Similarly, the distribution of incoming interactions for the member i is given as:
The distribution of the number of communications from the member i to member j depends upon the classes and groups of both members. This dependency structure is captured in the Bayesian belief network shown in
The distribution of communications from member i to member j is thus computed as a marginal over all other variables as:
Therefore, pi->j(n) can be expressed as the geometric mean of two integrals, as follows:
where the conditional distributions are given as,
where:
i. μj
ii. Cglin is the normalizing constant.
Similarly,
where:
Inherent in the illustrative embodiment is that the likelihood that an incoming communication will go to a member in the group is proportional to the expected value of the number of incoming communications for the member. Also, the likelihood that any communication originating from the group, originated from a particular member is proportional to the expected value of the number of outgoing communications from the member. This gives the combinatorial form for the distributions in Equations 12 and 13. The form of the distribution of communications from member i to j is then obtained in an analytical form using integration by parts as:
Overview of Tasks—
At task 501, manager 104 checks if the model has to be learned. This can occur, for example, during initialization or when information that affects the model has changed. If the model has to be learned (or relearned), task execution proceeds to task 502. If the model does not have to be learned, task execution proceeds to task 503.
At task 502, manager 104 learns or updates the model using a socio-matrix of the organization that describes the interactions between all of the people in the organization. In accordance with the illustrative embodiment, the parameters to be learned are:
The C-G membership matrix can be factored into (Class membership vector)*(Group membership vector), as shown in Equation 1. Therefore, to determine the C-G membership matrix, it is sufficient to obtain these two vectors independently. In addition, the class behaviors and group behaviors are mutually independent and can be learned independently. The parameters are learned independently using the Expectation Maximization (EM) algorithm, as is known in the art. As those who are skilled in the art will appreciate, however, in some alternative embodiments the parameters can be learned using a technique other than one that involves the EM algorithm. When applying the EM algorithm, it is important to initialize the parameters suitably because the EM algorithm provides a locally optimal solution. For example, one way to initialize the parameters is by using prior knowledge about the organization's structure.
The algorithms for learning the class and group parameters are described in detail below and with respect to
At task 503, manager 104 checks if a team needs to be selected. The need can occur, for example, when someone wants to assemble a group of people to work a problem. If a team needs to be selected, task execution proceeds to task 504. If a team does not need to be selected, task execution proceeds to task 501.
At task 504, manager 104 selects a team based on the model learned in task 502. In accordance with the illustrative embodiment, manager 104 selects a team of people for a given task such that the expected number of interactions within the team of people for the given task is maximized. The salient tasks for team selection are described below and with respect to
After task 504, task execution proceeds back to task 501.
Learning the Social Network Model—
At task 601, manager 104 identifies the number of classes and groups to consider in the model. For example, manager 104 can fix the number of classes, C, and the number of groups, G, by using analysis performed on the organization's email logs (or other communication logs) during a particular month (or other period of time) and by observing communication patterns in those logs. As those who are skilled in the art will appreciate, other techniques exist for determining the number of classes and groups.
At task 602, manager 104 receives from database server 105-q logged information about communications that have occurred over a given period of time between all pairs of people (i.e., members) in the organization. It is from this received information, for each member i, that a set of communication statistics is derived that comprises:
At task 603, manager 104 learns the model for class distributions and memberships. These parameters are based, in part, on the rate of incoming and outgoing communications for each person, assumed to be a mixture of Gaussian distributions as discussed earlier and with respect to the social network model described earlier and with respect to
At task 604, manager 104 learns the model for group distributions and memberships. The observations for the group parameters are the ratio of incoming and outgoing communications for each person going to other members in the group to all the incoming and outgoing communications for the person, which is assumed to be a mixture of Gaussian distributions as discussed earlier for the social network model. Each mode of a Gaussian corresponds to a group, and the weight of the mode is the membership of the person to that group. The EM learning algorithm for group parameters is modified in comparison to how it is used for class parameters because the observation is itself hidden; the algorithm is described below and with respect to
At task 701, manager 104 determines the membership of a person i in class ck as:
where niout and niin are the number of outgoing and incoming communications observed for member i in the socio-matrix and were acquired at task 602. In some embodiments, the classes can be further factorized into classes by popularity and classes by communication activity; where this is the case, the class space is the Cartesian product of the class spaces by communication activity and popularity. Accordingly, equation 15 can be factorized as:
where cx,out and cy,in are the classes by communication activity and popularity, respectively.
At task 702, manager 104 determines the means and variances of the outgoing and incoming interactions for a class c as follows:
Manager 104 determines the means and variances by using the probability, piεc, of class membership of a person i in class c determined at task 701. The parameter values determined from Equations 17 and 18 can then be used in Equations 2 and 3, respectively, as part of cohesive team selection, which is described below and with respect to
At task 801, cohesiveness manager 104 determines the group membership, but does so in a different manner than for class membership, as described with respect to task 601. The group membership of a person i in group gl is given by:
The ratios ri→g and rg→i are described above and with respect to Equations 5 and 6 and Equations 7 and 8, respectively. The ratios ri→g and rg→i, however, depend upon the group memberships of all other people in the organization. Therefore, the group memberships of one person in the organization cannot be determined independently of the group memberships of other members in the organization. Consequently, the joint group membership vector [gof1 . . . gofnumPeople]T has a very large space (numPeople)numGroups, and determining the distribution in this space p([gof1 . . . gofnumPeople]T) is computationally intensive. Of particular significance is that it is sufficient only to determine the marginals over the joint membership vector distribution, p(gofi) for each member i. Accordingly, manager 104 uses Markov Chain Monte Carlo (MCMC) simulations, in particular Metropolis-Hastings algorithm, as is known in the art, to compute the group memberships. A special case of the Metropolis-Hastings algorithm (Gibbs sampling) is known in the art for learning the stochastic blockstructures. This technique also provides the expected value of the ratios for each member i and each group gi.
At task 802, manager 104 determines the mean and variances of the ratio of outgoing and incoming interactions for each group as follows:
Manager 104 determines the means and variances by using the probability, piεg, of group membership of a person i in group g determined at task 801. The parameter values determined from Equations 20 and 21 can then be used in Equations 4 and 6, respectively, as part of cohesive team selection, which is described below and with respect to
Cohesive Team Selection—
At task 901, cohesiveness manager 104 evaluates multiple combinations of people as candidate members for teams. To understand how manager 104 performs the evaluation, it is important to understand the problem of cohesive team selection, which is described as follows. Given the set of n available people who are skilled to perform a task, one goal is to find a team S such that:
where the size of the team is less than n and the expectation of the number of interactions (communications) between people is computed for the distribution given in Equations 11 and 14. The expectation is a sum of terms in the form:
This expectation is computed numerically as the integral cannot be solved analytically. Finding the optimal solution for Equation 22 can computationally intensive as the search space is combinatorial in the number of skilled people available and the size of the team. Accordingly, manager 104 uses an ordering for the criterion in Equation 22 on the set of all people in the organization that helps constrain the problem, where the ordering is obtained from the class membership and group co-memberships of the people. For example, for a team of size two, the set of possible teams can be divided into subsets based upon the class and group memberships of the people in the team. A coarse division is shown in
As depicted in
In some alternative embodiments, as part of the evaluation of the possible teams, manager 104 considers other selection criteria, such as the expertise area of each person, the availability of each person, the affective state (e.g., friendly, angry, etc.) of each communication between people, and so forth. As those who are skilled in the art will appreciate, some of the criteria can be applied prior to evaluating the cohesiveness, while some of the criteria can be applied after evaluating the cohesiveness.
At task 902, manager 104 transmits information about the selected team to one or more endpoints 102-1 through 102-P. As those who are skilled will appreciate, the transmitted information can be used to inform one or more people in an organization about who to pull together as part of a team to perform a task. In some alternative embodiments, manager 104 can transmit information about the selected team or teams to another data-processing system, such as call-processing server 103. Server 103, for example, can use the information to set up a call that involves the endpoints of the people identified as being part of the selected team.
It is to be understood that the above-described embodiments are merely illustrative of the present invention and that many variations of the above-described embodiments can be devised by those skilled in the art without departing from the scope of the invention. For example, in this Specification, numerous specific details are provided in order to provide a thorough description and understanding of the illustrative embodiments of the present invention. Those skilled in the art will recognize, however, that the invention can be practiced without one or more of those details, or with other methods, materials, components, etc.
Furthermore, in some instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the illustrative embodiments. It is understood that the various embodiments shown in the Figures are illustrative, and are not necessarily drawn to scale. Reference throughout the specification to “one embodiment” or “an embodiment” or “some embodiments” means that a particular feature, structure, material, or characteristic described in connection with the embodiment(s) is included in at least one embodiment of the present invention, but not necessarily all embodiments. Consequently, the appearances of the phrase “in one embodiment,” “in an embodiment,” or “in some embodiments” in various places throughout the Specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments. It is therefore intended that such variations be included within the scope of the following claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
7644144 | Horvitz et al. | Jan 2010 | B1 |
Entry |
---|
Kenneth A. Frank, Identifying Cohesive Subgroups, presented at the Sunbelt Conference, New Orleans, 1994. |
Carolyn J Anderson & Stanley Wasserman, Building Stochastic Blockmodels, Social Networks 14 (1992 137-161. |
Kenneth A Frank, Identifying Cohesive Subgroups, Michigan State University, based on paper of the same title presented at the Sunbelt Conference, New Orleans, 1994. |
Number | Date | Country | |
---|---|---|---|
20080120261 A1 | May 2008 | US |