IP Library Granted Patent US 9,224,116
Granted Patent B2
US 9,224,116 · App. 13/546,445 · Granted Dec 29, 2015

Task identification based on semantics and temporal relationships

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,224,116
App. No.
13/546,445
Granted
Dec 29, 2015
Kind
B2
Abstract

The present description refers to a computer implemented method, computer program product, and computer system to receive a list of computer events, each of the events including a user interacting with a computer, determine one or more desktop operations, with each desktop operation including one or more computer events that are performed to accomplish the desktop operation, determine one or more knowledge actions, where each knowledge action includes a group of one or more desktop operations performed using a same application on a same information object, determine one or more tasks, with each task including a group of knowledge actions that include information objects that are semantically related, and combine two or more tasks that are temporally related.

Claims (83)

1. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and including executable code that, when executed, is configured to cause at least one data processing apparatus to:

receive a list of computer events, each of the events including a user interacting with a computer;

determine one or more desktop operations, with each desktop operation including one or more of the computer events in the list of events that are performed to accomplish the desktop operation;

determine one or more knowledge actions, where each knowledge action is associated with a corresponding information object and includes a group of the one or more desktop operations, each of the one or more desktop operations in the group being performed, using a same application, on the same corresponding information object associated with the knowledge action;

determine which of the corresponding information objects associated with the one or more knowledge actions are semantically related;

determine one or more tasks, with each task including a group of knowledge actions, the corresponding information objects associated with the knowledge actions in the group being a set of information objects that are semantically related;

determine that a first task and a second task, which are semantically-unrelated tasks, are temporally related; and

merge the first task and the second task into a single task by adding a knowledge action of the second task to the group of knowledge actions of the first task.

2. The computer program product of claim 1

wherein the executable code is configured to cause the at least one data processing apparatus to remove the second task after adding the knowledge action of the second task to the group of knowledge actions of the first task.

3. The computer program product of claim 1 and wherein each of the desktop operations is one type of a plurality of desktop operation types that includes: open, close, save, rename, delete, cut, paste, print, create and execute.

4. The computer program product of claim 1 and wherein each of the desktop operations is performed on or with respect to an application, a file, a folder, an information object or a window.

5. The computer program product of claim 1 and wherein each of the knowledge actions is one of a plurality of knowledge action types including one of:

consuming: a user focuses a resource on the computer;

authoring: a user authors or creates a representation of information in an existing or new resource or information object;

communicating: a user shares information or communicates with another person;

organizing: a user organizes information or information objects; and

browsing: a user browses for one or more resources.

6. The computer program product of claim 1 and wherein each of the desktop operations includes one or more events that are performed by a same application on a same information object.

7. The computer program product of claim 1 wherein the code being configured to cause the at least one data processing apparatus to determine one or more tasks comprises code that is configured to cause at least one data processing apparatus to determine one or more tasks, with each task including a group of semantically related knowledge actions, wherein one or more of the following techniques are used to determine if two or more tasks are semantically related:

vector space method;

topic extraction method;

term matching method;

vector space model method;

latent dirichlet allocation method; and/or

hierarchical clustering method.

8. The computer program product of claim 1 wherein the code being configured to cause the at least one data processing apparatus to merge the first task and the second task into a single task comprises code that is configured to cause at least one data processing apparatus to merge the first task and the second task into the single task if a number of task switches between the first task and the second task over a time period is greater than a threshold, wherein a task switch includes a switch by a user between computer events or desktop operations of the first task and the second task.

9. The computer program product of claim 1 wherein the code being configured to cause the at least one data processing apparatus to merge the first task and the second task into the single task comprises code that is configured to cause at least one data processing apparatus to:

determine a number of task switches for the first task and the second task of a plurality of tasks;

identify the first task and the second task out of the plurality of tasks that have the most task switches between them over a period of time as compared to other task pairs of the plurality of tasks; and

merge the identified first task and the identified second task into the single task.

10. The computer program product of claim 1 wherein the code is further configured to cause the at least one data processing apparatus to:

identify one or more information objects that are open within a time window;

determine a task that includes the identified information objects associated with the determined task;

determine an additional information object that is associated with the determined task but is not currently open; and

display a proposal or recommendation to open the additional information object.

11. The computer program product of claim 1 wherein the code is further configured to cause the at least one data processing apparatus to:

store one or more tasks;

