The present invention relates to an extraction device, an extraction method and an extraction program.
For effective business operation improvement, techniques that assist a business analyst in correctly grasping an actual business operation status have been proposed. For example, techniques in which a flowchart is created from an operation log and displayed have been known (for example, Non-Patent Literature 1). Also, for example, a technique for specifying a main flow, which is an operation part frequently occurring common to a plurality of tasks, from flow instances (process instances) in which operations are arranged in order of occurrence time has been proposed. The main flow is conceivably a part to which RPA (robotic process automation) can effectively be applied.
Non-Patent Literature 1: Urabe, Yagi, Tsuchikawa, Masuda, Study of Business Process Visualization Method using Operation Log, IEICE Technical Report, vol. 118, no. 483, ICM2018-64, pp. 83-88, 2019.
However, the conventional techniques have a problem in where there are a wide variety of operation flows, it may be difficult to extract a main flow from flow instances.
Here, in the conventional techniques, in a task repeated performed, a flow instance is prepared for each case from an operation log acquired from a terminal, and types, and numbers of occurrences, of flow instances are specified, and based on a threshold value set by a user, a flow instance falling within the threshold value is determined as a main flow and a flow instance not falling within the threshold value is determined as an exceptional flow.
More specifically, for example, it is assumed that there are 100 flow instances that are divided into seven categories. At this time, according to the conventional techniques, if the user sets the threshold value as 2, from among the seven types of flow instances, two types of flow instances whose respective numbers of occurrences are larger are each determined as a main flow and the remaining five types of flow instances are each determined as an exceptional flow.
On the other hand, where there is a wide variety of operation flows, there are less likely to be perfectly matched flow instances, and thus, in the conventional techniques, it is originally difficult to categorize flow instances and there may be cases where no main flow can be extracted.
In order to solve the aforementioned problem and achieve an object, an extraction device includes: a generation unit that generates a plurality of operation sequences each including a plurality of operations based on an operation log of a terminal; a counting unit that, for each of operations included in the operation sequences, counts a number of operation sequences each including the same operation; and an extraction unit that extracts operations included commonly in the operation sequences the number of which is larger than a predetermined criterion as counted by the counting unit, in order of occurrence time.
The present invention enables, where there are a wide variety of operation flows, extracting a main flow from flow instances.
Embodiments of an extraction device, an extraction method and an extraction program according to the present application will be described in detail below with reference to the drawings. Note that the present invention is not limited by the below-described embodiments.
First, a configuration of an extraction device according to a first embodiment will be described with reference to
The acquisition unit 101 acquires an operation log of the terminal. The acquisition unit 101 stores the acquired operation log in the accumulation unit 102. For example, the accumulation unit 102 is a storage device for accumulating data.
Data acquired by the acquisition unit 101 will be described with reference to
Examples of work in the present embodiment includes, e.g., order acceptance work in which an input of an order received from a customer to a business operation system in a prescribed procedure is repeatedly performed. Also, for example, operations in order acceptance work are specified by input items. For example, the operation content “service name” in
Also, for example, an order ID in the order acceptance work is information for identifying a customer that placed the relevant order. The operations with the order ID “A001” in
The generation unit 103 generates a plurality of operation sequences each including a plurality of operations based on the operation log of the terminal. Hereinafter, an operation sequence generated by the generation unit 103 may be referred to as flow instance. The generation unit 103 generates flow instances by aggregating data accumulated in the accumulation unit 102 based on the orders ID and arranging the aggregated data in order of occurrence time.
The subsequent processing will be described on an example-by-example basis. First, Example 1 will be described.
Each of the numbers in
For each of operations each included in at least one of the plurality of flow instances generated based on the operation log of the terminal, the counting unit 104 counts the number of flow instances each including the same operation. Also, the extraction unit 105 extracts operations included commonly in the flow instances the number of which is larger than a predetermined criterion as counted by the counting unit 104, in order of occurrence time. The operations extracted by the extraction unit 105 at this time form a main flow in the present embodiment.
Here, the method for extracting the main flow will be described in detail. The extraction device 100 adds operations to a main flow by repeating a predetermined process. Here, first, processing in a first round will be described together with operation of the respective units and processing in a second round onwards will be described as necessary.
First, the counting unit 104 focuses on an unextracted operation whose occurrence time is earliest in each flow instance. Then, the counting unit 104 counts the number of flow instances each including the focused operation. In the example in
In this way, for an operation not extracted by the extraction unit 105, an occurrence time of the operation being earliest, from among the operations included in each flow instance, the counting unit 104 counts the number of flow instances each including the same operation.
Here, the extraction unit 105 extracts an operation included commonly in the flow instances the number of which is largest and equal to or exceeding a predetermined criterion, and adds the operation to a main flow. For example, the extraction unit 105 extracts an operation included commonly in the flow instances the number of which is largest and equal to or exceeding 2. In the first round, the counting is performed for operation 0 alone, and thus, the extraction unit 105 adds operation 0 to a main flow.
In this way, each time the numbers of flow instances are counted by the counting unit 104, the extraction unit 105 extracts an operation included commonly in the flow instances the number of which is largest and equal to or exceeding the predetermined criterion as counted by the counting unit 104. If the respective numbers of flow instances counted for a plurality of operations have a same value and are equal to or exceeds the predetermined criterion, the extraction unit 105 extracts all of the plurality of operations. Also, if the respective numbers counted for all of operations are smaller than the predetermined criterion, the extraction unit 105 extracts none of the operations.
Then, the extraction unit 105 keeps the flow instances each including the extracted operation. In the first round, the extraction unit 105 keeps the flow instances with the order IDs “A001”, “B002”, “C003”, “D004” and “A102”.
However, the extraction unit 105 does not keep a flow instance not including an operation next to the extracted operation. Also, where the extraction unit 105 extracts no operation, the extraction unit 105 does not keep a flow instance including no operation following the focused operation. Also, for example, the extraction unit 105 can perform processing for keeping a flow instance by storing the orders ID in, e.g., an array and deleting the order ID of a flow instance not to be kept from the array.
The counting unit 104 determines whether or not the kept flow instances include an operation to be focused. Since the flow instances kept in the first round all include an operation following operation 0, the counting unit 104 determines that all of the kept flow instances include an operation to be focused.
Since the operations following operation 0 in the kept flow instances are operation 1 and operation 60, the counting unit 104 counts the number of flow instances each including operation 1 and the number of flow instances each including operation 60, respectively. In the example in
If there are a plurality of operations that are subjects of counting in one flow instance, the counting unit 104 takes the flow instance as the subject for counting considering that it includes an operation whose occurrence time is earlier. For example, the flow instance with the order ID “A102” includes both operation 1 and operation 60 and the occurrence time of operation 60 is earlier, the flow instance with the order ID “A102” is taken for counting as the flow instance including operation 60, not operation 1.
Since the number of flow instances each including operation 1 is larger than the number of flow instances each including operation 60 and is equal to or larger than the predetermined criterion, in the second round, the extraction unit 105 adds operation 1 to the main flow. Then, in the second round, the extraction unit 105 keeps the flow instances with the respective order IDs “A001”, “B002”, “C003”, “D004” and “A102”. Also, the main flow is “0, 1” at the time of an end of the second round.
If the extraction device 100 repeats processing similar to the above in a third round onward, the main flow is “0, 1, 2, 24, 5, 6, 7, 8, 9, 12” at the time of an end of a tenth round. In an eleventh round, the counting unit 104 focuses on operation 20 and operation 29. Then, the counting unit 104 counts the number of flow instances each including operation 20 as 1 and counts the number of flow instances each including operation 29 as 4. Therefore, the extraction unit 105 extracts operation 29 and adds operation 29 to the main flow. Then, the extraction unit 105 keeps the flow instances with the respective order IDs “B002”, “C003”, “D004” and “A102” and does not keep the flow instance with the order ID “A001”.
Furthermore, the main flow is “0, 1, 2, 24, 5, 6, 7, 8, 9, 12, 29, 21, 22, 23” at the time of an end of a fourteenth round. At this time, the extraction unit 105 keeps none of the flow instances because there is no longer any operation to be focused. Therefore, the extraction device 100 ends the main flow extraction processing.
Note that there are a plurality of operations 23 that are subjects of extraction in the fourteenth round in the flow instance with the order ID “A102”. In such case, the extraction unit 105 extracts an operation whose occurrence time is later.
The display unit 106 outputs data via, e.g., display of a screen. The display unit 106 is, for example, a display device such as a display. The display unit 106 displays the operations included in the flow instances in a predetermined manner with the operations extracted by the extraction unit 105 highlighted. For example, as illustrated in
Example 2 that is different in operation log from Example 1 will be described.
As in Example 1, in a first round, the extraction unit 105 extracts operation 0, which is an operation included commonly in the flow instances the number of which is largest and equal to or exceeding a predetermined criterion. Here, the flow instance with the order ID “B002” includes two “operation 0”s. As described above, if there are a plurality of same operations that are subjects of extraction, the extraction unit 105 extracts an operation whose occurrence time is later. Therefore, in the first round, attention is paid to later operation 0 in the flow instance with the order ID “B002”. Then, in a second round, there is not operation 1 subsequent to focused operation 0, the extraction unit 105 does not keep the flow instance with the order ID “B002” to a third round onwards.
An overall flow of processing in the extraction device 100 will be described with reference to
Here, the extraction device 100 extracts a main flow from the flow instances (step S13). Then, the extraction device 100 provides display with the extracted main flow highlighted (step S14).
A flow of processing for extracting a main flow (step S13 in
Here, the extraction device 100 extracts an operation included commonly in the flow instances the number of which is largest, and adds the operation to the main flow (step S133). Then, the extraction device 100 keeps flow instances each including the extracted operation (step S134).
The extraction device 100 determines whether or not an operation to be focused is included in the kept flow instances (step S135). If an operation to be focused is included (step S135: Yes), the extraction device 100 returns to step S131 and repeats the processing. On the other hand, if no operation to be focused is included (step S135: No), the extraction device 100 ends the processing.
As described above, for each of operations each included in at least one of a plurality of flow instances generated based on an operation log of a terminal, the counting unit 104 counts the number of flow instances each including the same operation. Also, the extraction unit 105 extracts operations included commonly in the flow instances the number of which is larger than a predetermined criterion as counted by the counting unit 104, in order of occurrence time. In this way, the extraction device 100 can extract a main flow even if there are no perfectly matched flow instances or even if operations in the main flow are distant from each other. As a result, the extraction device 100 is capable of even where there is a wide variety of operation flows, extracting a main flow from flow instances.
Also, for an operation not extracted by the extraction unit 105, an occurrence time of the operation being earliest, from among operations included in each flow instance, the counting unit 104 counts the number of flow instances each including the same operation. At this time, each time the numbers of flow instances are counted by the counting unit 104, the extraction unit 105 extracts an operation included commonly in the flow instances the number of which is largest as counted by the counting unit 104. In this way, the extraction device 100 automatically extracts a main flow by counting the numbers of flow instances.
The display unit 106 displays the operations included in the flow instances in a predetermined manner with operations extracted by the extraction unit 105 highlighted. Consequently, the user can intuitively grasp the main flow.
The display unit 106 displays respective graphs indicating flow instances with the operations as nodes in such a manner that the graphs are superimposed on one another and the operations extracted by the extraction unit 105 are highlighted. Consequently, the user can intuitively grasp a main flow.
Also, the components of the respective illustrated devices are function concepts and do not necessarily need to be physically configured as illustrated in the figures. In other words, specific forms of distribution and integration in the respective illustrated devices are not limited to those illustrated in the figures, and all or some of the forms can be functionally or physically configured in arbitrary unit in a distributed or integrated manner according to, e.g., various loads or usage. Furthermore, all or some of the respective processing functions executed in the respective devices can be implemented by a CPU (central processing unit) and programs analyzed and executed by the CPU or can be implemented in the form of hardware using wired logic.
Also, from among the processes described in the present embodiment, all or some of the processes described as being performed automatically can also be performed manually or all or some of the processes described as being performed manually can be performed automatically via a publicly known method. In addition, a user can arbitrarily change the processing procedures, the control procedures, the specific names and the information including various data and parameters that have been indicated in the above description and the figures except as specifically provided otherwise.
As an embodiment, the extraction device 100 can be implemented by an extraction program for executing the above-described extraction processing being installed on a desired computer in the form of package software or online software. For example, an information processing device can be made to function as the extraction device 100 by execution of the above-described extraction program by the information processing device. Examples of the information processing device mentioned here include desktop and laptop personal computers. Also, other examples of the information processing device include, e.g., mobile communication terminals such as a smartphone, a mobile phone and a PHS (personal handyphone system) and further include slate terminals such as a PDA (personal digital assistant).
Also, the extraction device 100 can be implemented by an extraction server device that where a terminal device that a user uses is a client, provides a service relating to the above-described extraction processing to the client. For example, the extraction server device is implemented by a server device that provides an extraction service in which an input of an operation log is received and an extracted main flow is output. In this case, the extraction server device may be implemented in the form of a Web server or may be implemented in the form of a cloud that provides a service relating to the above-described extraction processing via outsourcing.
The memory 1010 includes a ROM (read-only memory) 1011 and a RAM (random access memory) 1012. The ROM 1011 stores, for example, a boot program such as a BIOS (basic input/output system). The hard drive disk interface 1030 is connected to a hard drive disk 1090. The disk drive interface 1040 is connected to a disk drive 1100. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted to the disk drive 1100. The serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120. The video adapter 1060 is connected to, for example, a display 1130.
The hard drive disk 1090 stores, for example, an OS (operating system) 1091, an application program 1092, a program module 1093 and program data 1094. In other words, programs for prescribing the respective processes in the extraction device 100 are implemented in the form of the program module 1093 in which computer-executable codes are written. The program module 1093 is stored in, for example, in the hard drive disk 1090. For example, a program module 1093 for performing processing that is similar to that performed by the functional components in the extraction device 100 is stored in the hard drive disk 1090. The hard drive disk 1090 may be substituted by an SSD.
Also, setting data used in the above-described processing in the embodiment are stored on, for example, the memory 1010 or the hard drive disk 1090 as the program data 1094. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 or the hard drive disk 1090 onto the RAM 1012 as necessary and executes the above-described processing in the embodiment.
The program module 1093 and the program data 1094 are not limited to being stored on the hard drive disk 1090, but may be stored on, for example, a removable storage medium and read by the CPU 1020 via, e.g., the disk drive 1100. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (e.g., a LAN (local area network) or a WAN (wide area network)). Then, the program module 1093 and the program data 1094 may be read from the other computer by the CPU 1020 via the network interface 1070.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2019/042687 | 10/30/2019 | WO |