Methods and apparatus for using task models to help computer users complete tasks
First Claim
1. A method for using a predetermined model of clustered tasks, for providing help to a user attempting to perform a task, the method comprising steps of:
- a) logging inputs of the user as steps;
b) generating a partial task from the steps logged;
c) determining a distance between the partial task generated and each of the clustered tasks;
d) determining a minimum of the distances determined; and
e) rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for analyzing tasks performed by computer users by (i) gathering usage data, (ii) converting logged usage data into a uniform format, (iii) determining or defining task boundaries, and (iv) determining a task analysis model by “clustering” similar tasks together. The task analysis model may be used to (i) help users complete a task (such help, for example, may be in the form of a gratuitous help function), and/or (ii) to target marketing information to users based on user inputs and the task analysis model. The present invention also provides a uniform semantic network for representing different types of objects in a uniform way.
125 Citations
57 Claims
-
1. A method for using a predetermined model of clustered tasks, for providing help to a user attempting to perform a task, the method comprising steps of:
-
a) logging inputs of the user as steps;
b) generating a partial task from the steps logged;
c) determining a distance between the partial task generated and each of the clustered tasks;
d) determining a minimum of the distances determined; and
e) rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
wherein the step of determining a distance between the partial task generated and each of the clustered tasks includes sub-steps of: i) formatting the steps corresponding to the user input as a run time graph having vertices corresponding to the at least one of the query and the command and having edges corresponding to related queries and commands; and
ii) determining a distance between the run time graph and graphs of tasks of the task clusters of the model.
-
-
7. The method of claim 6 wherein the sub-step of determining distances between the run time graph and the graphs of tasks of the task clusters of the model includes steps of:
-
A) determining an intersection of the run time graph and each of the graphs of the tasks of the task clusters of the model;
B) determining a difference of the run time graph and each of the graphs of the tasks of the task clusters of the model;
C) determining connected elements of each of the differences; and
D) determining, in each case, the distance based on the connected elements and the intersection, wherein the distance increases as a number of the connected elements increases.
-
-
8. The method of claim 7 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B.
-
-
9. The method of claim 7 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
wherein nintersect is the number of vertices and edges in A∩
B,wherein where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B, and,wherein where v is a parameter greater than 1 and c′
i is the number of connected elements in piece i of the difference graph B−
A.
-
-
10. A method for using a predetermined model of clustered tasks, for providing help to a user attempting to perform a task, the method comprising steps of:
-
a) logging inputs of the user as steps;
b) generating a partial task from the steps logged;
c) determining a distance between the partial task generated and each of the clustered tasks;
d) determining a minimum of the distances determined;
e) querying the user whether they want to help; and
f) if the user indicates that they want help, rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
wherein the step of determining a distance between the partial task generated and each of the clustered tasks includes sub-steps of: i) formatting the steps corresponding to the user input as a run time graph having vertices corresponding to the at least one of the query and the command and having edges corresponding to related queries and commands; and
ii) determining a distance between the run time graph and graphs of tasks of the task clusters of the model.
-
-
16. The method of claim 15 wherein the sub-step of determining distances between the run time graph and the graphs of tasks of the task clusters of the model includes steps of:
-
A) determining an intersection of the run time graph and each of the graphs of the tasks of the task clusters of the model;
B) determining a difference of the run time graph and each of the graphs of the tasks of the task clusters of the model;
C) determining connected elements of each of the differences; and
D) determining, in each case, the distance based on the connected elements and the intersection, wherein the distance increases as a number of the connected elements increases.
-
-
17. The method of claim 16 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B.
-
-
18. The method of claim 16 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
wherein nintersect is the number of vertices and edges in A∩
Bwherein where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B, and,wherein where v is a parameter greater than 1 and c′
i is the number of connected elements in piece i of the difference graph B−
A.
-
-
19. A method for using a predetermined model of clustered tasks, for providing help to a user attempting to perform a task, the method comprising steps of:
-
a) logging inputs of the user as steps;
b) generating a partial task from the steps logged;
c) determining a distance between the partial task generated and each of the clustered tasks;
d) determining a minimum of the distances determined; and
e) if the minimum of the distances is less than a predetermined threshold, rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
wherein the step of determining a distance between the partial task generated and each of the clustered tasks includes sub-steps of: i) formatting the steps corresponding to the user input as a run time graph having vertices corresponding to the at least one of the query and the command and having edges corresponding to related queries and commands; and
ii) determining a distance between the run time graph and graphs of tasks of the task clusters of the model.
-
-
25. The method of claim 24 wherein the sub-step of determining distances between the run time graph and the graphs of tasks of the task clusters of the model includes steps of:
-
A) determining an intersection of the run time graph and each of the graphs of the tasks of the task clusters of the model;
B) determining a difference of the run time graph and each of the graphs of the tasks of the task clusters of the model;
C) determining connected elements of each of the differences; and
D) determining, in each case, the distance based on the connected elements and the intersection, wherein the distance increases as a number of the connected elements increases.
-
-
26. The method of claim 25 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B.
-
-
27. The method of claim 25 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
wherein nintersect is the number of vertices and edges in A∩
B,wherein where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B, and,wherein where v is a parameter greater than 1 and c′
i is the number of connected elements in piece i of the difference graph B−
A.
-
-
28. An apparatus for using a predetermined model of clustered tasks, for providing help to a user attempting to perform a task, the device comprising:
-
a) means for logging inputs of the user as steps;
b) means for generating a partial task from the steps logged;
c) means for determining a distance between the partial task generated and each of the clustered tasks;
d) means for determining a minimum of the distances determined; and
e) means for rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
wherein the means for determining a distance between the partial task generated and each of the clustered tasks include: i) means for formatting the steps corresponding to the user input as a run time graph having vertices corresponding to the at least one of the query and the command and having edges corresponding to related queries and commands; and
ii) means for determining a distance between the run time graph and graphs of tasks of the task clusters of the model.
-
-
34. The apparatus of claim 33 wherein the means for determining distances between the run time graph and the graphs of tasks of the task clusters of the model include:
-
A) means for determining an intersection of the run time graph and each of the graphs of the tasks of the task clusters of the model;
B) means for determining a difference of the run time graph and each of the graphs of the tasks of the task clusters of the model;
C) means for determining connected elements of each of the differences; and
D) means for determining, in each case, the distance based on the connected elements and the intersection, wherein the distance increases as a number of the connected elements increases.
-
-
35. The apparatus of claim 34 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B.
-
-
36. The apparatus of claim 34 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
wherein nintersect is the number of vertices and edges in A∩
B,wherein where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B, and,wherein where v is a parameter greater than 1 and c′
1 is the number of connected elements in piece i of the difference graph B−
A.
-
-
37. An apparatus for using a predetermined model of clustered tasks, for providing help to a user attempting to perform a task, the apparatus comprising:
-
a) means for logging inputs of the user as steps;
b) means for generating a partial task from the steps logged;
c) means for determining a distance between the partial task generated and each of the clustered tasks;
d) means for determining a minimum of the distances determined;
e) means for querying the user whether they want to help; and
f) means for, if the user indicates that they want help, rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
wherein the means for determining a distance between the partial task generated and each of the clustered tasks include: i) means for formatting the steps corresponding to the user input as a run time graph having vertices corresponding to the at least one of the query and the command and having edges corresponding to related queries and commands; and
ii) means for determining a distance between the run time graph and graphs of tasks of the task clusters of the model.
-
-
43. The apparatus of claim 42 wherein the means for determining distances between the run time graph and the graphs of tasks of the task clusters of the model include:
-
A) means for determining an intersection of the run time graph and each of the graphs of the tasks of the task clusters of the model;
B) means for determining a difference of the run time graph and each of the graphs of the tasks of the task clusters of the model;
C) means for determining connected elements of each of the differences; and
D) means for determining, in each case, the distance based on the connected elements and the intersection, wherein the distance increases as a number of the connected elements increases.
-
-
44. The apparatus of claim 43 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B.
-
-
45. The apparatus of claim 43 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
wherein nintersect is the number of vertices and edges in A∩
B,wherein where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B, and,wherein where v is a parameter greater than 1 and c′
i is the number of connected elements in piece i of the difference graph B−
A.
-
-
46. An apparatus for using a predetermined model of clustered tasks, for providing help to a user attempting to perform a task, the apparatus comprising:
-
a) means for logging inputs of the user as steps;
b) means for generating a partial task from the steps logged;
c) means for determining a distance between the partial task generated and each of the clustered tasks;
d) means for determining a minimum of the distances determined; and
e) means for, if the minimum of the distances is less than a predetermined threshold, rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54)
wherein the means for determining a distance between the partial task generated and each of the clustered tasks include: i) means for formatting the steps corresponding to the user input as a run time graph having vertices corresponding to the at least one of the query and the command and having edges corresponding to related queries and commands; and
ii) means for determining a distance between the run time graph and graphs of tasks of the task clusters of the model.
-
-
52. The apparatus of claim 51 wherein the means for determining distances between the run time graph and the graphs of tasks of the task clusters of the model include:
-
A) means for determining an intersection of the run time graph and each of the graphs of the tasks of the task clusters of the model;
B) means for determining a difference of the run time graph and each of the graphs of the tasks of the task clusters of the model;
C) means for determining connected elements of each of the differences; and
D) means for determining, in each case, the distance based on the connected elements and the intersection, wherein the distance increases as a number of the connected elements increases.
-
-
53. The apparatus of claim 52 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B.
-
-
54. The apparatus of claim 52 wherein the distance between the run time graph A and each of the graphs B of the tasks of the task clusters of the model, is defined by the expression:
-
wherein nintersect is the number of vertices and edges in A∩
B,wherein where v is a parameter greater than 1 and ci is the number of connected elements in piece i of the difference graph A−
B, and,wherein where v is a parameter greater than 1 and c′
i is the number of connected elements in piece i of the difference graph B−
A.
-
-
55. A machine readable medium having machine executable instructions which, when executed by the machine, perform steps for using a predetermined model of clustered tasks to provide help to a user attempting to perform a task, the steps comprising:
-
a) logging inputs of the user as steps;
b) generating a partial task from the steps logged;
c) determining a distance between the partial task generated and each of the clustered tasks;
d) determining a minimum of the distances determined; and
e) rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined.
-
-
56. A machine readable medium having machine executable instructions which, when executed by the machine, perform steps for using a predetermined model of clustered tasks, for providing help to a user attempting to perform a task, the steps comprising:
-
a) logging inputs of the user as steps;
b) generating a partial task from the steps logged;
c) determining a distance between the partial task generated and each of the clustered tasks;
d) determining a minimum of the distances determined;
e) querying the user whether they want to help; and
f) if the user indicates that they want help, rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined.
-
-
57. A machine readable medium having machine executable instructions which, when executed by the machine, perform steps for using a predetermined model of clustered tasks, for providing help to a user attempting to perform a task, the steps comprising:
-
a) logging inputs cf the user as steps;
b) generating a partial task from the steps logged;
c) determining a distance between the partial task generated and each of the clustered tasks;
d) determining a minimum of the distances determined; and
e) if the minimum of the distances is less than a predetermined threshold, rendering help content to the user, wherein the help content is related to a task cluster associated with the minimum of the distances determined.
-
Specification