The present invention relates to methods of modeling users and their interactions, and more particularly, to methods of identifying a role of a user and selectively transferring role-related information from one user to another.
Job or position changes are frequent among knowledge workers. These changes may be between businesses or within the same business. Each job has one or more roles within the business associated with it, which are all performed by the person holding the job. In addition to these roles, the person holding a job can perform one or more roles using unique skills, such as EMS responder at the work location, or translator for a certain language or recruiter for an alma mater school.
The roles that a knowledge worker plays drive the interactions with other people. These interactions include, but are not limited to, email exchanges, instant messaging logs, file transfers (through email or other tools), phone calls made with the computer's soft phone and the related address book and voice messages, and calendar entries. Information captured by these interactions is often stored in digital records that are grouped automatically by the implicit rules of the tools used. For example, an email and calendar tool may group its records by record type (e.g., email vs. calendar) and date. The existence of search and browsing support (e.g., search/browse by date, person, subject keywords) in these tools discourages workers from manually organizing their records. Even when workers group the records by topic (e.g., a team project), such as filing all project-related emails in the same folder or storing files documenting the project in the same directory, workers rarely establish more than a weak association between the email folder and the file directory, typically by using similar folder and directory names.
When a worker (OLD) leaves a job, the job is often assumed by another worker (NEW) who has little or no context of what has transpired before. Information transfer from OLD to NEW is typically accomplished by one of the two approaches: 1) OLD provides documentations and records of all relevant interactions to NEW, or 2) NEW gains access to all of OLD's records. One problem with the first approach is that OLD may very likely fail to produce comprehensive documentation or provide a complete set of all relevant records. One problem with the second approach is that it is often non-trivial and very time-consuming for NEW to manually sift through a large number of records and determine what is needed for or what is relevant to various situations s/he may encounter while conducting work related to each of the multiple roles she assumes for the job.
According to an exemplary embodiment of the present disclosure, a method of modeling a user includes performing a role-based classification of tangible interactions involving the user performed via a computer system of an organization, creating a collection of role-specific interactions, creating, from the collection of role-specific interactions, a plurality of role-specific models (RSUMs) of the user, wherein the plurality of RSUMs constitute a user model of the user, outputting one or more of the RSUMs to a different user model, and consolidating the output one or more of the RSUMs with a second plurality of RSUMs of the different user model within the different user model.
According to an exemplary embodiment of the present disclosure, a computer program product for modeling a user includes a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code including computer readable program code configured to perform a role-based classification of interactions involving the user, computer readable program code configured to create a collection of role-specific interactions, computer readable program code configured to create, from the collection of role-specific interactions, a plurality of role-specific models of the user, wherein the plurality of role-specific models constitute a user model of the user, computer readable program code configured to output one or more of the role-specific models to a different user model associated with a different user, and computer readable program code configured to consolidate the output one or more of the role-specific models with a second plurality of role-specific models of the different user model within the different user model.
Exemplary embodiments of the present disclosure are directed to methods of modeling knowledge workers and their interactions. According to an embodiment of the present disclosure, a role of a user, e.g., a knowledge worker, is identified from the user's interaction records, and the collection of records related to the role is selectively transferred to another user.
Each role-specific user model (101-103) may contain role-related attributes such as the name of the role and the time range of the user in this role, and a topic-model based representation of the user's pair-wise interactions in this role with other people. According to some exemplary embodiments of the present disclosure, temporal information of the user is imported into the user model, wherein the temporal information includes a past role, a past job, a past team and/or a past project. In some examples, each role-specific user model is represented as a multi-tiered representation encoding a plurality of topic models (see for example, U.S. Patent Application publication 2012/0209871, filed Feb. 10, 2011, entitled Automated Contextual Information Retrieval Based On Multi-Tiered User Modeling And Dynamic Retrieval Strategy). Each topic model represents one or more topics derived from the aggregate content of the user's interaction in a particular role with a specific person or group (e.g., role-specific pair-wise). Furthermore, an exemplary role-specific user model encodes multiple tiers of information to represent the user's information at different granularities.
In this example, Ben and Joe both volunteer with an organization building homes for people in need. They also work together creating a community book club. In this context, they exchange emails about home construction (see 200) and books (see 202). Further, Mark is Joe's friend who works for a supplier of building materials, and Joe consults with Mark about the materials used for building houses (see 201). Joe and Mark also talk about taking and sharing pictures of community events. Joe is planning to become a volunteer firefighter and Kevin is the chief of the fire department in Joe's town.
The topics Joe discussed with each of his contacts may overlap. For example, Joe is discussing home construction with Ben and Mark, but not with Kevin (see for example, 200-201).
According to an exemplary embodiment of the proposed disclosure, a system determines or knows about the various roles played by a single user (e.g. manager, research-relationship contact person, external client relationship manager, taskforce chair, external conference associate chair, etc.). The system obtains user roles through inference, by being taught the roles, or a combination thereof. One or more role-specific user models can be exported by a first user to a second user to facilitate information transfer between the first user and the second user when the second user takes over the first user's job and assumes the roles of the first user in this job.
Here, each topic model contains a set of topics. In an exemplary embodiment, each topic is associated with two types of information: the probability of a word given this topic for all the words, and the probability of this topic given a message for all the messages in the associated interaction scope. The former probability provides a list of representative keywords that describe the topic, while the latter provides a list of messages that are strongly associated with the topic. Topics are derived from content based on statistical topic models. At 408, a user can provide feedback to help refine the role-specific user model.
More particularly, referring to
More particularly, referring to
According to some embodiments of the present disclosure, shared user models can be leveraged by applications to provide automatic support for a user's information seeking tasks when s/he assumes the job responsibilities of another user. For example, given a current message, method 600 can be applied to each of the user models (using corresponding role classifiers) to determine the best topic(s) of this message. If the current message is about a topic in an acquired user model, relevant records from the acquired user model are retrieved and presented to the user so s/he doesn't need to manually identify which records are relevant in current context.
When a user takes over the job of another user, part of his/her new job responsibilities may overlap with his/her current ones. According to some exemplary embodiments of the present disclosure, two or more role-specific user models can be compared in order to determine whether an overlap exists. In some embodiments of the present disclosure, overlap is determined based on a likelihood that the two or more role-specific user models refer to a same or a similar role (e.g., according to a probability). In the case where an overlap is determined, the two or more role-specific user models are merged.
More particularly, referring to
According to some exemplary embodiments of the present disclosure, a user model is input into a job notification database and an opportunity is identified (e.g., a position or a project corresponding to the user model) by matching RSUMs in the user model against one or more job positions in a records database. Matches can be determined based on a comparison of vectors having dimensions (e.g., words, metadata), wherein a distance between the vectors is compared to a match threshold. In this example, a vector is a representation of the role specific model / job notification. The user is notified of the opportunity, for example, through an organization's messaging system.
According to some exemplary embodiments of the present disclosure, where the user model is implemented in an organization, organizational information available to the user is determined based on the role specific models of the user.
According to some exemplary embodiments of the present disclosure, information in the user model can be filtered (e.g., displayed) based on attributes (e.g., time range, specific roles, security level, access control level, etc.). In this exemplary embodiment, the filters can be enforced based on security clearance of a party searching for information, for example, where a user's employer can view information about their projects but the user's co-worker or reports cannot view the same information.
By way of recapitulation, a method of modeling a user includes performing a role-based classification of tangible interactions involving the user performed via a computer system of an organization (see for example,
The methodologies of embodiments of the disclosure may be particularly well-suited for use in an electronic device or alternative system. Accordingly, embodiments of the present disclosure may take the form of an entirely hardware embodiment or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “processor”, “circuit,” “module” or “system.” Furthermore, embodiments of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code stored thereon.
Furthermore, it should be noted that any of the methods described herein can include an additional step of providing a system embodying the method 600 of
Any combination of one or more computer usable or computer readable medium(s) may be utilized. The computer-usable or computer-readable medium may be a computer readable storage medium. A computer readable storage medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus or device.
Computer program code for carrying out operations of embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Embodiments of the present disclosure are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions.
These computer program instructions may be stored in a computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
For example,
In different applications, some of the components shown in
The processor 901 may be configured to perform one or more methodologies described in the present disclosure, illustrative embodiments of which are shown in the above figures and described herein. Embodiments of the present disclosure can be implemented as a routine that is stored in memory 902 and executed by the processor 901 to process the signal from the media 907. As such, the computer system is a general-purpose computer system that becomes a specific purpose computer system when executing the routine of the present disclosure.
Although the computer system described in
It is to be appreciated that the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a central processing unit (CPU) and/or other processing circuitry (e.g., digital signal processor (DSP), microprocessor, etc.). Additionally, it is to be understood that the term “processor” may refer to a multi-core processor that contains multiple processing cores in a processor or more than one processing device, and that various elements associated with a processing device may be shared by other processing devices.
The term “memory” as used herein is intended to include memory and other computer-readable media associated with a processor or CPU, such as, for example, random access memory (RAM), read only memory (ROM), fixed storage media (e.g., a hard drive), removable storage media (e.g., a diskette), flash memory, etc. Furthermore, the term “I/O circuitry” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, etc.) for entering data to the processor, and/or one or more output devices (e.g., printer, monitor, etc.) for presenting the results associated with the processor.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Although illustrative embodiments of the present disclosure have been described herein with reference to the accompanying drawings, it is to be understood that the disclosure is not limited to those precise embodiments, and that various other changes and modifications may be made therein by one skilled in the art without departing from the scope of the appended claims.