determine an amount of switches between knowledge actions for an active task within a time window;

determine one or more open information objects for the active task within the time window;

identify one of a plurality of the stored tasks that most closely matches or resembles the active task based on the open information objects and a number or frequency of knowledge action switches for one or more of the plurality of stored tasks as compared to the active task;

determine an additional information object that is associated with the identified stored task but is not currently open; and

provide a proposal or recommendation to a user to open the additional information object.

12. A computer implemented method performed by a processor, the method comprising:

receiving a list of computer events, each of the events including a user interacting with a computer;

determining one or more desktop operations, with each desktop operation including one or more of the computer events in the list of events that are performed to accomplish the desktop operation;

determining one or more knowledge actions, where each knowledge action is associated with a corresponding information object and includes a group of the one or more desktop operations, each of the one or more desktop operations in the group being performed, using a same application, on the same corresponding information object associated with the knowledge action;

determining which of the corresponding information objects associated with the one or more knowledge actions are semantically related;

determining one or more tasks, with each task including a group of knowledge actions, the corresponding information objects associated with the knowledge actions in the group being a set of information objects that are semantically related;

determining that a first task and a second task, which are semantically-unrelated tasks, are temporally related; and

merging the first task and the second task into a single task by adding a knowledge action of the second task to the group of knowledge actions of the first task.

13. The computer implemented method of claim 12

further comprising removing the second task after adding the knowledge action of the second task to the group of knowledge actions of the first task.

14. The computer implemented method of claim 12 wherein each of the desktop operations is one type of a plurality of desktop operation types that includes: open, close, save, rename, delete, cut, paste, print, create and execute.

15. The computer implemented method of claim 12 wherein each of the desktop operations includes one or more events that are performed by a same application on a same information object.

16. The computer implemented method of claim 12 wherein the combining two or more tasks comprises:

determining a number of task switches for different pairs of tasks of a plurality of tasks;

identifying two tasks out of the plurality of tasks that have the most task switches between them over a period of time as compared to other task pairs of the plurality of tasks; and

combining the two identified tasks into a single task.

17. The computer implemented method of claim 12 and further comprising:

identifying one or more information objects that are open within a time window;

determining a task that includes the identified information objects associated with the determined task;

determining an additional information object that is associated with the determined task but is not currently open; and

displaying a proposal or recommendation to open the additional information object.

18. The computer implemented method of claim 12 and further comprising:

determining a number of switches between knowledge actions for an active task within a time window;

determining one or more open information objects for the active task within the time window;

identifying one of a plurality of the stored tasks that most closely matches or resembles the active task based on the open information objects and a number or frequency of knowledge action switches for one or more of the plurality of stored tasks as compared to the active task;

determining an additional information object that is associated with the identified stored task but is not currently open; and

providing a proposal or recommendation to a user to open the additional information object.

19. An apparatus comprising:

a processor coupled to a memory, the processor and memory forming logic circuitry including

event receiving logic configured to receive a list of computer events, each of the events including a user interacting with a computer;

desktop operation determining logic configured to determine one or more desktop operations, with each desktop operation including one or more of the computer events in the list of events that are performed to accomplish the desktop operation;

knowledge action determining logic configured to determine one or more knowledge actions, where each knowledge action is associated with a corresponding information object and includes a group of the one or more desktop operations, each of the one or more desktop operations in the group being performed, using a same application, on the corresponding subject information object associated with the knowledge action,

the knowledge action determining logic further configured to determine which of the corresponding information objects associated with the one or more knowledge actions are semantically related;

task determining logic configured to determine one or more tasks, with each task including a group of knowledge actions, the corresponding information objects associated with the knowledge actions in the group being a set of information objects that are semantically related, the task determining logic further configured to determine that a first task and a second task, which are semantically-unrelated tasks, are temporally related; and

combining logic configured to merge the first task and the second task into a single task by adding a knowledge action of the second task to the group of knowledge actions of the first task.

20. The apparatus of claim 19 , wherein the processor and memory are further configured to form logic circuitry to:

identify one or more information objects that are open within a time window;

determine a task that includes the identified information objects associated with the determined task;

determine an additional information object that is associated with the determined task but is not currently open; and

display a proposal or recommendation to open the additional information object.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2013
From: SCHMIDT, BENEDIKT; KASTL, JOHANNES
To: SAP AG
Reel/Frame 030131/0939 →