A method and device for determining multi-task processing order
By building a task relationship diagram and using artificial intelligence models to determine the task processing order, the problem of inefficient multi-task processing is solved and more efficient task processing is achieved.
Patent Information
- Application Number
- CN202210489685.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-06
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2042-05-06
AI Technical Summary
The prior art is difficult to effectively determine the order of multitasking, resulting in low overall processing efficiency.
By constructing a task relationship diagram, using artificial intelligence models to determine the weight and minimum path probability between tasks, the standard path is determined, and the processing order of the task is determined based on the path.
The overall efficiency of multitasking is improved, and the total saving time of multitasking is increased by optimizing the task order.
Smart Images

Figure CN114841664B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present specification relate to the field of computer application technology, and more particularly to a method and device for determining a multi-task processing order. Background Art
[0002] At present, in many scenarios, manual processing of several tasks is required. For example, in the qualification review scenario, business personnel are usually required to continuously process several tasks of qualification review based on the information submitted by the merchant to be reviewed and the review rules they have been trained and mastered. The tasks may specifically include determining whether the merchant to be reviewed is a legal business, determining the business conditions of the merchant to be reviewed, etc., so as to determine whether the merchant to be reviewed can pass the qualification review in the future.
[0003] The order in which a number of tasks are processed continuously has a significant impact on the overall processing efficiency. Currently, there is an urgent need for a method for determining the order in which a number of tasks are processed in order to improve the overall processing efficiency. Summary of the invention
[0004] In order to solve the above problems, this specification provides a method and device for determining a multi-task processing order. The technical solution is as follows.
[0005] A method for determining a multi-task processing order, comprising:
[0006] A task relationship graph is obtained; wherein different tasks that need to determine the processing order are different nodes in the task relationship graph; the weight of each edge in the task relationship graph is negatively correlated with the saved time corresponding to the two tasks connected by the edge; the calculation method of the saved time corresponding to the first task and the second task includes: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for continuously processing the two tasks in one processing;
[0007] Based on the artificial intelligence model, determine the weight and minimum path probability of each edge in the task relationship graph belonging to the task relationship graph; wherein the artificial intelligence model is pre-trained according to the graph sample and the label corresponding to each edge in the graph sample, and the label corresponding to each edge is used to characterize the weight and minimum path of the edge belonging to or not belonging to the graph sample; the weight and minimum path of the graph are the paths with the smallest sum of weights among all possible paths that pass through each node of the graph without repetition;
[0008] According to the determined probability of each edge, a target-reaching path is determined from all possible paths that do not repeatedly pass through each node in the task relationship graph; among all possible paths that do not repeatedly pass through each node in the task relationship graph, the sum of the probabilities of the target-reaching path is greater than at least one other path;
[0009] The processing order of each task is determined according to the connection relationship between each task in the target-reaching path.
[0010] A device for determining a multi-task processing sequence, comprising:
[0011] The acquisition unit is used to acquire a task relationship graph; wherein different tasks that need to determine the processing order are different nodes in the task relationship graph; the weight of each edge in the task relationship graph is negatively correlated with the saved time corresponding to the two tasks connected by the edge; the calculation method of the saved time corresponding to the first task and the second task includes: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for continuously processing the two tasks in one processing;
[0012] A probability unit is used to determine the probability of each edge in the task relationship graph belonging to the weight and minimum path of the task relationship graph based on the artificial intelligence model; wherein the artificial intelligence model is pre-trained according to the graph sample and the label corresponding to each edge in the graph sample, and the label corresponding to each edge is used to characterize the weight and minimum path of the edge belonging to or not belonging to the graph sample; the weight and minimum path of the graph are the paths with the smallest sum of weights among all possible paths that pass through each node of the graph without repetition;
[0013] A path unit, for determining a target-reaching path from all possible paths that do not repeatedly pass through each node in the task relationship graph according to the determined probability of each edge; among all possible paths that do not repeatedly pass through each node in the task relationship graph, the sum of the probabilities of the target-reaching path is greater than at least one other path;
[0014] The sequence unit is used to determine the processing order of each task according to the connection relationship between each task in the target-reaching path.
[0015] The above technical solution can determine the processing order between multiple tasks based on a task relationship diagram that reflects the time saved between tasks, thereby improving the overall processing efficiency of multiple tasks by increasing the total time saved for multiple tasks. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this specification. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0017] Figure 1 It is a flowchart of a method for determining a multi-task processing order provided by an embodiment of this specification;
[0018] Figure 2It is a schematic diagram of the principle of a method for constructing a task relationship diagram provided in an embodiment of this specification;
[0019] Figure 3 It is a schematic diagram of a sub-image sampling process provided by an embodiment of this specification;
[0020] Figure 4 It is a structural diagram of a multi-task processing order determination device provided in an embodiment of this specification;
[0021] Figure 5 It is a structural diagram of a device used to configure the method of the embodiment of this specification. DETAILED DESCRIPTION
[0022] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of this specification, the technical solutions in the embodiments of this specification will be described in detail below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field should belong to the scope of disclosure.
[0023] At present, in many scenarios, manual processing of several tasks is required. For example, in the qualification review scenario, business personnel are usually required to continuously process several tasks of qualification review based on the information submitted by the merchant to be reviewed and the review rules they have been trained and mastered. The tasks may specifically include determining whether the merchant to be reviewed is a legal business, determining the business conditions of the merchant to be reviewed, etc., so as to determine whether the merchant to be reviewed can pass the qualification review in the future.
[0024] In a specific example, when the business platform reviews the merchant's qualifications, business personnel are usually required to process relevant tasks based on the information submitted by the merchant, such as whether the merchant has a business license, the merchant's turnover range, the merchant's credit rating, etc. These tasks can be in the form of selection, statement, fill-in-the-blank, etc.
[0025] In addition, business personnel usually need to handle all tasks of merchant qualification review, so that if the merchant qualification review fails, they can fully and accurately feedback to the merchant all the reasons for the failure of the qualification review, so as to improve the success rate of the merchant's next qualification review.
[0026] The order in which a number of tasks are processed continuously has a significant impact on the overall processing efficiency. Currently, there is an urgent need for a method for determining the order in which a number of tasks are processed in order to improve the overall processing efficiency.
[0027] In order to improve the overall processing efficiency of tasks, an embodiment of the present specification provides a method for determining a multi-task processing order.
[0028] In this method, considering that in many scenarios, there may be correlations between several tasks, when manually processing tasks with strong correlations continuously, they can be processed quickly to improve the overall processing efficiency.
[0029] For example, in the scenario of merchant qualification review, there are two tasks regarding merchant risk assessment, namely whether the merchant has a business license and whether the merchant is operating legally.
[0030] If the business personnel determine that the merchant does not have a business license based on the merchant information, the next task is to determine whether the merchant is operating legally. Since the merchant must not be operating legally if it does not have a business license, the business personnel can directly determine that the merchant is not operating legally based on the handling of the previous task and quickly handle this task.
[0031] If the business personnel determine that the merchant does not have a business license based on the merchant information, and then process dozens of tasks before processing whether the merchant is operating legally, then the business personnel may not have relevant memory and need to check the merchant information again to determine that the merchant does not have a business license before processing this task, which is inefficient.
[0032] Obviously, when related tasks are processed continuously, there may be certain prompts or guidance, which can facilitate business personnel to process quickly, improve processing efficiency, and reduce processing time.
[0033] Therefore, by reasonably determining the processing order of several tasks, tasks with strong correlation can be processed continuously, thereby improving the overall processing efficiency of several tasks.
[0034] Of course, it is also possible to adjust the processing order at any time according to actual needs and task modifications, thereby saving processing time.
[0035] To adjust the order of tasks specifically, on the one hand, it is necessary to determine the relevance between tasks, and on the other hand, it is necessary to consider the overall situation and determine an optimal processing order for all tasks to improve processing efficiency.
[0036] Therefore, in a method for determining a multi-task processing order provided by an embodiment of the present specification, the time consumed for processing a task individually can be determined, and then the time consumed for processing a task next to other tasks can be determined.
[0037] Obviously, data analysis can be used to determine whether processing a task individually saves time compared to processing it continuously, so that the correlation between a task and other tasks can be reflected based on the time saved.
[0038] Specifically, if the time saved is small, it can be determined that the correlation between the two consecutively processed tasks is small; if the time saved is large, it can be determined that the correlation between the two consecutively processed tasks is large.
[0039] Of course, the saved time itself can be used to improve the overall efficiency of task processing. Therefore, the order of task processing can be determined based on the saved time data itself.
[0040] Furthermore, a graph structure can be constructed based on the tasks, and the time saved can be converted into the weight of the edge, or it can be converted into the distance between the nodes corresponding to the tasks. The distance can be negatively correlated with the time saved. The longer the distance, the less time saved. After constructing a graph structure for all tasks that need to determine the processing order, the overall time saving relationship of the tasks can be determined, and the correlation between the tasks can be characterized.
[0041] For the constructed graph structure, the problem of determining the order of task processing can be converted into a traveling salesman problem, that is, making the path distance as short as possible while ensuring that each node in the graph structure is passed through without duplication.
[0042] In other words, the shortest path in the graph structure can be determined. The shortest path can pass through each node corresponding to the task in the graph structure. The path itself can represent the task processing order, and the path distance can be negatively correlated with the saved time. When the overall path distance is the shortest, the total saved time of the corresponding task processing order is the longest, thereby saving the time for processing all tasks and improving the overall efficiency of task processing.
[0043] It can be seen that this method can construct a graph structure based on the time saved by continuous task processing, so that the shortest path in the graph structure can be solved according to the distance in the graph structure that represents the saved time. Based on the solution results, a better task processing order can be determined to increase the total time saved in multi-task processing, so as to improve the overall efficiency of multi-task processing.
[0044] Of course, when the graph structure is more complex, it is usually difficult to determine the global optimal solution of the shortest path in the graph structure. It is often possible to determine the local optimal solution, that is, the path with a relatively short total distance in the graph structure, which can also improve the overall efficiency of task processing.
[0045] It should be noted that the method embodiments provided in the embodiments of this specification do not limit the scenario of specific tasks, and may be multiple audit tasks for one audit object in the audit scenario, for example, multiple audit tasks required for auditing a merchant. The above method can improve the overall processing efficiency of multiple audit tasks.
[0046] There may also be multiple evaluation tasks for one evaluation object in an evaluation scenario. For example, when evaluating a project, the project may be evaluated from multiple aspects, thus there are multiple evaluation tasks. The above method can improve the overall processing efficiency of multiple evaluation tasks.
[0047] It can also be several answering tasks in a questionnaire in a questionnaire scenario. For example, there are many questions in a questionnaire that need to be answered. In order to improve the overall efficiency of answering questions, the answering order of multiple questions can be determined, that is, the processing order of multiple answering tasks. The above method can improve the overall processing efficiency of multiple answering tasks.
[0048] The above method can determine the time saved by continuous processing between tasks through data analysis, analyze the correlation between tasks, and determine whether there are inspirations, connections or associations, so as to discover a better multi-tasking processing order and improve overall processing efficiency.
[0049] A method for determining a multi-task processing order provided by an embodiment of this specification is explained in detail below in conjunction with the accompanying drawings.
[0050] like Figure 1 FIG. 1 is a flow chart of a method for determining a multi-task processing order provided in an embodiment of the present specification. The method may include the following steps.
[0051] S101: Obtain a task relationship diagram.
[0052] Among them, different tasks that need to determine the processing order are different nodes in the task relationship graph; the weight of each edge in the task relationship graph is negatively correlated with the saved time corresponding to the two tasks connected by the edge; the calculation method of the saved time corresponding to the first task and the second task includes: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for continuously processing the two tasks in one processing.
[0053] S102: Based on the artificial intelligence model, determine the weight of each edge in the task relationship graph and the probability of the minimum path belonging to the task relationship graph.
[0054] Among them, the artificial intelligence model is trained in advance according to the graph samples and the labels corresponding to each edge in the graph samples. The label corresponding to each edge is used to characterize the weight and minimum path of whether the edge belongs to the graph sample or not; the weight and minimum path of the graph are the paths with the smallest weight among all possible paths that pass through each node of the graph without repetition.
[0055] S103: According to the determined probability of each edge, a path that reaches the target is determined from all possible paths that do not repeatedly pass through each node in the task relationship graph.
[0056] Among all possible paths that pass through each node of the task relationship graph without repetition, the sum of probabilities of the target-reaching path is greater than that of at least one other path.
[0057] S104: Determine the processing order of each task according to the connection relationship between each task in the target-reaching path.
[0058] The above method flow can determine the processing order between multiple tasks based on the task relationship diagram reflecting the time saved between tasks with the purpose of increasing the total time saved, thereby improving the overall processing efficiency of multiple tasks by increasing the total time saved for multiple tasks.
[0059] Specifically, based on the task relationship graph that reflects the time saved between tasks, by introducing the time saved between tasks, the overall correlation relationship of multiple tasks can be characterized, and by using the graph structure and artificial intelligence model, a path that passes through each node in the task relationship graph without repetition can be determined for the purpose of increasing the total time saved. In this way, the order of multi-task processing with a relatively long total time saved can be determined, the total time saved for multi-task processing can be increased, and the overall processing efficiency of multiple tasks can be improved.
[0060] Specifically, for the task relationship graph that reflects the time saved between tasks, the probability that each edge in the task relationship graph belongs to the weight and minimum path can be determined, and the weight and minimum path can reflect the task processing order with the longest total time saved. Therefore, with the purpose of increasing the total time saved, the graph structure and artificial intelligence model can be used to determine the probability and relatively high target path, and then determine the task processing order with relatively long total time saved, which can also increase the total time saved in processing multiple tasks and improve the overall processing efficiency.
[0061] 1. The following is a detailed explanation of S101.
[0062] S101: Obtain a task relationship diagram.
[0063] Different tasks that need to determine the processing order are different nodes in the task relationship graph; the weight of each edge in the task relationship graph is negatively correlated with the saved time corresponding to the two tasks connected by the edge.
[0064] The saved time corresponding to the two tasks may be calculated by adding the time for processing only one of the tasks in one process to the time for processing only the other task in another process, and subtracting the time for processing the two tasks continuously in one process.
[0065] For ease of description, the following description will be based on the first task and the second task.
[0066] The calculation method of the saved time corresponding to the first task and the second task may include: the time of processing only the first task in one process, plus the time of processing only the second task in another process, and subtracting the time of continuously processing the two tasks in one process.
[0067] The method flow does not limit the specific way of obtaining the task relationship diagram, as long as it is a task relationship diagram in the above form.
[0068] Optionally, a task relationship diagram may be constructed for a number of tasks that need to determine a processing order.
[0069] The method flow does not limit the specific way of constructing the task relationship diagram.
[0070] In an optional embodiment, a plurality of tasks may be acquired, tasks with associated relationships among the plurality of tasks may be determined, and the saved time corresponding to the associated relationships may be determined.
[0071] Specifically, the task relationship graph may be constructed by constructing a node for each acquired task, constructing edges according to the association between the tasks, and determining the weight of the corresponding edge according to the time saved by the continuous processing of the two tasks.
[0072] The acquired tasks may be tasks that need to determine a processing order, which facilitates subsequent construction of a task relationship graph.
[0073] 1. For certain tasks, this method does not limit the specific task content or form, nor does it limit the acquisition method or source of certain tasks.
[0074] For example, in the merchant access review scenario, merchant information review tasks can be set in advance based on expert experience and actual needs, and then several tasks can be obtained from the pre-set merchant information review tasks. The specific form of the task can be selection, filling in the blanks, expression, etc., and can be processed by uploading images or editing text. The specific content of the task can be to review various aspects of the merchant's information, which can include merchant business qualifications, merchant credit rating, merchant scale, merchant turnover, etc.
[0075] In an optional embodiment, a task may include one or more subtasks, and may also distinguish between core tasks and derivative tasks, wherein the core tasks are more closely related to whether a merchant can pass the review, such as the merchant's legal business qualifications, while the derivative tasks are less closely related to whether a merchant can pass the review, such as the merchant's operating turnover.
[0076] 2. Determination of associated relationships.
[0077] The present method flow does not limit the specific method of determining the association relationship, and two embodiments are given below for exemplary description.
[0078] 1) In an optional embodiment, the association relationship may represent the correlation between tasks. For example, in a merchant access review scenario, two tasks related to the merchant credit rating may be correlated, and thus have an association relationship.
[0079] Optionally, the association relationship may be configured in advance according to the task content or task type, for example, it is determined that all tasks related to the merchant credit rating have an association relationship.
[0080] When related tasks are processed consecutively, the processing time can usually be saved. For example, two tasks related to merchant credit rating can be "Determine the merchant's credit rating based on the user return ratio?" and "Is the merchant's credit rating greater than level 3?". When these two tasks are processed consecutively, the processing result of the latter task can be quickly determined based on the merchant's credit rating calculated by the previous task, thereby improving processing efficiency.
[0081] Therefore, the process of this method mainly optimizes the processing order of tasks so that tasks with related relationships can be processed continuously, thereby saving overall processing time and improving overall processing efficiency.
[0082] 2) In another optional embodiment, the association relationship can be used to characterize tasks that are processed continuously. As long as two different tasks are processed continuously, it can be determined that the two tasks have an association relationship, thereby facilitating the determination of whether the tasks save time during the continuous processing process from the perspective of data analysis.
[0083] Therefore, the continuously processed tasks can be identified as tasks with correlation from the historical task processing data, so as to facilitate mining the correlation between tasks and saving time based on the historical task processing data.
[0084] Analyzing correlations and time savings from actual processing data can more accurately and directly uncover non-intuitive correlations.
[0085] In summary of the above two embodiments, optionally, the determination of the association relationship may be pre-specified according to the task content, or may be determined based on the analysis of historical task processing data.
[0086] In an optional embodiment, determining a task having an associated relationship among the acquired tasks may include: acquiring historical processing data of the acquired tasks; the historical processing data including: data characterizing the processing order of multiple tasks among the acquired tasks; for any task among the acquired tasks, determining in the historical processing data a task that was processed before the task, and determining that the task has an associated relationship with the determined task.
[0087] This embodiment does not limit the specific form of the association relationship. Optionally, the saved time between tasks can be determined as a form of the association relationship.
[0088] The historical processing data will be explained later and will not be elaborated here.
[0089] Since the time saved by continuously processing tasks needs to be focused on in subsequent steps, it is possible to determine that every two continuously processed tasks have a correlation relationship, so as to facilitate the subsequent determination of the time saved through data analysis.
[0090] It should be noted that since a graph structure needs to be constructed based on the association relationship in subsequent steps, the node corresponding to each task in the graph structure needs to be connected to a node corresponding to at least one other task by an edge. Therefore, optionally, each of the several tasks obtained needs to have an association relationship with at least one other task.
[0091] Furthermore, in an optional embodiment, the association relationship may correspond to the order in which the two tasks are processed.
[0092] For the same two tasks, there may be different association relationships. For example, there are two different association relationships between the first task and the second task, one corresponding to the order of processing the first task and the second task in sequence, and the other corresponding to the order of processing the second task and the first task in sequence.
[0093] For example, for the first task and the second task, the historical processing data may include data indicating that the first task was processed before the second task, and accordingly, it can be determined that the first task and the second task have an association relationship. In addition, it can also be determined that the association relationship between the first task and the second task corresponds to the order in which the first task and the second task are processed successively, that is, the processing order is the first task before the second task.
[0094] If the historical processing data also includes data characterizing that the second task is processed before the first task, it can be determined that there is another association relationship between the first task and the second task. The other association relationship may correspond to the order of processing the second task and the first task successively, that is, the processing order is the second task first and the first task later.
[0095] The order in which the two tasks corresponding to the association relationship are processed has an impact on determining the time saved corresponding to the association relationship and constructing the task relationship diagram, which will be explained in detail later.
[0096] 3. Process historical data.
[0097] In an optional embodiment, the historical processing data may include relevant data of several tasks acquired by the business personnel in the past.
[0098] Optionally, there is no limitation on the method for acquiring the historical processing data. Specifically, the method may be to record the processing by the business personnel, such as log recording, and then acquire the historical processing data from the record.
[0099] Optionally, the historical processing data may be collected by monitoring the process of business personnel processing several acquired tasks and acquiring relevant data for storage.
[0100] It should be noted that when collecting historical processing data, the data of business personnel in the process of processing tasks can be monitored and obtained according to the needs of the process of this method. For example, the processing order, processing time, processing results, etc. The process of processing tasks can also be adaptively adjusted to obtain more aspects and types of data, such as adjusting the task processing order.
[0101] In an optional embodiment, the specific content of the relevant data may include the order in which the business personnel process the acquired tasks in order to facilitate the determination of the association relationship between the tasks.
[0102] Normally, the processing order of several tasks can be fixed, and business personnel process several tasks in a fixed order. However, in order to further explore the relationship between tasks and save time, the task processing order can be adjusted so that different business personnel can process tasks in different processing orders.
[0103] Optionally, the order of several tasks can be randomly adjusted, and the business personnel can process them and record the processing order. The business personnel can also adjust the processing order of the tasks themselves.
[0104] For example, for the first task -10, several business personnel may process it according to the processing order of the first task -10, and then other business personnel may process it according to the processing order of the first task 0-1.
[0105] Therefore, optionally, the historical processing data may include data representing the processing order of multiple tasks among the acquired tasks.
[0106] Of course, the data format for representing the processing sequence is not limited, and it can be represented by task identifiers with a sequential order.
[0107] It should be noted that the historical processing data may include multiple groups of data representing different processing sequences, and each processing sequence may include all or part of the acquired tasks.
[0108] For example, the historical processing data may include: first task - 10, first tasks 0-7, tasks 4-9, and so on.
[0109] Obviously, through the above embodiments, it is possible to utilize the various processing orders between tasks to facilitate mining the association relationship between tasks and save time, and it can also help determine the association relationship between tasks.
[0110] In addition, in an optional embodiment, since the association relationship needs to reflect the time saved to help subsequent steps improve processing efficiency, the specific content of the relevant data can also include the time it takes for business personnel to process several tasks in sequence, or it can be described as processing time.
[0111] Optionally, the historical processing data may include actual processing time of the business personnel continuously processing the acquired tasks, and may specifically include the actual processing time of each task in the process of continuously processing the acquired tasks.
[0112] The actual processing time may specifically refer to the time it takes for a business person to process a task during the actual processing. Correspondingly, different business people may have different actual processing times when processing the same task due to various circumstances. Therefore, the theoretical processing time needs to be determined based on the actual processing time.
[0113] The theoretical processing time specifically refers to the time theoretically taken by a business person to process a task, thereby making it easy to determine a fixed value for calculating the time saved.
[0114] It should be noted that, since the historical processing data may contain a variety of different processing orders, the actual processing time of the same task when it is processed next to different other tasks may be different.
[0115] In order to facilitate the calculation of the time saved by continuously processing related tasks, it is also necessary to determine the time required to process the tasks individually.
[0116] In an optional embodiment, the historical processing data may include the actual processing time of each of the multiple tasks acquired by the business personnel individually, that is, the time of processing only one task in one processing. In other words, the historical processing data may include the time of processing multiple tasks individually.
[0117] Obviously, through historical processing data, the actual time saved when the task is processed continuously can be conveniently determined by the actual processing time of each task processed individually among the several tasks obtained, and the actual processing time of the task being processed next to other tasks.
[0118] The actual processing time of the task being processed next to other tasks may specifically be the total actual processing time of the two tasks being processed continuously.
[0119] It should be noted that since different business personnel may have different processing situations and actual processing times when handling specific tasks, the historical processing data contains multiple different processing situations of multiple business personnel. For example, the same business personnel may conduct merchant access review for different merchants, and the actual processing time may also be different.
[0120] In order to facilitate the calculation of saved time and improve the accuracy of the calculation, in an optional embodiment, the theoretical processing time for processing a task alone and the theoretical processing time for processing a task next to other tasks can be calculated by summary statistics.
[0121] This embodiment does not limit the specific calculation method, which may be a method of finding an average value, a method of finding a mode, a method of finding a median, or a method of deleting the maximum and minimum values and then finding the average value.
[0122] Optionally, the time consumed for processing a task individually can be determined through testing. Specifically, multiple business personnel can process the same task individually multiple times, obtain the actual processing time, and then calculate the average value as the theoretical processing time.
[0123] Correspondingly, since different business personnel may have different actual processing times when processing the same two tasks in succession, optionally, in order to reduce the impact of different business personnel and different processing situations, the actual processing time in the historical processing data may be averaged to obtain the theoretical processing time of any task being processed next to another task among the acquired tasks. Of course, the theoretical processing time of any task being processed next to different other tasks may be different.
[0124] For ease of understanding, in an optional application embodiment, the acquired tasks may include a first task and a second task. After testing, it can be obtained that the actual processing time of the first task being processed separately by different business personnel includes: 4 seconds, 5 seconds, 3 seconds, and 8 seconds. The specific calculation of the theoretical processing time of the separate processing of the first task can be calculated by calculating the average value, and the theoretical processing time is calculated to be 5 seconds.
[0125] The actual processing time of the first task being processed by different business personnel after the second task includes: 2 seconds, 3 seconds, 4 seconds, and 3 seconds. Therefore, the theoretical processing time of the first task being processed after the second task can be calculated by calculating the average value, and the theoretical processing time is calculated to be 3 seconds.
[0126] Obviously, from the perspective of convenient calculation of the saved time, the actual processing time contained in the historical processing data can be used to calculate the theoretical processing time. The theoretical processing time can be considered to be obtained by data analysis from the actual processing time.
[0127] The step of calculating the theoretical processing time can be performed in advance, and the theoretical processing time can be directly used as part of the historical processing data; it can also be calculated in real time when the saved time needs to be calculated later.
[0128] Of course, since the historical processing data can be continuously updated and increased, and new business personnel are added to handle several acquired tasks, the theoretical processing time can also be updated in real time.
[0129] Optionally, the historical processing data may include: the actual processing time and / or theoretical processing time for processing any one of the several tasks obtained individually; it may also include the actual processing time and / or theoretical processing time for processing any one of the several tasks obtained as the next one of other tasks.
[0130] Of course, in an optional embodiment, the processing time may also be determined by other means rather than data analysis, for example, by manually setting the processing time through expert experience and actual investigation and analysis.
[0131] Therefore, optionally, the historical processing data may include: the processing time of any of the acquired tasks alone; and the processing time of any of the acquired tasks after the next of other tasks. The specific method for determining the time is not limited, and it may be the actual processing time directly obtained, the theoretical processing time obtained by data analysis, or the processing time set manually.
[0132] Optionally, the historical processing data may include the actual processing time and / or theoretical processing time of any task among the acquired several tasks being processed next to other tasks, and this data may be used to characterize the processing order of the tasks.
[0133] Therefore, the historical processing data may include data characterizing the processing order of multiple tasks among the acquired tasks, and the data may specifically be in the form of the actual processing time and / or theoretical processing time of any task among the acquired tasks being processed next to other tasks.
[0134] In this embodiment, the saved time can be conveniently calculated based on the historical processing data.
[0135] 4. Determination of time saved.
[0136] This method does not limit the method for determining the saved time.
[0137] The following explains the determination of the saved time from two aspects: one is the value of the saved time, and the other is the order in which the two tasks corresponding to the saved time are processed.
[0138] 1) The value of the saved time.
[0139] Optionally, the time saved between tasks can be determined by historical processing data and data analysis, or by manual setting.
[0140] In an optional embodiment, the historical processing data may include the duration of each of the acquired tasks being processed separately, that is, the duration of processing only one task in one processing; it may also include the duration of continuously processing two tasks among the acquired tasks, specifically, the duration of continuously processing two tasks in one combination among multiple combinations containing two tasks.
[0141] Correspondingly, for any combination, the saved time of continuous processing can be determined through simple difference calculation.
[0142] Taking the first task and the second task as an example, the calculation method of the saved time corresponding to the first task and the second task may include: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for processing the two tasks continuously in one processing.
[0143] Of course, the duration may be a calculated theoretical processing time.
[0144] Optionally, the actual saved time may be calculated based on the actual processing time of the task, and then the theoretical saved time may be further calculated as the saved time corresponding to the association relationship.
[0145] The actual time saved can specifically refer to the actual time saved during the actual processing of the business personnel, and the actual time saved by different business personnel may be different. Therefore, the actual time saved for the same task can be combined to determine the theoretical time saved. The theoretical time saved can specifically refer to the theoretical time saved by the business personnel when they continuously process the task.
[0146] Optionally, the theoretical processing time can be calculated first and then the theoretical saved time can be calculated based on the actual processing time of the task. The theoretical saved time can also be calculated directly based on the theoretical processing time.
[0147] Generally, when processing tasks continuously, if there is no correlation between the previously processed task and the currently processed task and they cannot provide any inspiration, guidance or prompt, then processing the two tasks continuously can be considered as processing the two tasks separately.
[0148] Therefore, the calculated time savings is usually a positive number or zero.
[0149] It should be noted that since the determination of the association relationship can be directly obtained based on data analysis, it only represents the tasks that have been processed continuously, and the tasks that have been processed continuously may not be relevant and may not actually save time. Therefore, the calculated difference may be zero.
[0150] However, due to the inaccuracy of the theoretical processing time during data analysis, the theoretical processing time of individual processing may be less than the theoretical processing time of continuous processing, which may cause the calculated difference to be a negative number. For example, the actual processing time of individual processing of a task included in the historical processing data is small, resulting in a large error in the theoretical processing time of individual processing, which may result in a negative number in the subsequent calculation of the difference.
[0151] The reason why the calculated difference is negative is because of the error in the data analysis process. In order to avoid the impact of the error, the saved time can usually be considered to be 0, that is, continuous processing does not save processing time.
[0152] In addition, in some special cases, there may be misleading or confusing situations in actual processing, for example, the task "Does the merchant have a physical store" and the task "Name of the merchant's business entity". For business personnel who are not familiar with the relevant knowledge, they may confuse the physical store with the business entity, which leads to misleading situations, and then the continuous processing of these two tasks will increase the processing time, or even exceed the processing time of processing the tasks separately.
[0153] It can be seen that when the calculated difference is a negative number, it may be an error in the data analysis process, or it may be an actual situation, that is, continuous processing will delay time and reduce efficiency.
[0154] Therefore, when the difference is negative, when determining the saved time corresponding to the association relationship, it can be considered as the real situation and the difference can be directly determined as the saved time corresponding to the association relationship; it can also be considered as an error, and when the difference is negative, the saved time is determined to be 0.
[0155] Of course, optionally, comprehensive consideration can be made to distinguish between the error and the real situation, and the saved time can be determined respectively. Specifically, it can be based on the difference threshold, if the calculated difference is a negative number, and the calculated difference is greater than the preset difference threshold, it can be considered as an error, and the saved time can be directly determined to be 0.
[0156] If the calculated difference is a negative number and is less than or equal to a preset difference threshold, it can be considered to be a real situation, and the calculated difference is determined as the saved time.
[0157] This embodiment does not specifically limit the method for determining the saved time when the calculated difference is a negative number.
[0158] Therefore, optionally, for the difference between the duration of the individual processing and the duration of the continuous processing, the difference may be directly determined as the saved duration, or the saved duration may be determined to be 0 based on the difference being less than 0.
[0159] In other words, optionally, the calculation method of the saved time corresponding to the first task and the second task can also include: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for processing the two tasks continuously in one processing.
[0160] When the calculated result is greater than or equal to 0, the calculated result can be directly determined as the saved time corresponding to the two tasks.
[0161] When the calculated result is less than 0, it can be determined that the saved time corresponding to the two tasks is 0.
[0162] Obviously, through the above embodiments, the value of the saved time can be determined based on the historical processing data.
[0163] 2) The order in which the two tasks are processed to save time.
[0164] In an optional embodiment, the association relationship may correspond to the processing order of the two tasks. There may be two corresponding association relationships with different processing orders between the two tasks.
[0165] In other words, for two tasks that are processed continuously, the order of the continuous processing may be different.
[0166] Accordingly, if two tasks are processed consecutively but in different orders, the time saved may be different. For example, the processing of the first task may have implications for the processing of the second task, while the processing of the second task may not have implications for the processing of the first task. Therefore, processing the first task and the second task consecutively can save a certain amount of time, while processing the second task and the first task consecutively may not save time.
[0167] Therefore, in an optional embodiment, the saved time may also correspond to the order in which the two tasks are processed. For example, the continuous processing time saved by processing the first task after the second task may be different from the continuous processing time saved by processing the second task after the first task.
[0168] For two tasks, when only one saved time is determined, the saved time can be directly used to perform subsequent steps.
[0169] When two corresponding time savings with different processing orders are determined, both can be used for subsequent construction of a task relationship graph, specifically a directed graph, or the two time savings can be combined to determine one time savings for subsequent construction of an undirected graph.
[0170] This embodiment does not limit the specific comprehensive method, and optionally, the average value may be calculated.
[0171] Therefore, optionally, when the task relationship graph is a directed graph, the weight of each edge in the task relationship graph is negatively correlated with the saved time corresponding to the two tasks connected by the edge.
[0172] When the directed edge points from the first task to the second task, the corresponding method for calculating the saved time may include: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for processing the first task and the second task successively in one processing.
[0173] When the directed edge points from the second task to the first task, the corresponding method for calculating the saved time may include: the time required to process only the first task in one processing, plus the time required to process only the second task in another processing, and minus the time required to process the second task and the first task successively in one processing.
[0174] Optionally, when the task relationship graph is an undirected graph, the weight of each edge in the task relationship graph is negatively correlated with the saved time corresponding to two tasks connected by the edge.
[0175] For the first task and the second task connected by the edge, the corresponding method for calculating the saved time may include: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for continuously processing the first task and the second task in one processing.
[0176] In the case that only the duration of continuously processing the second task and the first task in one process can be obtained, the specific duration of continuously processing the first task and the second task may be the obtained duration.
[0177] In the case where only the duration of continuously processing the first task and the second task in one process can be obtained, the specific duration of continuously processing the first task and the second task may be the obtained duration.
[0178] When the duration for successively processing the second task and the first task in one process and the duration for successively processing the first task and the second task in one process can be obtained, the specific duration for successively processing the first task and the second task can be the average of the two obtained durations.
[0179] Of course, other calculation methods may also be used to calculate the two acquired durations, which is not limited in this embodiment.
[0180] In an optional embodiment, the time can be saved by constructing a matrix to assist the calculation.
[0181] The acquired tasks may include N tasks, namely q1-qN.
[0182] Then, an N*N time saving matrix A can be constructed. In the time saving matrix A, Aij can represent the time saved by processing task qi next to qj. Wherein, i=1, 2, 3, ..., N; j=1, 2, 3, ..., N.
[0183] Of course, Aii can be set to 0 and will not be considered afterwards, because there is no situation where qi is processed next to qi.
[0184] The time saving matrix A can be calculated through historical processing data, some elements of which cannot be calculated due to the absence of records or data and can be temporarily omitted.
[0185] Afterwards, in order to calculate the average value and obtain the saved time corresponding to the association relationship, the saved time matrix A can be symmetric, specifically, Aji=Aij can be obtained by averaging.
[0186] In addition, if Aij is defaulted and Aji has saved time, it means that in the historical processing data there is only the case where qj is processed after qi. Therefore, the value of Aji can be directly assigned to the default Aij, so that Aji=Aij.
[0187] In this embodiment, a matrix tool can be used to assist in the calculation. In the subsequent step of determining the weight of the edge according to the saved time, the matrix tool can also be used for calculation.
[0188] In the above method embodiment, the association relationship and the time saving are determined for the acquired tasks, which is convenient for the subsequent construction of a task relationship diagram for analysis, so as to determine a better task processing sequence and improve the overall task processing efficiency.
[0189] The time saved for continuous processing tasks can be determined by analyzing historical processing data, and then a task relationship diagram can be constructed based on the time saved for analysis.
[0190] It should be noted that since the tasks themselves can change continuously, historical processing data can also be accumulated and updated continuously. The associations and time savings may also change.
[0191] For example, as the proficiency of business personnel increases, the individual processing time of certain types of tasks may be reduced, and correspondingly, the time saved may be reduced; it is also possible that as the scenario changes, the task content will be updated, and the acquired tasks will also be updated.
[0192] Therefore, the above method embodiment can be executed periodically or irregularly, using the latest several tasks and historical processing data to determine the association relationship and time saving, thereby facilitating the update of the task relationship diagram and further determining a better task processing sequence.
[0193] Optionally, the latest tasks that need to determine the processing order or update the processing order, as well as the latest historical processing data, can be obtained in real time, and the above method embodiment can be executed to determine the association between tasks and the time saved, so as to facilitate the subsequent construction of a task relationship diagram.
[0194] 5. Based on several tasks and the determined relationships, construct a task relationship diagram.
[0195] In an optional embodiment, constructing a task relationship graph based on the acquired tasks and the determined association relationships may include: constructing a corresponding node for each of the acquired tasks; for each determined association relationship, determining the nodes corresponding to the two tasks contained therein, and generating an edge corresponding to the targeted association relationship between the two determined nodes.
[0196] Among them, since the processing order of the acquired tasks needs to be determined according to the task relationship graph, and the processing order needs to include each acquired task, the task relationship graph needs to include a node corresponding to each acquired task.
[0197] In an optional embodiment, the association relationship may correspond to the sequential processing order of the tasks. Therefore, when the corresponding edge is generated according to the association relationship, a directed edge or an undirected edge may be generated.
[0198] Specifically, the directed edge may be generated by determining the direction of the edge according to the sequential processing order of the tasks corresponding to the association relationship.
[0199] For example, for an association relationship corresponding to the sequential processing of a first task and a second task, a directed edge pointing from the first task to the second task may be generated.
[0200] In addition, it should be noted that for the constructed task relationship graph, since a better task processing order needs to be calculated and determined later, the task relationship graph needs to include at least two paths that do not repeat through each node in the task relationship graph, so that a better path can be selected and determined, and a better task processing order can be determined. Otherwise, there is no room for choice.
[0201] Optionally, in the historical processing data, for several tasks that need to determine the processing order, at least two different orders for continuously processing all tasks can be included, so that according to the determined association relationship, a task relationship graph constructed can include at least two non-repetitive paths passing through each node in the task relationship graph.
[0202] For example, for the 10 tasks from the first task to the tenth task, the historical processing data may include the processing order from the first task to the tenth task, and the processing order from the tenth task to the first task, so that the constructed directed graph, that is, the task relationship graph, can at least include a path from the first task to the tenth task without repetition, and a path from the tenth task to the first task without repetition.
[0203] Optionally, for the constructed task relationship graph, further edges may be added without corresponding association relationships, so that the task relationship graph includes at least two paths that do not repeatedly pass through each node in the task relationship graph. Specifically, a fully connected graph may be constructed.
[0204] Of course, optionally, since there is no corresponding association relationship for the newly added edge and no corresponding saved time, the corresponding saved time can be directly set to 0.
[0205] In order to facilitate understanding of the above-mentioned method embodiment for constructing a task relationship diagram, a specific application embodiment is provided below. Figure 2 The figure is a schematic diagram of the principle of a method for constructing a task relationship diagram provided in an embodiment of this specification.
[0206] Among them, the time saving matrix B is included.
[0207] B is a 3*3 matrix, which includes 3 tasks, q1-q3.
[0208] Bij can represent the time saved when qi is processed next to qj.
[0209] Among them, B11, B22, and B33 can be directly set to zero. B12 is 3, B21 is 4, B13 is 2, B31 is 2, B23 is 3, and B32 is 4.
[0210] Afterwards, a task relationship diagram can be constructed based on matrix B.
[0211] Among them, three nodes are constructed for q1-q3 respectively, namely nodes 1-3.
[0212] Afterwards, edges can be constructed based on the association relationships in matrix B.
[0213] According to B12, we can construct an edge from node 2 corresponding to q2 to node 1 corresponding to q1.
[0214] According to B21, we can construct an edge from node 1 corresponding to q1 to node 2 corresponding to q2.
[0215] According to B13, we can construct an edge from node 3 corresponding to q3 to node 1 corresponding to q1.
[0216] According to B31, we can construct an edge from node 1 corresponding to q1 to node 3 corresponding to q3.
[0217] According to B23, we can construct an edge from node 3 corresponding to q3 to node 2 corresponding to q2.
[0218] According to B32, we can construct an edge from node 2 corresponding to q2 to node 3 corresponding to q3.
[0219] In the subsequent steps, the weight can be determined based on the saved time corresponding to the association relationship.
[0220] 6. Based on the saved time corresponding to the association relationship, determine the weight of the corresponding edge, and the determined weight is negatively correlated with the saved time.
[0221] In other words, for each edge in the task relationship graph, the weight of the edge can be determined according to the saved durations of the two tasks connected by the edge. The determined weight is negatively correlated with the saved duration.
[0222] This embodiment does not limit the specific method for determining the weight, as long as the weight of the edge is negatively correlated with the saved time corresponding to the two tasks connected by the edge. The longer the saved time, the smaller the weight.
[0223] In an optional embodiment, the weight of the edge in the task relationship graph can be regarded as the distance between nodes. The smaller the distance, the longer the time saved. For a path that does not repeatedly pass through all nodes, the smaller the sum of the weights of the included edges, the longer the total time saved for the task processing sequence corresponding to the path.
[0224] Several optional embodiments are provided below for the method of determining edge weights for illustrative purposes.
[0225] In embodiment 1, the maximum saved time can be determined for the saved time corresponding to the two tasks connected by each edge in the task relationship graph, and then a standard saved time that is greater than or equal to the maximum saved time can be determined. The difference between the standard saved time and the saved time corresponding to each association relationship is determined as the weight of the edge corresponding to the association relationship.
[0226] Specifically, the saved time corresponding to each association relationship may be subtracted from the standard saved time, and the obtained difference may be determined as the weight of the edge corresponding to the association relationship.
[0227] By determining the standard saved time, this embodiment can accurately and intuitively determine the distance between the saved time corresponding to each association relationship and the standard saved time, which is convenient for determining as the distance between nodes, that is, the weight of the edge.
[0228] In the second embodiment, the time saved corresponding to the association relationships of all edges in the task relationship graph can be normalized and all mapped to the range of 0-1. Then, the difference between 1 and the normalized result of the time saved corresponding to each association relationship can be determined as the weight of the edge corresponding to the association relationship.
[0229] This embodiment can convert the saved time into a value within the range of 0-1 through normalization, which is convenient for subsequent model processing.
[0230] 2. The following is an explanation of S102.
[0231] S102: Based on the artificial intelligence model, determine the weight of each edge in the task relationship graph and the probability of the minimum path belonging to the task relationship graph.
[0232] Among them, the artificial intelligence model is trained in advance according to the graph samples and the labels corresponding to each edge in the graph samples. The label corresponding to each edge is used to characterize the weight and minimum path of whether the edge belongs to the graph sample or not; the weight and minimum path of the graph are the paths with the smallest weight among all possible paths that pass through each node of the graph without repetition.
[0233] This method is designed to determine a better processing order for a number of tasks that require a certain processing order, thereby improving overall processing efficiency.
[0234] One way to improve processing efficiency is to reduce the time required to process all tasks. In other words, to maximize the total time saved.
[0235] Based on the task relationship graph, a path that passes through all nodes without duplication can be determined. Since all tasks have corresponding nodes in the task relationship graph, this path can also correspond to the processing order between all tasks. Specifically, the order in which the path passes through the nodes can be determined as the processing order of the tasks corresponding to the nodes.
[0236] For example, for a task relationship graph containing nodes 1-3, nodes 1-3 correspond to the first task to the third task respectively. For a path "node 1-node 3-node 2", the processing order of the first task to the third task can be determined as "first task-third task-second task" based on the correspondence between the nodes and the tasks.
[0237] Therefore, based on the task relationship graph, the path in the task relationship graph that does not repeatedly pass through all nodes can represent the processing order of all tasks, that is, the processing order of several tasks that need to determine the processing order.
[0238] Furthermore, since the weight of the edge in the task relationship graph is negatively correlated with the saved time, the smaller the weight, the longer the saved time.
[0239] Alternatively, since a path that does not repeatedly pass through all nodes in the task relationship graph can represent the processing order of all tasks, and the path contains edges between nodes, the sum of the weights of the edges contained in the path can represent the sum of the time saved in the processing order of the tasks represented by the path. The sum of the weights is negatively correlated with the sum of the time saved, that is, the smaller the sum of the weights, the longer the total time saved.
[0240] Therefore, optionally, a path in the task relationship graph that passes through all nodes without repetition can represent the processing order of all tasks; the sum of the weights of the edges included in the path can represent the total time saved when all tasks are processed in the processing order represented by the path.
[0241] Therefore, the problem of determining the optimal processing order between several tasks can be transformed into the problem of determining the path with the smallest weight and the path that passes through all nodes without repetition in the task relationship graph.
[0242] Of course, optionally, in order to determine the optimal processing order of several tasks so that the total time saved by the optimal processing order is the longest, an optimal path can be determined based on the task relationship graph. The optimal path can pass through each node in the task relationship graph without repetition, so that the processing order of all tasks can be represented and the total time saved represented can be the longest.
[0243] The sum of the weights of the edges included in the path in the task relationship graph can represent the total time saved. Therefore, optionally, when determining the optimal path, a path with the longest total time saved in the task relationship graph can be determined, that is, a path with the smallest sum of the weights of the edges included in the task relationship graph.
[0244] In an optional embodiment, in the task relationship graph, the weight of the edge can be regarded as the distance between the two connected nodes, so that the task relationship graph can be regarded as a node distance graph. The smaller the distance between the nodes (the smaller the weight of the edge between the nodes), the longer the time saved.
[0245] In other words, since it is necessary to determine the path with the smaller sum of weights from the task relationship graph by passing through all the nodes without repetition, and the weight of an edge can be regarded as the distance between the two nodes connected by the edge, the problem of determining the optimal processing order between several tasks can be transformed into the problem of determining the path with the shorter sum of distances by passing through all the nodes without repetition from the task relationship graph.
[0246] For the convenience of description, the path that needs to be determined in the process of this method is called a target-reaching path.
[0247] Optionally, among all possible paths that pass through each node of the task relationship graph without repetition, the target-reaching path may be a path with a relatively small weight sum (sum of node distances).
[0248] Of course, optionally, among all possible paths that pass through the nodes of the task relationship graph without repetition, the target-reaching path may be a path with the smallest weight sum (sum of node distances).
[0249] This embodiment does not limit the specific method for determining the target-reaching path.
[0250] Optionally, all possible paths that pass through each node of the task relationship graph without repetition can be traversed to determine the corresponding weight sum, thereby determining a path with the smallest weight sum as the target-reaching path. The target-reaching path determined in this embodiment has the smallest weight sum and the longest corresponding total time saved, which can characterize the task processing order with the longest total time saved, thereby improving the overall processing efficiency of the task.
[0251] In other embodiments, for a complex task relationship graph, it is often difficult to traverse all possible paths that do not repeat passing through each node of the task relationship graph.
[0252] For example, it is necessary to first traverse each node in the task relationship graph as the starting node to determine whether there are all possible paths starting from the starting node and passing through each node of the task relationship graph without repetition. When there are many nodes in the task relationship graph, it is often difficult to traverse.
[0253] Therefore, the specific path to reach the target may be the local optimal solution determined when solving the weights and the minimum path in the task relationship graph.
[0254] Therefore, optionally, among all possible paths that pass through each node of the task relationship graph without repetition, the sum of the weights of the target-reaching path is greater than that of at least one other path.
[0255] As for solving the weight and minimum path in the task relationship graph, since the weight in the task relationship graph can be regarded as the distance between nodes, it can be solved by solving the path with the minimum distance between nodes in the graph structure.
[0256] The specific method can be determined by solving the traveling salesman problem.
[0257] In an optional embodiment, there are currently a variety of methods for solving the traveling salesman problem, and methods for solving the traveling salesman problem with an exact solution include, for example, a graph neural network model, a graph convolutional neural network model, a graph attention network model, Concorde, and the like.
[0258] In an optional embodiment, a pre-trained artificial intelligence model can be used to solve the weights and minimum paths in the task relationship graph.
[0259] Optionally, for the artificial intelligence model, the artificial intelligence model can be pre-trained based on the graph sample and the label corresponding to each edge in the graph sample, and the label corresponding to each edge is used to characterize the weight and minimum path of whether the edge belongs to or does not belong to the graph sample.
[0260] The weight and minimum path of a graph can be the path with the minimum weight among all possible paths that pass through each node of the graph without repetition. The weight can be the weight of the edge, which can specifically represent the distance between nodes.
[0261] In this embodiment, through pre-training, the artificial intelligence model can output the probability of each edge belonging to the weight and minimum path in the input graph structure.
[0262] This embodiment does not limit the specific form of the artificial intelligence model, as long as it can output the probability of each edge belonging to the weight and the minimum path in the graph structure for the input graph structure. Optionally, the artificial intelligence model can be a graph convolutional neural network model.
[0263] A graph convolutional neural network model can include an input layer, a graph convolution layer, a fully connected layer, and a softmax layer.
[0264] Specifically, the graph structure can be input into the graph convolutional neural network model, and the representation vector (embedding) of each edge in the graph structure can be obtained through the graph convolution layer. Then, the probability of each edge belonging to the weight and minimum path in the graph structure can be predicted through the fully connected layer. The difference between the probability of each edge output by the softmax layer belonging to the weight and minimum path in the graph structure (that is, the optimal solution to the traveling salesman problem) and the actual weight and minimum path in the graph structure is used as the loss for model training.
[0265] In this embodiment, the weight of each edge in the task relationship graph and the probability of the minimum path belonging to the task relationship graph can be determined through a pre-trained artificial intelligence model, which facilitates the subsequent determination of the target path, specifically, the determination of the local optimal solution.
[0266] Optionally, the task relationship graph can be input into the artificial intelligence model, and the weight of each edge in the task relationship graph and the probability of the minimum path belonging to the task relationship graph can be output.
[0267] Correspondingly, the target path can be determined based on the probability of each edge output.
[0268] In this embodiment, the artificial intelligence model can be directly used to perform probability prediction on the task relationship graph to improve computing efficiency.
[0269] It should be noted that since the total number of tasks that need to determine the processing order is not fixed, the tasks and the corresponding task relationship diagrams can also be updated based on different situations. Therefore, the artificial intelligence model often needs to predict the probability of task relationship diagrams with different numbers of nodes.
[0270] In an optional embodiment, in order to reduce the amount of calculation and adapt to the scale of various tasks, a method of splitting the task relationship graph to obtain subgraphs can be used to split the task relationship graph into multiple subgraphs. Then, a pre-trained artificial intelligence model can be used for each subgraph to output the weight of each edge in the subgraph and the probability of the minimum path belonging to the subgraph.
[0271] Afterwards, the probabilities corresponding to any edge in each subgraph can be combined to determine the weight of the edge belonging to the task relationship graph and the probability of the minimum path.
[0272] Since the task relationship graph is split into multiple sub-graphs, the complexity of the sub-graphs is usually smaller than that of the task relationship graph. Specifically, the number of nodes or edges contained in the sub-graph may be less than that of the task relationship graph. Therefore, using a pre-trained artificial intelligence model to perform probability prediction on each sub-graph can facilitate fast calculations and improve computing efficiency.
[0273] Optionally, a pre-trained artificial intelligence model can be used to perform probability predictions on each subgraph in parallel to facilitate fast calculations and improve computing efficiency.
[0274] For task relationship graphs with different numbers of nodes, the computational efficiency can be improved by splitting them into subgraphs to adapt to different numbers of tasks. There is no need to change or update the method for solving the optimal path probability set according to the number of tasks.
[0275] Even if the number of tasks that need to be processed in a certain order changes, the changed number of tasks can be accommodated by splitting them into subgraphs.
[0276] For example, tasks for merchant access review may be updated as expert experience and actual conditions change. Specifically, the number of tasks may change. By splitting the subgraphs, we can adapt to the changing number of tasks.
[0277] Therefore, optionally, based on the artificial intelligence model, determining the weight and probability of the minimum path of each edge in the task relationship graph belonging to the task relationship graph can include: splitting the task relationship graph into multiple subgraphs; each node in the task relationship graph belongs to at least one subgraph; inputting each subgraph into the artificial intelligence model, and outputting the weight and probability of the minimum path of each edge in the subgraph belonging to the subgraph; for each edge in the task relationship graph, obtaining the weight and probability of the minimum path of the edge belonging to the subgraph in each subgraph to which it belongs, and combining all the obtained probabilities to determine the weight and probability of the minimum path of the edge belonging to the task relationship graph.
[0278] The above steps are explained in detail below.
[0279] 1. Split the task relationship graph to obtain sub-graphs.
[0280] This embodiment does not limit the specific method of splitting to obtain subgraphs. Since it is necessary to subsequently integrate the probabilities predicted by the artificial intelligence model for each subgraph, it is optionally possible to limit each node in the task relationship graph to be divided into at least one subgraph, or each edge in the task relationship graph to be divided into at least one subgraph.
[0281] Optionally, different subgraphs obtained by splitting may contain the same nodes or may not contain the same nodes. Different subgraphs may contain the same edges or may not contain the same edges. This embodiment is not specifically limited.
[0282] For ease of understanding, several optional embodiments are given below to explain the method of splitting subgraphs. These embodiments are only used for exemplary description.
[0283] In embodiment 1, the following steps can be executed in a loop until each node in the task relationship graph is divided into at least one subgraph: a node in the task relationship graph that has not yet been divided into any subgraph is selected as a starting node, and the starting node can be used to construct a subgraph; then, based on the starting node, several other nodes in the task relationship graph that are directly or indirectly connected to the starting node can be divided into a new subgraph, and the edges connecting the starting node and these other nodes are divided into the new subgraph, so that a new subgraph can be obtained.
[0284] In the second embodiment, the following steps can be executed in a loop until each edge in the task relationship graph is divided into at least one subgraph: an edge in the task relationship graph that has not yet been divided into any subgraph is selected, and the two nodes connected by the edge are used as the starting nodes, and the starting node can be used to construct the subgraph; then, based on the starting node, several other nodes in the task relationship graph that are directly or indirectly connected to the starting node can be divided into a new subgraph, and the edges connecting the two starting nodes and the edges connecting the starting node and these other nodes are all divided into the new subgraph, so that a new subgraph can be obtained.
[0285] Among them, for the above two embodiments, optionally, when selecting other nodes to be divided into new subgraphs, the sum of the weights of the paths connecting other nodes and the starting node can be determined, and other nodes whose corresponding weight sum is less than the preset weight value can be selected, or other nodes can be sorted in ascending order according to the corresponding weight sum, and other nodes whose sequence numbers are in the first few places in the sorting result can be selected. Specifically, other nodes whose sequence numbers are less than the preset sequence numbers in the sorting result can be selected.
[0286] In this embodiment, since it is necessary to solve the path with the smallest weight in the task relationship graph, a path with a relatively small weight can be selected to construct a subgraph so as to add the edges contained in the optimal path in the task relationship graph to the subgraph as much as possible.
[0287] Furthermore, in an optional embodiment, in order to further improve the computational efficiency, it may be limited that different subgraphs obtained by splitting contain the same number of nodes.
[0288] Optionally, when using a pre-trained artificial intelligence model to predict probabilities for subgraphs, since different subgraphs contain the same number of nodes, the input form of the artificial intelligence model can be fixed, thereby facilitating the deployment and training of the model.
[0289] Therefore, optionally, when pre-training the artificial intelligence model, the number of nodes in the graph sample used for training can be limited so that the number of nodes in all graph samples used to train the artificial intelligence model is the same. The input of the trained artificial intelligence model can also include a graph structure with a fixed number of nodes, which can be the same as the number of nodes in the graph sample.
[0290] Correspondingly, splitting the task relationship graph into multiple subgraphs may include: splitting the task relationship graph into multiple subgraphs including a preset number of nodes; the preset number of nodes is the number of nodes of the above graph sample.
[0291] Therefore, in order to facilitate limiting the number of sub-graph nodes that are split out, optionally, splitting out multiple sub-graphs specifically for the task relationship graph can include: for the task relationship graph, looping through the following steps until each node in the task relationship graph belongs to at least one sub-graph: selecting a node that does not belong to any sub-graph in the task relationship graph, and determining it as the central node; among other nodes other than the central node, determining other nodes that meet the preset screening conditions as candidate nodes; for each candidate node, determining the sum of the path weights from the central node to the candidate node; sorting the candidate nodes in ascending order based on the determined sum of weights; determining the candidate nodes whose sequence numbers in the sorting results are less than the preset sorting sequence numbers as sub-graph nodes; and forming a sub-graph by the central node, the determined sub-graph nodes, and the paths from the central node to each sub-graph node.
[0292] The other nodes may be any node other than the central node among all the nodes included in the task relationship graph. In order to improve the computing efficiency and save computing resources, some other nodes may be selected as candidate nodes in the task relationship graph according to the preset screening conditions, and then the weight sum may be calculated.
[0293] Of course, it is also possible to directly determine the path from the central node to each other node without screening, and calculate the weight sum of all edges included in the determined path.
[0294] This embodiment does not specifically limit the preset filtering condition, and optionally, the preset filtering condition can be used to filter out other nodes in the task relationship graph that are closer to the central node. Specifically, it may include: the number of edges included in the path from the central node to other nodes is less than the preset number of edges.
[0295] It should be noted that, when a subgraph needs to contain a fixed number of nodes, the number of other nodes screened out by the preset screening condition must be at least greater than or equal to the fixed number - 1. Specifically, the number of other nodes screened out by the preset screening condition can be limited to be greater than or equal to a preset sorting number. The preset sorting number can be used to limit the number of nodes in the subgraph.
[0296] Optionally, the determined path from the central node to each candidate node may be an acyclic path, thereby limiting that the determined path does not repeatedly pass through the same node.
[0297] Optionally, the preset sorting sequence number may be the same for each subgraph, so that multiple subgraphs with the same number of nodes can be split out. Of course, the preset sorting sequence number may also be different for each subgraph.
[0298] Optionally, the preset sorting sequence number may be preset, and specifically may be determined according to a preset fixed number of subgraph nodes. In this embodiment, the number of nodes constituting the subgraph may be limited by the preset sorting sequence number, so that the number of nodes in the subgraph may be controlled to be a fixed value.
[0299] Optionally, the loop stopping condition in this embodiment may also be until each edge in the task relationship graph belongs to at least one subgraph.
[0300] For ease of understanding, a specific application example is provided below.
[0301] like Figure 3 The figure is a schematic diagram of a sub-image sampling process provided in an embodiment of this specification.
[0302] The task relationship graph may include n nodes, and subgraph sampling is required for the task relationship graph to obtain a subgraph set, each subgraph in the subgraph set includes m nodes. n may be 100, and m may be 16.
[0303] S301: Initialize the sampling times of all nodes in the task relationship graph to 0.
[0304] S302: Randomly select a node with the smallest number of sampling times from the task relationship graph as the initial node.
[0305] S303: Taking the initial node as the cluster center, select 15 other nodes with the shortest association distance with the initial node in the task relationship graph, and the edges connecting the initial node and the selected other nodes to form a subgraph, add the subgraph to the subgraph set, and increase the sampling times of all nodes in the subgraph by 1.
[0306] The associated distance may specifically be the sum of the weights of the edges included in the path from the initial node to other nodes.
[0307] S304: Determine whether all nodes in the task relationship graph have been sampled, that is, determine whether the sampling times of all nodes in the task relationship graph are greater than 0. If yes, end this process, if not, execute S302.
[0308] Through the above application embodiments, multiple subgraphs with the same number of nodes can be obtained based on the task relationship graph.
[0309] In the above embodiment of splitting the task relationship graph to obtain subgraphs, different task scales can be accommodated by obtaining subgraphs with the same number of nodes.
[0310] For example, for the 100 tasks obtained, a task relationship graph containing 100 nodes can be constructed, which can then be split into multiple sub-graphs containing 16 nodes. After that, the pre-trained artificial intelligence model can be used to perform probability prediction for each sub-graph containing 16 nodes.
[0311] Even for the 1,000 tasks obtained, a task relationship graph containing 1,000 nodes can be constructed, which can then be split into multiple subgraphs containing 16 nodes. The same artificial intelligence model can then be used to perform probability prediction for each subgraph containing 16 nodes. The number of subgraphs split out may be different.
[0312] It can be seen that for different task scales, the task relationship graph can be split to obtain subgraphs with the same number of nodes. The same solution method is used to predict the probability for each subgraph without adjusting the solution method. Specifically, the same model can be reused without being affected by the number of tasks, thereby adapting to different task scales.
[0313] 2. Input each subgraph into the artificial intelligence model and output the weight of each edge in the subgraph and the probability of the minimum path belonging to the subgraph.
[0314] In an optional embodiment, since the complexity of the subgraph is less than that of the task relationship graph, the computational efficiency can be improved by using a pre-trained artificial intelligence model to perform probability prediction for each subgraph. Furthermore, probability prediction can be performed for different subgraphs in parallel to further improve the computational efficiency.
[0315] In an optional embodiment, the number of nodes of the obtained subgraph can be a fixed value, thereby facilitating the training of the artificial intelligence model.
[0316] Optionally, since the number of nodes of the graph structure (subgraph) that needs to be input into the artificial intelligence model is a fixed value, when building the artificial intelligence model, the input of the model can be a graph structure with a fixed number of nodes. For example, the graph structure (subgraph) that needs to be input into the model can be a graph structure containing 16 nodes, so when building the artificial intelligence model, the model input can be set to a graph structure containing 16 nodes.
[0317] Specifically, the graph structure used as the model input can be represented by a matrix, specifically a 16*16 matrix C, and any element in the matrix can represent the edge between nodes and / or the weight of the edge. For example, Cij can represent the weight of the edge between node i and node j.
[0318] Of course, since there is usually no edge connecting a node to itself in the graph structure, Cii can usually be 0 or null, indicating a non-existent edge.
[0319] Similarly, if there is no edge between node i and node j in the graph structure, Cij can also be set to 0 or null to indicate the non-existent edge.
[0320] Therefore, optionally, the input of the artificial intelligence model can be set to a 16*16 matrix.
[0321] Specifically, when using graph samples to train artificial intelligence models, since the number of graph structure nodes of the input model is a fixed value, it is convenient to construct graph samples and construct multiple graph structures with a fixed number of nodes for training.
[0322] Moreover, since the number of nodes is usually small, it is also convenient to annotate the constructed graph samples. Specifically, the weight and the minimum path of the graph samples can be quickly and conveniently determined as the labels of the graph samples.
[0323] Therefore, in embodiments where the number of nodes in different subgraphs is the same, the training of artificial intelligence models can be facilitated. On the one hand, a large number of labeled training samples can be quickly constructed, and on the other hand, the model can be easily constructed to improve the efficiency of model training.
[0324] The output of the artificial intelligence model can usually include the probability that each edge in the subgraph belongs to the weight and the minimum path in the subgraph.
[0325] Optionally, the model output may be in the form of a matrix, and specifically for a graph structure containing m nodes, the model outputs an m*m matrix D. Dij may represent the probability that the edge between node i and node j belongs to the weighted and minimum path in the graph structure.
[0326] The process of this method does not specifically limit the architecture of the pre-trained artificial intelligence model, as long as the model can output the weight and minimum path probability of each edge belonging to the input graph structure.
[0327] In an optional embodiment, the pre-trained artificial intelligence model can be a graph convolutional neural network model.
[0328] A graph convolutional neural network model can include an input layer, a graph convolution layer, a fully connected layer, and a softmax layer.
[0329] Specifically, the graph structure can be input into the graph convolutional neural network model, and the representation vector (embedding) of each edge in the graph structure can be obtained through the graph convolution layer. Then, the probability of each edge belonging to the weight and minimum path in the graph structure can be predicted through the fully connected layer. The difference between the probability of each edge output by the softmax layer belonging to the weight and minimum path in the graph structure (that is, the optimal solution to the traveling salesman problem) and the actual weight and minimum path in the graph structure is used as the loss for model training.
[0330] Among them, since m is usually small (the number of nodes in the subgraph is usually small), the hyperparameters of the graph convolutional neural network model, such as the number of graph convolutional layers, the number of fully connected layers, the number of neurons in the hidden layer, etc., can be set relatively small, thereby saving computing resources and improving computing efficiency.
[0331] 3. For each edge in the task relationship graph, obtain the weight of the edge in each subgraph to which it belongs and the probability of the minimum path of the subgraph, and combine all the obtained probabilities to determine the weight of the edge belonging to the task relationship graph and the probability of the minimum path.
[0332] This embodiment does not limit the method for determining the probability of an edge in the task relationship graph based on the prediction result of the subgraph.
[0333] In an optional embodiment, the weight and minimum path in the subgraph of the task relationship graph may be part of the weight and minimum path in the task relationship graph. Therefore, the probability that each edge in the task relationship graph belongs to the weight and minimum path of the subgraph in each subgraph to which it belongs can be referred to to determine the probability that the edge belongs to the weight and minimum path in the task relationship graph.
[0334] Therefore, optionally, for each edge in the task relationship graph, the sum of the weight and the probability of the minimum path of the edge belonging to the subgraph in each subgraph to which the edge belongs can be calculated by an average method, and then the average of the probabilities can be calculated, specifically, the calculated sum of probabilities can be divided by the number of subgraphs to which the edge belongs. The calculated average value can then be determined as the probability of the weight and the minimum path of the edge belonging to the task relationship graph.
[0335] Optionally, the calculation may be performed by other methods, for example, removing the maximum and minimum probability values and then calculating the average value, or determining the weight according to the importance of the subgraph, calculating the weighted sum, or calculating the median, etc.
[0336] Optionally, the determination can be made by calculating a weighted sum. Combining all the probabilities obtained to determine the weight of the edge belonging to the task relationship graph and the probability of the minimum path can include: calculating the weighted sum of all the probabilities obtained based on the probability weights corresponding to all the probabilities obtained; and determining the calculated weighted sum as the weight of the edge belonging to the task relationship graph and the probability of the minimum path.
[0337] This embodiment does not limit the probability weights, and optionally, if the number of edges in a subgraph is greater, the weights and minimum paths in the subgraph are more likely to belong to the weights and minimum paths in the task relationship graph, especially for subgraphs with the same number of nodes.
[0338] Therefore, optionally, for the weight of the edge belonging to the subgraph in any subgraph to which it belongs and the probability of the minimum path, the corresponding probability weight may be positively correlated with the number of edges in the subgraph.
[0339] In an optional embodiment, the output of the artificial intelligence model may be in the form of a matrix.
[0340] For example, the task relationship graph contains n nodes, and the subgraph obtained by dividing the task relationship graph contains m nodes. The probability set output by the artificial intelligence model for each subgraph can be an m*m matrix X. Xij can represent the probability that the edge between node i and node j belongs to the weight and minimum path in the corresponding subgraph.
[0341] The probability set corresponding to the task relationship graph obtained by integrating the probability sets of all subgraphs can be an n*n matrix Y. Yij can represent the probability that the edge between node i and node j belongs to the weight and minimum path in the task relationship graph.
[0342] S103: According to the determined probability of each edge, a path that reaches the target is determined from all possible paths that do not repeatedly pass through each node in the task relationship graph.
[0343] Among all possible paths that pass through each node of the task relationship graph without repetition, the sum of probabilities of the target-reaching path is greater than that of at least one other path.
[0344] In an optional embodiment, the artificial intelligence model in S102 can be used to determine the weight of each edge in the task relationship graph and the probability of the minimum path belonging to the task relationship graph. Based on the determined probability, a simple search strategy can be used to determine the path to meet the target.
[0345] Optionally, for the determined probability, a path with the highest probability sum among all possible paths that do not repeatedly pass through each node of the task relationship graph can be solved. Obviously, the higher the probability sum, the more likely it is the actual weight and minimum path in the task relationship graph.
[0346] Correspondingly, the target-reaching path may be a path with the highest probability sum among all possible paths that pass through each node of the task relationship graph without repetition. Therefore, optionally, among all possible paths that pass through each node of the task relationship graph without repetition, the probability sum of the target-reaching path is the largest.
[0347] Optionally, the solution can be performed by traversal.
[0348] However, when the task relationship graph is usually complex, it is often difficult to traverse all possible paths that pass through each node of the task relationship graph without duplication.
[0349] For example, it is necessary to first traverse each node in the task relationship graph as a starting node to determine whether there are all possible paths starting from the starting node and passing through each node of the task relationship graph without repetition.
[0350] Obviously, when there are a large number of nodes in the task relationship graph, it is often difficult to traverse.
[0351] Optionally, a path with a relatively large probability sum can be determined from all possible paths that do not repeatedly pass through each node of the task relationship graph as a target-reaching path, which can be a local optimal solution.
[0352] Therefore, among all possible paths that pass through the nodes of the task relationship graph without repetition, the sum of the probabilities of the target-reaching path is greater than that of at least one other path.
[0353] This embodiment does not limit the specific method of determining the target-reaching path. Optionally, any node in the task relationship graph can be used as the starting node, and a greedy search strategy or a beam search strategy can be used to determine a path with a relatively high probability and a relatively high probability as the target-reaching path.
[0354] In an optional embodiment, after determining the probability of each edge in the task relationship graph, it is necessary to further determine a target-reaching path using a node as a starting node.
[0355] This embodiment does not limit the specific method of selecting the starting node.
[0356] Optionally, a node may be randomly selected from the task relationship graph, or a node may be specified from the task relationship graph.
[0357] Optionally, the node may be selected from the nodes with fewer or the least number of connected edges in the task relationship graph. For example, a node with only one connected edge in the task relationship graph may be determined as the starting node.
[0358] It should be noted that, for the selected starting node, there are at least two paths that pass through all nodes without duplication in the task relationship graph, so that the selection is convenient.
[0359] This embodiment does not limit the specific method for determining the target-reaching path in the task relationship graph.
[0360] Optionally, starting from the starting node, an edge with the highest corresponding probability can be selected from all the edges connected to the starting node and determined as a part of the target-reaching path.
[0361] The corresponding probability is the weight of the edge belonging to the task relationship graph and the probability of the minimum path.
[0362] Afterwards, another node connected to the selected edge can be further determined. For the other node, all edges connected to the other node (except the selected edge) are continued to be selected, and the edge with the highest corresponding probability is selected to be determined as part of the target path.
[0363] The above process is repeated until each node in the task relationship graph is passed by the target path.
[0364] The processing order among the acquired tasks can be directly determined according to the target-reaching path.
[0365] Of course, in the process of determining the target-reaching path, since a part of the target-reaching path has been determined, the processing order between the corresponding tasks can be directly determined, thereby determining the processing order between the tasks in real time.
[0366] In the above method for determining the optimal path, a greedy search strategy is used to select an edge with the highest corresponding probability from all the edges connected to a node (except the selected edges).
[0367] Alternatively, other search strategies, such as beam search, etc., may also be used.
[0368] In an optional embodiment, according to the determined probability of each edge, determining the target-reaching path from all possible paths that do not repeatedly pass through each node in the task relationship graph may include the following steps.
[0369] Select any node from the task relationship graph to add to the target path, and determine the node as the current node.
[0370] Repeat the following steps until each node in the task relationship graph is added to the target path.
[0371] Among the neighbor nodes of the current node, determine the neighbor nodes that have not been added to the target path. This is to avoid duplicate nodes in the path.
[0372] In the case that the determined neighbor node includes one, the edge between the current node and the neighbor node, and the neighbor node are added to the target path.
[0373] When the determined neighbor nodes include at least two, the edge between the current node and the preset neighbor node, and the preset neighbor node are added to the target path; among the multiple determined neighbor nodes, the probability of the edge between the preset neighbor node and the current node is at least greater than the probability of the edge between another neighbor node and the current node.
[0374] In this embodiment, since the next node corresponding to the edge with a relatively large probability is usually selected each time when a subsequent node is selected, a path with a relatively large probability can be determined.
[0375] Optionally, among the determined multiple neighbor nodes, the probability of an edge between a preset neighbor node and the current node may be greater than the probability of an edge between each other neighbor node and the current node. This embodiment may specifically be a greedy search strategy.
[0376] Optionally, when the task relationship graph is a directed graph, the determined neighbor nodes may include neighbor nodes pointed to by directed edges starting from the current node.
[0377] Of course, optionally, different nodes in the task relationship graph may be used as starting points, and a number of pre-selected paths may be obtained through a search strategy, and then a path with the highest probability or the smallest weight may be selected.
[0378] Therefore, in an optional embodiment, according to the determined probability of each edge, determining the target-reaching path from all possible paths that do not repeatedly pass through each node in the task relationship graph may include the following steps.
[0379] Select multiple nodes from the task relationship diagram and determine alternative paths according to preset methods.
[0380] From the determined multiple candidate paths, the candidate path with the highest probability sum or the smallest weight sum is selected as the target-reaching path. The probability sum or weight sum of the target-reaching path in this embodiment may be greater than at least one other path.
[0381] At least two nodes may be selected from the task relationship graph.
[0382] Optionally, the preset method may specifically include: adding a currently selected node to the candidate path, and determining the node as the current node.
[0383] The following steps are repeated until each node in the task relationship graph is added to the alternative path.
[0384] Among neighbor nodes of the current node, neighbor nodes that are not added to the candidate path are determined.
[0385] In the case that the determined neighbor node includes one, the edge between the current node and the neighbor node, and the neighbor node are added to the candidate path.
[0386] When the determined neighbor nodes include at least two, the edge between the current node and the preset neighbor node, and the preset neighbor node are added to the alternative path; among the multiple determined neighbor nodes, the probability of the edge between the preset neighbor node and the current node is at least greater than the probability of the edge between another neighbor node and the current node.
[0387] In an optional embodiment, according to the determined probability of each edge, determining the target-reaching path from all possible paths that do not repeatedly pass through each node in the task relationship graph may include the following steps.
[0388] Select a node from the task relationship graph to determine it as the current node.
[0389] Repeat the following steps until each node in the task relationship graph is added to the target path.
[0390] In the task relationship graph, select nodes that have an edge with the current node and are not added to the target path. This can be all nodes.
[0391] Determine the edges connecting the current node to each selected node in the task relationship graph.
[0392] Among all the determined edges, select an edge that meets the preset probability requirements.
[0393] The other nodes connected by the selected edge and the selected edge are added to the target path, and the other nodes are determined as the current nodes.
[0394] Currently, when there is only one node selected, the edge between the current node and the node and the node can be directly added to the target path, and the node can be determined as the current node.
[0395] Among them, optionally, in the greedy search strategy method, the edge that meets the preset probability requirement can be the edge with the highest probability of belonging to the weight and the minimum path in the task relationship graph among all the determined edges.
[0396] Optionally, in the beam search strategy method, selecting an edge that meets a preset probability requirement from all determined edges may include the following steps.
[0397] In the task relationship graph, other nodes connected to the current node through any preset acyclic path are determined; the preset acyclic path may include a preset number of edges and any determined edge; and the preset acyclic path may be a path that does not contain a loop.
[0398] The probability sum of each preset acyclic path may be calculated; in the preset acyclic path with the largest calculated probability sum, the edge connecting the current node is determined as an edge that meets the preset probability requirement.
[0399] It can be seen that when the preset number is 2 or a larger number, the subsequent probability situation can be better viewed.
[0400] Optionally, since the weight and the minimum path do not repeatedly pass through the same node, there will be no loop, and therefore, a loop-free path can be used to help determine the weight and the minimum path.
[0401] Correspondingly, since the selection is made for all the determined edges, the preset acyclic path needs to include any one of the determined edges, so as to facilitate subsequent selection.
[0402] The preset acyclic path may include a preset number of edges, specifically one or more edges.
[0403] In the case where the preset acyclic path includes one edge, this embodiment can be regarded as a greedy search strategy.
[0404] In the case where the preset acyclic path includes multiple edges, calculating the sum of probabilities can help determine the preset acyclic path with the maximum sum of probabilities in the case of multiple consecutive edges, thereby increasing the possibility of determining the maximum probability and path.
[0405] This embodiment is based on the weight of each edge in the task relationship graph belonging to the task relationship graph and the probability of the minimum path. It can determine the target path in the task relationship graph through a simple search strategy, thereby improving the efficiency of determining the target path, and thus improving the efficiency of determining the task processing order.
[0406] To facilitate understanding, a specific embodiment is provided below.
[0407] Among them, the probability that each edge in the task relationship graph belongs to the weight and the minimum path of the task relationship graph can be in the form of a matrix. Specifically, for a task relationship graph containing n nodes, an n*n matrix Z is obtained, and Zij can represent the probability that the edge between node i and node j belongs to the weight and the minimum path in the task relationship graph.
[0408] After obtaining the matrix Z, we can use a simple search strategy to find the path to the target.
[0409] Specifically, a node i can be randomly selected as the starting point, and node i can be added to the target path. The edge with the highest corresponding probability can be "greedily" selected from the edges between node i and its neighboring nodes.
[0410] Specifically, all Zi1, Zi2, Zi3, ..., Zin can be determined from the matrix Z, and the one with the highest probability, such as Zix, can be selected. Then, the edge between node x and node i, and node x can be added to the target path.
[0411] Afterwards, for node x, we can continue to "greedily" select the edge with the highest corresponding probability from the edges between node x and its neighbor nodes.
[0412] This process can be repeated until all n nodes are on the target path.
[0413] S104: Determine the processing order of each task according to the connection relationship between each task in the target-reaching path.
[0414] Since the connection relationship between each task is clearly defined in the target-achieving path, the processing order between each task can be determined based on the connection relationship.
[0415] Optionally, when the task relationship graph is a directed graph, any directed edge in the target-reaching path, for example, a directed edge from the first task to the second task, may represent the order of successively processing the first task and the second task.
[0416] Optionally, when the task relationship graph is an undirected graph, any undirected edge in the target-reaching path, for example, an undirected edge from the first task to the second task, can represent the order of processing the first task and the second task in succession. The order is not limited.
[0417] Since the target-reaching path passes through each node in the task relationship diagram without repetition, the processing order of all tasks that need to be processed in S101 can be determined based on the target-reaching path.
[0418] Since among all possible paths that pass through the nodes of the task relationship graph without repetition, the probability sum of the path that meets the target is greater than at least one other path, and the probability sum is relatively high, the weight sum of the path that meets the target is relatively small, and the total time saved by the determined task processing sequence is relatively long, which can also increase the total time saved for processing multiple tasks and improve the overall processing efficiency, thereby determining a task processing sequence with relatively high processing efficiency to facilitate task processing.
[0419] It is precisely because of the data analysis based on the time saved between tasks that the target path is determined from the task relationship diagram with the purpose of increasing the total time saved. Therefore, the task processing order represented by the target path can improve the total time saved in multi-tasking processing to a certain extent and improve the overall processing efficiency of multi-tasks.
[0420] Corresponding to the above method embodiment, the embodiments of this specification also provide a device embodiment.
[0421] like Figure 4 FIG. 1 is a schematic diagram of a structure of a device for determining a multi-task processing order provided by an embodiment of the present specification. The device may include the following units.
[0422] The acquisition unit 401 is used to acquire a task relationship diagram.
[0423] Among them, different tasks that need to determine the processing order are different nodes in the task relationship graph; the weight of each edge in the task relationship graph is negatively correlated with the saved time corresponding to the two tasks connected by the edge; the calculation method of the saved time corresponding to the first task and the second task includes: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for continuously processing the two tasks in one processing.
[0424] The probability unit 402 is used to determine the weight of each edge in the task relationship graph and the probability of the minimum path belonging to the task relationship graph based on the artificial intelligence model.
[0425] Among them, the artificial intelligence model is trained in advance according to the graph sample and the label corresponding to each edge in the graph sample. The label corresponding to each edge is used to characterize the weight and minimum path of whether the edge belongs to the graph sample or not; the weight and minimum path of the graph are the paths with the minimum weight and among all possible paths that pass through each node of the graph without repetition;
[0426] The path unit 403 is used to determine a target-reaching path from all possible paths that do not repeatedly pass through each node in the task relationship graph according to the determined probability of each edge.
[0427] Among all possible paths that pass through each node of the task relationship graph without repetition, the sum of probabilities of the target-reaching path is greater than that of at least one other path.
[0428] The sequence unit 404 is used to determine the processing order of each task according to the connection relationship between each task in the target-reaching path.
[0429] The explanation of the above device embodiment can refer to the explanation of the method flow.
[0430] An embodiment of the present specification also provides a computer device, which includes at least a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, a method for determining a multi-task processing order is implemented, that is, any of the above method embodiments.
[0431] Figure 5 A more specific hardware structure diagram of a computer device provided in an embodiment of this specification is shown, and the device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are connected to each other through the bus 1050 in the device.
[0432] The processor 1010 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.
[0433] The memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 may store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program codes are stored in the memory 1020 and are called and executed by the processor 1010.
[0434] The input / output interface 1030 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.
[0435] The communication interface 1040 is used to connect a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).
[0436] The bus 1050 includes a path that transmits information between the various components of the device (eg, the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040).
[0437] It should be noted that, although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040 and the bus 1050, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include the components necessary for implementing the embodiments of the present specification, and does not necessarily include all the components shown in the figure.
[0438] The embodiments of this specification also provide a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, a method for determining a multi-task processing order is implemented, that is, any of the above method embodiments.
[0439] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0440] It can be known from the above description of the implementation mode that the technicians in this field can clearly understand that the embodiments of this specification can be implemented by means of software plus the necessary general hardware platform. Based on such an understanding, the technical solution of the embodiments of this specification can be essentially or the part that contributes to the prior art can be embodied in the form of a software product, which can be stored in a storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute a multi-task processing order determination method described in each embodiment or some parts of the embodiments of this specification, that is, any of the above-mentioned method embodiments.
[0441] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, a game console, a tablet computer, a wearable device or a combination of any of these devices.
[0442] Each embodiment in this specification is described in a progressive manner, and the same and similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. The device embodiment described above is merely schematic, wherein the modules described as separate components may or may not be physically separated, and the functions of each module can be implemented in the same one or more software and / or hardware when implementing the embodiment scheme of this specification. It is also possible to select some or all of the modules according to actual needs to achieve the purpose of the embodiment scheme. A person of ordinary skill in the art can understand and implement it without paying creative labor.
[0443] The above is only a specific implementation of the embodiments of this specification. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the embodiments of this specification. These improvements and modifications should also be regarded as protection for the embodiments of this specification.
Claims
1. A method for determining a multi-task processing order, applied to a scenario where a business platform reviews merchant qualifications, wherein the multi-task refers to merchant qualification review tasks, and the method comprises: A task relationship graph is obtained; wherein different tasks that need to determine the processing order are different nodes in the task relationship graph; the weight of each edge in the task relationship graph is negatively correlated with the saved time corresponding to the two tasks connected by the edge; the calculation method of the saved time corresponding to the first task and the second task includes: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for continuously processing the two tasks in one processing; Based on the artificial intelligence model, determine the weight and minimum path probability of each edge in the task relationship graph belonging to the task relationship graph; wherein the artificial intelligence model is pre-trained according to the graph sample and the label corresponding to each edge in the graph sample, and the label corresponding to each edge is used to characterize the weight and minimum path of the edge belonging to or not belonging to the graph sample; the weight and minimum path of the graph are the paths with the smallest sum of weights among all possible paths that pass through each node of the graph without repetition; According to the determined probability of each edge, a target-reaching path is determined from all possible paths that do not repeatedly pass through each node in the task relationship graph; among all possible paths that do not repeatedly pass through each node in the task relationship graph, the sum of the probabilities of the target-reaching path is greater than at least one other path; The processing order of each task is determined according to the connection relationship between each task in the target-reaching path.
2. The method according to claim 1, wherein determining the weight of each edge in the task relationship graph and the probability of the minimum path belonging to the task relationship graph based on the artificial intelligence model comprises: Split the task relationship diagram into multiple sub-diagrams; Each node in the task relationship graph belongs to at least one subgraph; Input each subgraph into the AI model and output the weight of each edge in the subgraph and the probability of the minimum path belonging to the subgraph; For each edge in the task relationship graph, obtain the weight and probability of the minimum path of the edge belonging to each subgraph in which it belongs, and combine all the obtained probabilities to determine the weight and probability of the minimum path of the edge belonging to the task relationship graph.
3. According to the method of claim 2, the step of splitting the task relationship graph into multiple sub-graphs comprises: For the task relationship graph, loop through the following steps until each node in the task relationship graph belongs to at least one subgraph: Select a node in the task relationship graph that does not belong to any subgraph and determine it as the central node; Among other nodes other than the central node, other nodes meeting the preset screening conditions are determined as candidate nodes; For each candidate node, determine the path weight sum from the central node to the candidate node; According to the determined weight sum, the candidate nodes are sorted in ascending order; Determine the candidate nodes whose sequence numbers in the sorting results are smaller than the preset sorting sequence numbers as subgraph nodes; The central node, the determined subgraph nodes, and the path from the central node to each subgraph node form a subgraph.
4. According to the method of claim 2, the number of all graph sample nodes for training the artificial intelligence model is the same; The task relationship graph is split into multiple sub-graphs, including: Split the task relationship graph into multiple subgraphs containing a preset number of nodes; The preset number of nodes is the number of nodes of the graph sample.
5. The method according to claim 1, wherein the determining of the target-reaching path from all possible paths that do not repeatedly pass through each node in the task relationship graph based on the determined probability of each edge comprises: Select any node from the task relationship graph to add to the target path, and determine the node as the current node; The following steps are executed repeatedly until each node in the task relationship graph is added to the target path: Among neighbor nodes of the current node, determine neighbor nodes that are not added to the target-reaching path; In the case where the determined neighbor node includes one, adding the edge between the current node and the neighbor node, and the neighbor node to the target-reaching path; In a case where the determined neighbor nodes include at least two, adding the edge between the current node and the preset neighbor node, and the preset neighbor node to the target-reaching path; Among the determined multiple neighbor nodes, the probability of an edge between the preset neighbor node and the current node is at least greater than the probability of an edge between another neighbor node and the current node.
6. According to the method of claim 5, among the determined multiple neighbor nodes, the probability of the edge between the preset neighbor node and the current node is greater than the probability of the edge between each other neighbor node and the current node.
7. According to the method of claim 1, among all possible paths that pass through each node of the task relationship graph without repetition, the probability sum of the target-reaching path is the largest.
8. A device for determining a multi-task processing order, applied to a scenario where a business platform reviews merchant qualifications, wherein the multi-task refers to merchant qualification review tasks, and the device comprises: The acquisition unit is used to acquire a task relationship graph; wherein different tasks that need to determine the processing order are different nodes in the task relationship graph; the weight of each edge in the task relationship graph is negatively correlated with the saved time corresponding to the two tasks connected by the edge; the calculation method of the saved time corresponding to the first task and the second task includes: the time for processing only the first task in one processing, plus the time for processing only the second task in another processing, and subtracting the time for continuously processing the two tasks in one processing; A probability unit is used to determine the probability of each edge in the task relationship graph belonging to the weight and minimum path of the task relationship graph based on the artificial intelligence model; wherein the artificial intelligence model is pre-trained according to the graph sample and the label corresponding to each edge in the graph sample, and the label corresponding to each edge is used to characterize the weight and minimum path of the edge belonging to or not belonging to the graph sample; the weight and minimum path of the graph are the paths with the smallest sum of weights among all possible paths that pass through each node of the graph without repetition; A path unit, for determining a target-reaching path from all possible paths that do not repeatedly pass through each node in the task relationship graph according to the determined probability of each edge; among all possible paths that do not repeatedly pass through each node in the task relationship graph, the sum of the probabilities of the target-reaching path is greater than at least one other path; The sequence unit is used to determine the processing order of each task according to the connection relationship between each task in the target-reaching path.
9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium storing a computer program, wherein the computer program is used to implement the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Dynamic shortest path weighting routing method in mobile ad-hoc network
CN104581817A
Internet of Things equipment feature acquisition method and device
CN112291374A