Method for generating RPA process combining RPA and AI, and corresponding device and readable storage medium
By combining RPA and AI technology, natural language processing technology is used to automatically mine conversation data and generate RPA processes, the problem of low manual mining efficiency in the existing technology is solved, and mechanized process automation and efficient process mining are realized.
Patent Information
- Application Number
- CN202011413998.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-31
- Filing Date
- 2020-12-04
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2040-12-04
AI Technical Summary
In the prior art, relying on manual labor to tap the RPA process efficiency is low and it is impossible to effectively utilize the potential of robot process automation.
By combining RPA and AI technology, natural language processing technology is used to cut, cluster and similarity calculation of session data, generate recommendation processes, and generate RPA processes based on modified instructions, realizing automatic mining processes relying on machines.
It improves the efficiency of process mining, reduces dependence on labor, and realizes mechanized process automation.
Smart Images

Figure CN112508518B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of Natural Language Processing (NLP), specifically to the technical field of Robotic Process Automation (RPA) and Artificial Intelligence (AI), and more specifically to a method for generating an RPA process combining RPA and AI, as well as corresponding devices and readable storage media. Background Art
[0002] Robotic Process Automation (RPA) is a technology that replaces repetitive, regular, and stable manual operations with robot operations. The application scope of RPA is very wide. Some repetitive and standardized work can be completed by RPA.
[0003] Artificial Intelligence (AI) is a technical science that studies and develops theories, methods, technologies and application systems for simulating, extending and expanding human intelligence.
[0004] As artificial intelligence technology matures, natural language processing (NLP) technology has also developed rapidly. Natural language processing technology is an important direction in the field of artificial intelligence. It enables effective communication between humans and computers using natural language. In order to assist humans in their work through RPA, it is necessary to mine the manual processes so that RPA robots can execute these processes, thereby replacing manual work. At present, these processes are basically mined manually, so the efficiency of process mining is low. Summary of the invention
[0005] In order to overcome the defects in the prior art, the present disclosure proposes a method for generating an RPA process combining RPA and AI, as well as corresponding devices and readable storage media.
[0006] According to one aspect of the present disclosure, a method for generating an RPA process combining RPA and AI is provided, including: acquiring session data; and processing the session data to generate at least one RPA process.
[0007] According to an example of the present disclosure, the above method also includes: executing the at least one RPA process when it is determined that the execution of the at least one RPA process is triggered.
[0008] According to an example of the present disclosure, the session data is processed to generate at least one RPA process, including: performing session segmentation on the session data through natural language processing technology (Natural Language Processing, referred to as NLP) to generate multiple sessions; clustering the multiple sessions to generate multiple session classes; for each session class, determining a recommended process corresponding to the session class; and generating an RPA process based on the recommended process.
[0009] According to an example of the present disclosure, before clustering the multiple conversations, the method further includes: denoising the multiple conversations.
[0010] According to an example of the present disclosure, determining a recommended process corresponding to each conversation class includes: performing similarity calculation on events in each conversation in the conversation class to obtain a similarity calculation result; and determining a recommended process corresponding to the conversation class based on the similarity calculation result.
[0011] According to an example of the present disclosure, generating an RPA process based on the recommended process includes: displaying the recommended process; determining a modification instruction for the recommended process; and generating an RPA process according to the modification instruction.
[0012] According to an example of the present disclosure, displaying the recommended process includes: generating visualization information corresponding to the recommended process; and displaying the visualization information; wherein generating the RPA process according to the modification instruction includes: modifying the visualization information according to the modification instruction; and generating the RPA process based on the modified visualization information.
[0013] According to an example of the present disclosure, the acquiring session data includes: acquiring session data from at least one terminal.
[0014] According to another aspect of the present disclosure, a device for generating an RPA process combining RPA and AI is provided, including: an acquisition unit configured to acquire session data; and a generation unit configured to process the session data and generate at least one RPA process.
[0015] According to an example of the present disclosure, the above-mentioned device also includes: an execution unit, configured to execute the at least one RPA process when it is determined that the execution of the at least one RPA process is triggered.
[0016] According to an example of the present disclosure, the generating unit is configured to perform session segmentation on the session data through natural language processing technology (NLP) to generate multiple sessions; cluster the multiple sessions to generate multiple session classes; for each session class, determine a recommended process corresponding to the session class; and generate an RPA process based on the recommended process.
[0017] According to an example of the present disclosure, the above-mentioned device also includes: a denoising unit, configured to denoise the multiple conversations before clustering the multiple conversations.
[0018] According to an example of the present disclosure, the generating unit is configured to perform similarity calculation on events in each session in a session class to obtain a similarity calculation result; and determine a recommended process corresponding to the session class based on the similarity calculation result.
[0019] According to an example of the present disclosure, the generating unit is configured to display the recommended process; determine a modification instruction for the recommended process; and generate an RPA process according to the modification instruction.
[0020] According to an example of the present disclosure, the above-mentioned device also includes: a display unit, configured to generate visualization information corresponding to the recommended process; and display the visualization information; wherein the generation unit is configured to modify the visualization information according to the modification instruction; and generate an RPA process based on the modified visualization information.
[0021] According to an example of the present disclosure, the acquiring unit is configured to acquire session data from at least one terminal.
[0022] According to another aspect of the present disclosure, a device for generating an RPA process combining RPA and AI is provided, comprising: a processor; and a memory, wherein a computer executable program is stored in the memory. When the computer executable program is executed by the processor, the above method is performed.
[0023] According to another aspect of the present disclosure, a computer-readable storage medium is provided, on which instructions are stored. When the instructions are executed by a processor, the processor executes the above method.
[0024] According to the above-mentioned various aspects of the present disclosure, the method for generating an RPA process combining RPA and AI, as well as the corresponding device and computer-readable storage medium, the acquired session data can be processed to generate an RPA process, thereby realizing the process mining by machine, avoiding the process mining by manual labor, and improving the efficiency of process mining. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The above and other purposes, features and advantages of the present disclosure will become more apparent by describing the embodiments of the present disclosure in more detail in conjunction with the accompanying drawings. The accompanying drawings are used to provide a further understanding of the embodiments of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the present disclosure and do not constitute a limitation of the present disclosure. In the accompanying drawings, the same reference numerals generally represent the same components or steps.
[0026] Figure 1 Schematic diagram of the architecture of a system in which embodiments of the present disclosure may be applied.
[0027] Figure 2 It is a flowchart of a method for generating an RPA process combining RPA and AI according to an embodiment of the present disclosure.
[0028] Figure 3 It is a flowchart of a method for processing session data to generate an RPA process according to an embodiment of the present disclosure.
[0029] Figure 4 The present invention is a flowchart of a method for determining a recommendation process corresponding to a conversation class based on a similarity calculation result according to an embodiment of the present disclosure.
[0030] Figure 5 It is a flowchart of a method for generating an RPA process based on a recommended process according to an embodiment of the present disclosure.
[0031] Figure 6 The implementation according to the embodiment of the present disclosure is shown Figure 2 A schematic diagram of the structure of the device of the method is shown.
[0032] Figure 7 The structure of the device according to the embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0033] In order to make the purpose, technical solutions and advantages of the present disclosure more obvious, the exemplary embodiments according to the present disclosure will be described in detail with reference to the accompanying drawings. In the accompanying drawings, the same reference numerals represent the same elements from beginning to end. It should be understood that the embodiments described here are merely illustrative and should not be interpreted as limiting the scope of the present disclosure.
[0034] First, refer to Figure 1 Schematic diagram of the system architecture in which the embodiments of the present disclosure can be applied is described below. Figure 1As shown, the system 100 may include a server 110 and a terminal 120. The terminal 120 may run a client for collecting session data, and collect the session data through the client. Then, the terminal 120 may send the collected session data to the server 110. The server 110 may process the acquired session data to generate at least one RPA process. In this way, it is possible to mine processes by machines, avoid mining processes by humans, and improve the efficiency of process mining.
[0035] In addition, in the present disclosure, the terminal 120 may be an electronic device such as a smart phone, a tablet computer, a laptop, a desktop computer, a customer service terminal, etc. The server 110 may be a device that establishes a communication link with the terminal 120 and generates an RPA process.
[0036] Furthermore, it is important to recognize that despite Figure 1 A server and a terminal are shown in FIG. , but this is only for illustration. Figure 1 The system shown may include multiple servers and / or multiple terminals.
[0037] The following will refer to Figure 2 To describe a method for generating an RPA process combining RPA and AI according to an embodiment of the present disclosure. Figure 2 2 is a flow chart of a method 200 for generating an RPA process combining RPA and AI according to an embodiment of the present disclosure. The method 200 may be Figure 1 The server executes in .
[0038] like Figure 2 As shown, in step S201, session data is obtained. For example, in step S201, the server may obtain session data from at least one terminal. In addition, after acquiring the session data, the terminal may send the session data to the server in real time. Alternatively, after acquiring the session data, the terminal may send the session data to the server in non-real time. For example, after acquiring the session data, the terminal may first store the session data in a storage module (e.g., a memory) of the terminal, and then send the session data to the server after a preset time.
[0039] According to an example of the present disclosure, the session data in step S201 may include start and end identification information of each session. The start and end identification information of each session may be, for example, a start identifier and / or an end identifier of the session.
[0040] According to another example of the present disclosure, the session data in step S201 may also include identification information of each session. The identification information of each session may be, for example, a session identification (ID).
[0041] According to another example of the present disclosure, the session data in step S201 may also include multiple events and timestamps corresponding to each event. For example, the terminal may determine the timestamps corresponding to each event according to a conventional timestamp determination method, and send the timestamps corresponding to each event to the server, so that the session data acquired by the server includes the timestamps corresponding to each event.
[0042] According to another example of the present disclosure, the session data in step S201 may also include at least one of a page uniform resource locator (URL), a page title, a page control element, a page control element attribute, etc. corresponding to each event.
[0043] Then, in step S202, the session data is processed to generate at least one RPA process.
[0044] The following will be combined Figure 3 Let's describe step S202. Figure 3 3 is a flowchart of a method 300 for processing session data to generate an RPA process according to an embodiment of the present disclosure. Figure 3 As shown, step S202 may include four sub-steps, namely Figure 3 Step S301, step S302, step S303 and step S304 in.
[0045] First, in step S301, the conversation data may be segmented by natural language processing (NLP) to generate multiple conversations.
[0046] In the present disclosure, the clock of the terminal and the clock of the server may be synchronized or not. When the clock of the terminal and the clock of the server are synchronized, the server does not need to align the timestamps of each event in the session data before performing session segmentation on the session data.
[0047] However, when the clock of the terminal and the clock of the server are not synchronized, the server needs to align the timestamps of each event in the session data before performing session segmentation on the session data. For example, the server can align the timestamps of each event in the session data based on the clock of the terminal and its own clock. Specifically, the server can determine the time difference between the clock of the terminal and its own clock, and then align the timestamps of each event in the session data according to the time difference.
[0048] In addition, in step S301, the server may parse the session data using NLP technology to obtain the start and end identification information of each session in the session data, and then perform session segmentation on the session data according to the start and end identification information of each session in the session data. For example, in an example where the start and end identification information of the session is the start identifier of the session, the server may segment the session data according to the start identifier of each session. Specifically, the server may treat the events between two adjacent start identifiers as events included in one session, thereby achieving session segmentation. For another example, in an example where the start and end identification information of the session is the end identifier of the session, the server may segment the session data according to the end identifier of each session. Specifically, the server may treat the events between two adjacent end identifiers as events included in one session, thereby achieving session segmentation. For another example, in an example where the start and end identification information of the session is the start identifier and the end identifier of the session, the server may segment the session data according to the start identifier or the end identifier of each session.
[0049] In the present disclosure, a session may be a series of operations from the start of a page access to the end of a page access, and each operation in the series of operations may be referred to as an event. The event described here may be an operation performed on a control (e.g., a button, an input box) in a page, such as clicking a button, entering text in an input box, etc. In other words, each generated session may include multiple events.
[0050] The following uses the invoice processing process as an example to describe the session and events. For example, the invoice processing process may include the following steps: (1) open the supplier's invoice email; (2) create a work item in the invoice management software; (3) check whether the supplier name is correct; (4) check whether the amount is correct; (5) if all are correct, calculate the tax; (6) enter the supplier name, amount and tax; (7) close the work item. The above invoice processing process is a session, which includes seven events, which are the above steps (1) to (7).
[0051] In the present disclosure, a session may also be referred to as a “process.” For ease of use, the terms session and process may be used interchangeably hereinafter.
[0052] Then, in step S302, multiple sessions may be clustered to generate multiple session classes.
[0053] According to an example of the present disclosure, before clustering multiple sessions, the server may denoise the multiple sessions. For example, redundant events in multiple sessions may be regarded as noise data, and therefore, the server may remove redundant events in the multiple sessions, thereby denoising the multiple sessions. Specifically, when an event in the multiple sessions only occurs in a single session in the multiple sessions, the event may be considered a redundant event. Alternatively, the server may set a redundant event library, and when an event in the multiple sessions matches an event in the redundant event library, the event may be considered a redundant event.
[0054] In this example, the server can obtain valid sessions by denoising multiple sessions, and then cluster the valid sessions based on vectors corresponding to the valid sessions, thereby generating multiple session classes.
[0055] For example, the server may perform clustering processing on valid sessions according to a conventional clustering algorithm to generate multiple session classes. Specifically, the input of the clustering algorithm may be a vector corresponding to a valid session, and the output of the clustering algorithm may be multiple session classes. The clustering algorithm described here may be a K-means clustering algorithm, a mean shift clustering algorithm, a density-based clustering method, a maximum expectation clustering algorithm using a Gaussian mixture model, an agglomerative hierarchical clustering algorithm, a graph community detection algorithm, etc.
[0056] In addition, in this example, the multiple generated conversation classes may be conversation classes about multiple businesses. They may also be conversation classes about multiple sub-businesses of a business. For example, the multiple generated conversation classes may include conversation classes about invoice processing flow, conversation classes about personnel processing flow, conversation classes about telephone customer service, etc. They may also be conversation classes about ticket booking flow and ticket refund flow in ticket telephone customer service.
[0057] In addition, in this example, each session class may include at least one session. In addition, each session in each session class is related to the same business or sub-business. For example, when the session class is a session class about an invoice processing flow, each session in the session class is related to the invoice processing flow.
[0058] Then, in step S303, for each session class, a recommended process corresponding to the session class may be determined. The recommended process may be a standard process or a formatted process corresponding to the session class.
[0059] According to an example of the present disclosure, the server may perform similarity calculation on events included in each session in a session class to obtain a similarity calculation result. The similarity calculation result may include the similarity between any two events in the session class. For example, the server may calculate the similarity between any two events in the session class according to a conventional similarity calculation method.
[0060] Then, the server can determine the recommended process corresponding to the session class based on the similarity calculation result. Figure 4 The specific process of how the server determines the recommendation flow corresponding to the session class based on the similarity calculation result is described in detail. Figure 4 4 is a flowchart of a method 400 for determining a recommendation process corresponding to a conversation class based on a similarity calculation result according to an embodiment of the present disclosure.
[0061] like Figure 4 As shown, in step S401, the server may determine the current event from the events included in each session in a session class. For example, the server may select an event from the events included in each session in the session class as the current event based on the start identifier of each session in the session class. Since each session in the session class belongs to the same session class, it can be assumed that the first event in each session in the session class is the same. Under this assumption, the server may take the first event after the start identifier of any session in the session class as the current event.
[0062] Then, in step S402, the server may determine whether there is a next event among other events included in each session in the session class based on the similarity calculation result, wherein the similarity between the next event and the current event exceeds a threshold. For example, the server may search for an event whose similarity with the current event exceeds a threshold from the similarity calculation result, and use the searched event as the next event relative to the current event.
[0063] In addition, the threshold value here can be set to a larger value, so that the similarity between the current event and the next event is higher.
[0064] When there is no next event in the other events, the server may execute step S403. In step S403, the server may determine a recommended process corresponding to the conversation class according to the current event. That is, the recommended process corresponding to the conversation class only includes the current event.
[0065] In addition, when there is a next event in the other events, the server may execute step S404. In step S404, the server may determine the next event from the other events.
[0066] Then, in step S405, the server may use the next event to update the current event. For example, the server may use the next event as the latest current event.
[0067] Then, the server may repeat the above steps S402 to S405 until there is no next event in the other events.
[0068] Then, in step S406, the server may determine a recommended process corresponding to the conversation class according to the latest current event and the event before the latest current event determined according to steps S402 to S405. For example, the recommended process corresponding to the conversation class may include the latest current event and the event before the latest current event.
[0069] A specific example corresponding to the method 400 is given below. Assume that a session class includes three sessions and the first events in the three sessions are the same, and the first session includes three events, which are represented as P1, P2, and P3 respectively. 12 , P 13 The second session includes three events, denoted as P1, P 22 , P 23 ,The third session includes four events, denoted as P1, P 32 , P 33 , P 34 According to method 500, in step S501, event P1 may be determined to be the current event. Then, in step S502, the remaining events (P 12 , P 13 , P 22 , P 23 , P 32 , P 33 , P 34 ) whether there is a next event. When there is a next event, in step S504, the remaining events (P 12 , P 13 , P 22 , P 23 , P 32 , P 33 , P 34 ) to determine the next event, for example, to determine the next event as event P 22 Then, in step S505, event P 22 Then, repeat the above steps S502 to S505 to determine the latest current event relative to event P. 22 The next event is event P 23 , and the event P 23Then, repeat the above steps S502 to S505 to determine the latest current event relative to event P. 23 The next event is event P 34 , and the event P 34 Then, repeat the above steps S502 to S505, and find no corresponding event P. 34 Then, in step S506, according to event P 34 , and event P 34 Previous event P1, event P 22 , event P 23 To determine the recommendation process corresponding to the session class, the recommendation process may include event P1, event P 22 , event P 23 , and event P 34 .
[0070] In addition, according to another example of the present disclosure, the server may mine sessions with session scores higher than a first threshold from a session class, and determine a recommendation process corresponding to the session class based on the mined sessions with session scores higher than the first threshold.
[0071] Specifically, first, the server may mine sessions with a frequency higher than the second threshold from each session class. For example, the server may count the frequency of occurrence of each session in the session class, and then select sessions with a frequency higher than the second threshold from the session class. For another example, the server may mine sessions with a frequency higher than the second threshold from each session class based on conventional recurrent neural network (RNN) deep learning. The RNN deep learning described here may be a conventional LSTM (Long Short-Term Memory) model, etc.
[0072] In an example where the server mines conversations with a frequency higher than a second threshold from each conversation class according to the RNN, the server may determine the network characteristics of the RNN according to the second threshold. The network characteristics of the RNN may include one or more of network parameters, the number of network nodes, etc.
[0073] Then, the server may mine sessions with a session score higher than the first threshold from the mined sessions with a frequency of occurrence higher than the second threshold. For example, for the mined sessions with a frequency of occurrence higher than the second threshold, the server may determine a session score for each of the sessions, and then select sessions with a session score higher than the first threshold from the sessions.
[0074] In the present disclosure, the session score may be a function of at least one of the priority of the session, the input-output ratio of the session, etc. For example, the session score may be the priority of the session or the input-output ratio of the session. For another example, the session score may be a weighted average of the priority of the session and the input-output ratio of the session.
[0075] In addition, the input-output ratio of the session can be determined according to at least one of the number of events included in the session, the frequency of occurrence of the session, and the time spent on the session. For example, the input-output ratio of the session can be proportional to at least one of the number of events included in the session, the frequency of occurrence of the session, and the time spent on the session. For example, the input-output ratio of the session can be the product of the number of events included in the session, the frequency of occurrence of the session, and the time spent on the session. Then, the server can use at least one of the mined sessions with a session score higher than the first threshold as a recommended process corresponding to the session class. For example, when the number of mined sessions with a session score higher than the first threshold is one, the mined sessions with a session score higher than the first threshold can be used as a recommended process corresponding to the session class. When the number of mined sessions with a session score higher than the first threshold is multiple, one session can be selected from the mined sessions with a session score higher than the first threshold as a recommended process corresponding to the session class.
[0076] return Figure 3 In step S304, an RPA process may be generated based on the recommended process.
[0077] The following will be combined Figure 5 This section describes in detail the process of how the server generates an RPA process based on the recommended process. Figure 5 It is a flowchart of a method 500 for a server to generate an RPA process based on a recommended process according to an embodiment of the present disclosure.
[0078] like Figure 5 As shown, in step S501, the recommended process may be displayed. For example, the server may generate visualization information corresponding to the recommended process and display the visualization information. The visualization information described here may be at least one of an image (e.g., a flowchart), an audio file, a video file, etc. corresponding to the recommended process.
[0079] Then, in step S502, a modification instruction for the recommended process may be determined. For example, the server may receive the modification instruction for the recommended process through an input device (eg, a mouse, a keyboard, etc.) of the server.
[0080] Then, in step S503, an RPA process may be generated according to the modification instruction.
[0081] Specifically, the server may modify the visualization information according to the modification instruction to obtain the modified visualization information. For example, in an example where the visualization information is a flowchart, the server may delete, modify or adjust certain steps in the flowchart according to the modification instruction to obtain the modified flowchart.
[0082] Then, the server may generate an RPA process based on the modified visualization information. For example, in an example where the visualization information is a flowchart, the server may generate an RPA process based on the modified flowchart.
[0083] return Figure 2 After step S202, method 200 may further include step S203 and step S204.
[0084] Specifically, in step S203, it can be determined whether to trigger the execution of at least one generated RPA process. For example, a process label corresponding to the RPA process can be generated. Then, it can be determined whether the process label is operated (for example, clicked) to determine whether to trigger the execution of the generated RPA process.
[0085] When it is determined that the at least one RPA process is triggered to be executed, step S204 may be executed, that is, the at least one RPA process is executed. When it is determined that the at least one RPA process is not triggered to be executed, step S204 may not be executed, that is, the at least one RPA process is not executed.
[0086] The above describes the specific process of executing method 200 by the server. According to another example of the present disclosure, method 200 may also be executed by Figure 1 It should be appreciated that the process of executing the method 200 by the terminal is similar to the process of executing the method 200 by the server described above, and the main differences are as follows.
[0087] Specifically, in the example where the method 200 is executed by a terminal, in step S201, the terminal may collect session data to obtain the session data, or may receive session data from other terminals to obtain the session data.
[0088] In addition, when the terminal collects session data to obtain session data, the terminal does not need to align the timestamps of each event in the session data before performing session segmentation (i.e., step S301) on the session data. When the terminal receives session data from other terminals to obtain session data, the terminal may need to align the timestamps of each event in the session data before performing session segmentation (i.e., step S301) on the session data.
[0089] According to the generation method of the embodiment of the present disclosure, the acquired session data can be processed to generate an RPA process, thereby realizing the mining of the process by machine, avoiding the mining of the process by manual labor, and improving the efficiency of process mining.
[0090] Below, refer to Figure 6 To describe the embodiment of the present disclosure Figure 2 The method shown corresponds to the device. Figure 6 The implementation according to the embodiment of the present disclosure is shown Figure 2 The structure diagram of the apparatus 600 of the method shown in FIG. The apparatus 600 may be Figure 1 Alternatively, the device 600 may also be Figure 1 Since the function of the device 600 is similar to that of the terminal 120 in the above reference Figure 2 The details of the methods described are the same, so for the sake of simplicity, detailed descriptions of the same contents are omitted here. Figure 6 As shown, the apparatus 600 includes: an acquisition unit 610, configured to acquire session data; and a generation unit 620, configured to process the session data and generate at least one RPA process. In addition to these two units, the apparatus 600 may also include other components, however, since these components are irrelevant to the content of the embodiment of the present disclosure, their illustration and description are omitted here.
[0091] For example, the acquisition unit 610 may acquire session data from at least one terminal. In addition, after acquiring the session data, the terminal may send the session data to the server in real time. Alternatively, after acquiring the session data, the terminal may send the session data to the server in non-real time. For example, after acquiring the session data, the terminal may first store the session data in a storage module (e.g., a memory) of the terminal, and then send the session data to the server after a preset time.
[0092] According to an example of the present disclosure, the session data may include start and end identification information of each session. The start and end identification information of each session may be, for example, a start identifier and / or an end identifier of the session.
[0093] According to another example of the present disclosure, the session data may further include identification information of each session. The identification information of each session may be, for example, a session identification (ID).
[0094] According to another example of the present disclosure, the session data may also include multiple events and timestamps corresponding to each event. For example, the terminal may determine the timestamps corresponding to each event according to a conventional timestamp determination method, and send the timestamps corresponding to each event to the server, so that the session data acquired by the server includes the timestamps corresponding to each event.
[0095] According to another example of the present disclosure, the session data may further include at least one of a page uniform resource locator (URL), a page title, a page control element, a page control element attribute, etc. corresponding to each event.
[0096] The specific process of the generation unit 620 processing the session data to generate the RPA process will be described below.
[0097] First, the generating unit 620 may perform session segmentation on the session data through natural language processing technology (Natural Language Processing, referred to as NLP) to generate multiple sessions.
[0098] In the present disclosure, the clock of the terminal and the clock of the server may be synchronized or not. When the clock of the terminal and the clock of the server are synchronized, the generation unit 620 does not need to align the timestamps of each event in the session data before performing session segmentation on the session data.
[0099] However, when the clock of the terminal and the clock of the server are not synchronized, the generation unit 620 needs to align the timestamps of each event in the session data before performing session segmentation on the session data. For example, the generation unit 620 can align the timestamps of each event in the session data based on the clock of the terminal and its own clock. Specifically, the generation unit 620 can determine the time difference between the clock of the terminal and its own clock, and then align the timestamps of each event in the session data according to the time difference.
[0100] In addition, the generation unit 620 may first use NLP technology to parse the user question to obtain the start and end identification information of each session in the session data, and then perform session segmentation on the session data according to the start and end identification information of each session in the session data. For example, in an example where the start and end identification information of the session is the start identifier of the session, the generation unit 620 may segment the session data according to the start identifier of each session. Specifically, the generation unit 620 may treat the events between two adjacent start identifiers as events included in one session, thereby achieving session segmentation. For another example, in an example where the start and end identification information of the session is the end identifier of the session, the generation unit 620 may segment the session data according to the end identifier of each session. Specifically, the generation unit 620 may treat the events between two adjacent end identifiers as events included in one session, thereby achieving session segmentation. For another example, in an example where the start and end identification information of the session is the start identifier and the end identifier of the session, the generation unit 620 may segment the session data according to the start identifier or the end identifier of each session.
[0101] In the present disclosure, a session may be a series of operations from the start of a page access to the end of a page access, and each operation in the series of operations may be referred to as an event. The event described here may be an operation performed on a control (e.g., a button, an input box) in a page, such as clicking a button, entering text in an input box, etc. In other words, each generated session may include multiple events.
[0102] The following uses the invoice processing process as an example to describe the session and events. For example, the invoice processing process may include the following steps: (1) open the supplier's invoice email; (2) create a work item in the invoice management software; (3) check whether the supplier name is correct; (4) check whether the amount is correct; (5) if all are correct, calculate the tax; (6) enter the supplier name, amount and tax; (7) close the work item. The above invoice processing process is a session, which includes seven events, which are the above steps (1) to (7).
[0103] In the present disclosure, a session may also be referred to as a “process.” For ease of use, the terms session and process may be used interchangeably hereinafter.
[0104] According to an example of the present disclosure, the device 600 may further include a denoising unit 630, which is configured to denoise the multiple sessions before clustering the multiple sessions. For example, redundant events in multiple sessions can be regarded as noise data, and therefore, the denoising unit 630 can remove the redundant events in the multiple sessions, thereby denoising the multiple sessions. Specifically, when an event in the multiple sessions only occurs in a single session in the multiple sessions, the event can be considered as a redundant event. Alternatively, the server can set a redundant event library, and when an event in the multiple sessions matches an event in the redundant event library, the event can be considered as a redundant event.
[0105] In this example, the denoising unit 630 may obtain valid sessions by denoising multiple sessions. Then, the generating unit 620 may cluster the valid sessions based on the vectors corresponding to the valid sessions, thereby generating multiple session classes.
[0106] For example, the generation unit 620 may perform clustering processing on the valid sessions according to a conventional clustering algorithm to generate a plurality of session classes. Specifically, the input of the clustering algorithm may be a vector corresponding to the valid session, and the output of the clustering algorithm may be a plurality of session classes. The clustering algorithm described here may be a K-means clustering algorithm, a mean shift clustering algorithm, a density-based clustering method, a maximum expectation clustering algorithm using a Gaussian mixture model, an agglomerative hierarchical clustering algorithm, a graph community detection algorithm, and the like.
[0107] In addition, in this example, the generated multiple conversation classes may be conversation classes about multiple businesses or multiple sub-businesses under one business. For example, the generated multiple conversation classes may include conversation classes about invoice processing, conversation classes about industrial assembly lines, conversation classes about personnel processing, conversation classes about telephone customer service, etc. It may also be a conversation class about the ticket booking process and a conversation class about the ticket refund process in the ticket telephone customer service.
[0108] In addition, in this example, each session class may include at least one session. In addition, each session in each session class is related to the same business or sub-business. For example, when the session class is a session class about the invoice processing process, each session in the session class is related to the invoice processing process. For another example, when the session class is a session class about the ticket booking process, each session in the session class is related to the invoice processing process.
[0109] Furthermore, in the present disclosure, the recommended process may be a standard process or a formatted process corresponding to a session class.
[0110] According to an example of the present disclosure, the generation unit 620 may perform similarity calculation on events included in each session in a session class to obtain a similarity calculation result. The similarity calculation result may include the similarity between any two events in the session class. For example, the generation unit 620 may calculate the similarity between any two events in the session class according to a conventional similarity calculation method.
[0111] Then, the generation unit 620 may determine the recommended process corresponding to the conversation class based on the similarity calculation result. The specific process of how the generation unit 620 determines the recommended process corresponding to the conversation class based on the similarity calculation result will be described in detail below.
[0112] First, the generation unit 620 can determine the current event from the events included in each session in a session class. For example, the generation unit 620 can select an event from the events included in each session in the session class as the current event according to the start identifier of each session in the session class. Since each session in the session class belongs to the same session class, it can be assumed that the first event in each session in the session class is the same. Under this assumption, the generation unit 620 can take the first event after the start identifier of any session in the session class as the current event.
[0113] Then, the generation unit 620 may determine whether there is a next event among other events included in each session in the session class based on the similarity calculation result, wherein the similarity between the next event and the current event exceeds a threshold. For example, the server may search for an event whose similarity with the current event exceeds a threshold from the similarity calculation result, and use the searched event as the next event relative to the current event.
[0114] In addition, the threshold value here can be set to a larger value, so that the similarity between the current event and the next event is higher.
[0115] When there is no next event in the other events, the generating unit 620 may determine the recommended process corresponding to the conversation class according to the current event. That is, the recommended process corresponding to the conversation class only includes the current event.
[0116] In addition, when there is a next event among the other events, the generation unit 620 may determine the next event from the other events.
[0117] Then, the generation unit 620 may use the next event to update the current event. For example, the generation unit 620 may use the next event as the latest current event.
[0118] Then, the generating unit 620 may repeatedly determine whether there is a next event in the other events and update the current event until there is no next event in the other events.
[0119] Then, the generation unit 620 may determine the recommended process corresponding to the conversation class according to the latest current event and the determined event before the latest current event. For example, the recommended process corresponding to the conversation class may include the latest current event and the event before the latest current event.
[0120] In addition, according to another example of the present disclosure, the generation unit 620 may mine sessions with session scores higher than a first threshold from a session class, and determine a recommendation process corresponding to the session class based on the mined sessions with session scores higher than the first threshold.
[0121] Specifically, first, the generation unit 620 can mine sessions with a frequency higher than the second threshold from each session class. For example, the generation unit 620 can count the frequency of occurrence of each session in the session class, and then select sessions with a frequency higher than the second threshold from the session class. For another example, the generation unit 620 can mine sessions with a frequency higher than the second threshold from each session class based on conventional RNN deep learning. The RNN deep learning described here can be a conventional LSTM model, etc.
[0122] In the example where the generation unit 620 mines conversations with a frequency higher than a second threshold from each conversation class according to the RNN, the generation unit 620 may determine the network characteristics of the RNN according to the second threshold. The network characteristics of the RNN may include one or more of network parameters, the number of network nodes, etc.
[0123] Then, the generation unit 620 may mine sessions with a session score higher than the first threshold from the mined sessions with an occurrence frequency higher than the second threshold. For example, for the mined sessions with an occurrence frequency higher than the second threshold, the generation unit 620 may determine the session score of each of the sessions, and then select sessions with a session score higher than the first threshold from the sessions.
[0124] In the present disclosure, the session score may be a function of at least one of the priority of the session, the input-output ratio of the session, etc. For example, the session score may be the priority of the session or the input-output ratio of the session. For another example, the session score may be a weighted average of the priority of the session and the input-output ratio of the session.
[0125] In addition, the input-output ratio of the session can be determined according to at least one of the number of events included in the session, the frequency of occurrence of the session, and the time spent on the session. For example, the input-output ratio of the session can be proportional to at least one of the number of events included in the session, the frequency of occurrence of the session, and the time spent on the session. For example, the input-output ratio of the session can be the product of the number of events included in the session, the frequency of occurrence of the session, and the time spent on the session.
[0126] Then, the generation unit 620 may select at least one of the mined sessions with a session score higher than the first threshold as a recommended process corresponding to the session class. For example, when the number of mined sessions with a session score higher than the first threshold is one, the mined session with a session score higher than the first threshold may be selected as a recommended process corresponding to the session class. When the number of mined sessions with a session score higher than the first threshold is multiple, one session may be selected from the mined sessions with a session score higher than the first threshold as a recommended process corresponding to the session class.
[0127] The specific process of the generation unit 620 generating the RPA process based on the recommended process will be described in detail below.
[0128] First, the device 600 may further include a display unit 640 configured to display the recommended process. For example, the display unit 640 may generate visualization information corresponding to the recommended process and display the visualization information. The visualization information described here may be at least one of an image (e.g., a flowchart), an audio file, a video file, etc. corresponding to the recommended process.
[0129] Then, the generation unit 620 may determine the modification instruction for the recommended process. For example, the generation unit 620 may receive the modification instruction for the recommended process through an input device (eg, a mouse, a keyboard, etc.) of the server.
[0130] Then, the generating unit 620 may generate an RPA process according to the modification instruction.
[0131] Specifically, the generation unit 620 can modify the visualization information according to the modification instruction to obtain the modified visualization information. For example, in the example where the visualization information is a flowchart, the generation unit 620 can delete, modify or adjust certain steps in the flowchart according to the modification instruction to obtain the modified flowchart.
[0132] Then, the generating unit 620 may generate the RPA process based on the modified visualization information. For example, in an example where the visualization information is a flowchart, the generating unit 620 may generate the RPA process based on the modified flowchart.
[0133] In addition, the device 600 may further include an execution unit 650, which is configured to execute the at least one RPA process when it is determined that the execution of the at least one RPA process is triggered.
[0134] Specifically, the execution unit 650 may determine whether to trigger the execution of at least one generated RPA process. For example, a process label corresponding to the RPA process may be generated. Then, it may be determined whether an operation (e.g., a click) is performed on the process label to determine whether to trigger the execution of the generated RPA process.
[0135] When it is determined that the at least one RPA process is triggered to be executed, the execution unit 650 may execute the at least one RPA process. When it is determined that the at least one RPA process is not triggered to be executed, the execution unit 650 may not execute the at least one RPA process.
[0136] According to the generating device of the embodiment of the present disclosure, the acquired session data can be processed to generate an RPA process, thereby realizing the mining of the process by machine, avoiding the mining of the process by manual labor, and improving the efficiency of process mining.
[0137] In addition, the device (eg, server, terminal, etc.) according to the embodiment of the present disclosure may also be Figure 7 The architecture of the computing device shown is implemented. Figure 7 The architecture of the computing device is shown. Figure 7 As shown, the computing device 700 may include a bus 710, one or more CPUs 720, a read-only memory (ROM) 730, a random access memory (RAM) 740, a communication port 750 connected to a network, an input / output component 760, a hard disk 770, etc. The storage device in the computing device 700, such as ROM 730 or hard disk 770, can store various data or files used for computer processing and / or communication and program instructions executed by the CPU. The computing device 700 may also include a user interface 780. Of course, Figure 7 The architecture shown is only exemplary and can be omitted according to actual needs when implementing different devices. Figure 7 One or more components of a computing device are shown.
[0138] The embodiments of the present disclosure may also be implemented as a computer-readable storage medium. Computer-readable instructions are stored on a computer-readable storage medium according to an embodiment of the present disclosure. When the computer-readable instructions are executed by a processor, the method according to the embodiment of the present disclosure described with reference to the above figures may be executed. The computer-readable storage medium includes, but is not limited to, for example, a volatile memory and / or a non-volatile memory. The volatile memory may, for example, include a random access memory (RAM) and / or a cache memory (cache), etc. The non-volatile memory may, for example, include a read-only memory (ROM), a hard disk, a flash memory, etc.
[0139] Those skilled in the art will appreciate that the contents disclosed in this disclosure may be subject to various modifications and improvements. For example, the various devices or components described above may be implemented by hardware, or by software, firmware, or a combination of some or all of the three.
[0140] In addition, as shown in the present disclosure and claims, unless the context clearly indicates an exception, the words "a", "an", "a kind" and / or "the" do not specifically refer to the singular, but may also include the plural. The words "first", "second" and similar words used in the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. Similarly, words such as "include" or "comprise" mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Words such as "connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
[0141] In addition, flow charts are used in the present disclosure to illustrate the operations performed by the system according to the embodiments of the present disclosure. It should be understood that the preceding or following operations are not necessarily performed precisely in order. On the contrary, various steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0142] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention belongs. It should also be understood that terms such as those defined in common dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology and should not be interpreted in an idealized or extremely formal sense, unless explicitly defined as such herein.
[0143] The present disclosure is described in detail above, but it is obvious to those skilled in the art that the present disclosure is not limited to the embodiments described in this specification. The present disclosure can be implemented as a modification and alteration without departing from the purpose and scope of the present disclosure as determined by the claims. Therefore, the description in this specification is for the purpose of illustration and does not have any restrictive meaning for the present disclosure.
Claims
1. A method for generating a robotic process automation (RPA) process combining RPA and AI, comprising: S1. Get session data; as well as S2. Process the session data to generate at least one RPA process; The session data is processed to generate at least one RPA process, including: S21. Performing session segmentation on the session data by using natural language processing (NLP) technology to generate multiple sessions. S22, clustering the multiple conversations to generate multiple conversation classes; S23, performing similarity calculation on events in each session in the session class to obtain a similarity calculation result, and determining a recommendation process corresponding to the session class based on the similarity calculation result; S24, generating an RPA process based on the recommended process; The method further includes: mining sessions with a session score higher than a first threshold from the session class, and determining a recommendation process corresponding to the session class according to the mined sessions with a session score higher than the first threshold; Wherein, mining the sessions whose session scores are higher than the first threshold from the session class includes: mining the sessions whose session scores are higher than the first threshold from the mined sessions whose occurrence frequency is higher than the second threshold; The session score includes at least one function of a session priority and an input-output ratio of the session, wherein the input-output ratio of the session is determined based on at least one of the number of events included in the session, the frequency of occurrence of the session, and the time spent on the session.
2. The method of claim 1, further comprising: S3. Execute the at least one RPA process when it is determined that the at least one RPA process is triggered to execute.
3. The method according to claim 1, before clustering the plurality of sessions, further comprising: S25: De-noising the multiple conversations.
4. The method of claim 3, wherein generating an RPA process based on the recommended process comprises: S241, displaying the recommendation process; S242, determining a modification instruction for the recommended process; as well as S243: Generate an RPA process according to the modification instruction.
5. The method according to claim 4, The display of the recommendation process includes: S2411, generating visualization information corresponding to the recommended process; as well as S2412, displaying the visualization information; The generating of the RPA process according to the modification instruction includes: S2431, modifying the visualization information according to the modification instruction; as well as S2431. Generate an RPA process based on the modified visualization information.
6. The method of claim 1, wherein obtaining session data comprises: S11. Acquire session data from at least one terminal.
7. A device for generating a robotic process automation (RPA) process combining RPA and AI, comprising: An acquisition unit, configured to acquire session data; as well as a generating unit, configured to process the session data and generate at least one RPA process; The processing of the session data to generate at least one RPA process includes: performing session segmentation on the session data by natural language processing (NLP) technology to generate multiple sessions, clustering the multiple sessions to generate multiple session classes, performing similarity calculation on events in each session in the session class to obtain a similarity calculation result, and determining a recommended process corresponding to the session class based on the similarity calculation result, and generating an RPA process based on the recommended process; The method further includes: mining sessions with a session score higher than a first threshold from the session class, and determining a recommendation process corresponding to the session class according to the mined sessions with a session score higher than the first threshold; Wherein, mining the sessions whose session scores are higher than the first threshold from the session class includes: mining the sessions whose session scores are higher than the first threshold from the mined sessions whose occurrence frequency is higher than the second threshold; The session score includes at least one function of a session priority and an input-output ratio of the session, wherein the input-output ratio of the session is determined based on at least one of the number of events included in the session, the frequency of occurrence of the session, and the time spent on the session.
8. A device for generating a robotic process automation (RPA) process combining RPA and AI, comprising: Processor; and Memory, where A computer executable program is stored in the memory. When the computer executable program is executed by the processor, the method according to any one of claims 1 to 6 is performed.
9. A computer-readable storage medium combining RPA and AI, on which instructions are stored, and when the instructions are executed by a processor, the processor executes the method as described in any one of claims 1 to 6.