Systems and methods for discovering automatable tasks
First Claim
1. A system, comprising:
- a first computing device comprising at least one hardware processor and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform;
receiving an indication of an action being performed by a user on the first computing device;
gathering contextual information associated with the action; and
transmitting information indicative of the action and the contextual information as an event in an event log including a plurality of events;
a second computing device in communication with the first computing device and comprising at least one hardware processor and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform;
receiving the event log comprising the plurality of events;
clustering the plurality of events to generate a plurality of clustered events;
identifying a plurality of sub-tasks in the plurality of clustered events that each comprise a sequence of one or more clustered events at least partially repeated in the plurality of clustered events;
identifying a task in the plurality of clustered events being performed by the user that comprises at least one sub-task from the plurality of sub-tasks; and
generating a score for the task indicative of a difficulty of automating the task, wherein the score is generated using at least one value selected from the group consisting of;
information identifying applications used to perform the task, a number of applications used to perform the task, a number of user interface elements used in the task, an amount of natural language input provided to the applications during the task, a number of times the sequence of the one or more clustered events repeats in the at least one sub-task, a number of keystrokes performed in the task, a number of clicks performed in the task, a ratio between keystrokes and clicks performed in the task, a percentage of time spent performing typing actions in the task, a percentage of time spent performing clicking actions in the task, and a frequency of copy and paste actions performed in the task.
5 Assignments
0 Petitions
Accused Products
Abstract
According to at least one aspect, a system for analyzing computer usage data of a user to identify an underlying task being performed by the user is provided. The system includes a hardware processor and a non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the hardware processor, cause the hardware processor to perform: receiving a plurality of events each indicative of an action performed by a user and contextual information associated with the action performed by the user, clustering the plurality of events to generate a plurality of clustered events, identifying a plurality of sub-tasks in the plurality of clustered events that each comprise a sequence of clustered events, identifying a task in the plurality of clustered events being performed by the user that comprises at least one sub-task, and generating a score for the task indicative of a difficulty of automating the task.
32 Citations
26 Claims
-
1. A system, comprising:
-
a first computing device comprising at least one hardware processor and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform; receiving an indication of an action being performed by a user on the first computing device; gathering contextual information associated with the action; and transmitting information indicative of the action and the contextual information as an event in an event log including a plurality of events; a second computing device in communication with the first computing device and comprising at least one hardware processor and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform; receiving the event log comprising the plurality of events; clustering the plurality of events to generate a plurality of clustered events; identifying a plurality of sub-tasks in the plurality of clustered events that each comprise a sequence of one or more clustered events at least partially repeated in the plurality of clustered events; identifying a task in the plurality of clustered events being performed by the user that comprises at least one sub-task from the plurality of sub-tasks; and generating a score for the task indicative of a difficulty of automating the task, wherein the score is generated using at least one value selected from the group consisting of;
information identifying applications used to perform the task, a number of applications used to perform the task, a number of user interface elements used in the task, an amount of natural language input provided to the applications during the task, a number of times the sequence of the one or more clustered events repeats in the at least one sub-task, a number of keystrokes performed in the task, a number of clicks performed in the task, a ratio between keystrokes and clicks performed in the task, a percentage of time spent performing typing actions in the task, a percentage of time spent performing clicking actions in the task, and a frequency of copy and paste actions performed in the task. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising:
-
at least one hardware processor; and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform; receiving a plurality of events each indicative of an action performed by a user on a computing device and contextual information associated with the action performed by the user; clustering the plurality of events to generate a plurality of clustered events; identifying a plurality of sub-tasks in the plurality of clustered events that each comprise a sequence of one or more clustered events at least partially repeated in the plurality of clustered events; identifying a task in the plurality of clustered events being performed by the user that comprises at least one sub-task from the plurality of sub-tasks; and generating a score for the task indicative of a difficulty of automating the task, wherein the score is generated using at least one value selected from the group consisting of;
information identifying applications used to perform the task, a number of applications used to perform the task, a number of user interface elements used in the task, an amount of natural language input provided to the applications during the task, a number of times the sequence of the one or more clustered events repeats in the at least one sub-task, a number of keystrokes performed in the task, a number of clicks performed in the task, a ratio between keystrokes and clicks performed in the task, a percentage of time spent performing typing actions in the task, a percentage of time spent performing clicking actions in the task, and a frequency of copy and paste actions performed in the task. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method, performed by a computing device, for discovering automatable tasks, the method comprising:
-
receiving a plurality of events each indicative of an action performed by a user on a computing device and contextual information associated with the action performed by the user; clustering the plurality of events to generate a plurality of clustered events; identifying a plurality of sub-tasks in the plurality of clustered events that each comprise a sequence of one or more clustered events at least partially repeated in the plurality of clustered events; identifying a task in the plurality of clustered events being performed by the user that comprises at least one sub-task from the plurality of sub-tasks; and generating a score associated with the task indicative of a difficulty of automating the task wherein the score is generated using at least one value selected from the group consisting of;
information identifying applications used to perform the task, a number of applications used to perform the task, a number of user interface elements used in the task, an amount of natural language input provided to the applications during the task, a number of times the sequence of the one or more clustered events repeats in the at least one sub-task, a number of keystrokes performed in the task, a number of clicks performed in the task, a ratio between keystrokes and clicks performed in the task, a percentage of time spent performing typing actions in the task, a percentage of time spent performing clicking actions in the task, and a frequency of copy and paste actions performed in the task. - View Dependent Claims (24, 25, 26)
-
Specification