Task allocation method, system and device and electronic equipment
By optimizing task allocation based on agent capability scores and task accuracy thresholds, the problems of low accuracy and low efficiency of the agent task completion are solved, and efficient and accurate task allocation is achieved.
Patent Information
- Application Number
- CN202510206784.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-24
- Publication Date
- 2025-07-04
AI Technical Summary
In the prior art, the task allocation method causes the agent to complete tasks to be low and inefficient, especially in real-time tasks within the time limit, the problem of task timeout or decrease in accuracy is prone to occur.
By obtaining the capability score of the agent and the accuracy threshold of the tasks to be allocated, the number of tasks assigned to each agent is determined, so that the average accuracy of the multiple tasks to be allocated reaches the threshold, and the number of tasks of each agent is minimized, thereby optimizing task allocation.
It achieves the improvement of task completion efficiency while ensuring task accuracy, avoiding task siltation and timeout problems, especially improving timeliness in real-time tasks.
Smart Images

Figure CN120256090A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular, to a task allocation method, system, device, electronic device, and computer-readable storage medium. Background Art
[0002] With the rapid development of artificial intelligence technology, the application fields of artificial intelligence are becoming wider and wider. Tasks in many business scenarios need to be completed through the cooperation of artificial intelligence and humans. An agent is an entity that completes tasks.
[0003] Currently, the method of allocating tasks to agents is to aggregate the tasks to be allocated into a task queue, and sequentially allocate the tasks to multiple agents. After an agent completes the allocated tasks, the remaining tasks in the task queue are allocated to this agent until the task queue is empty. In this task allocation method, there are often problems such as the agent sacrificing the accuracy of task completion in order to complete more tasks, or delaying the task completion time in order to achieve high accuracy, resulting in low task completion efficiency.
[0004] Therefore, there is an urgent need for a task allocation method that can both ensure the accuracy of task completion and the efficiency of task completion to solve the above problems. Summary of the Invention
[0005] This application provides a task allocation method, system, device, electronic device, and computer-readable storage medium to solve the technical problems in the prior art that due to the defects of the task allocation method, the accuracy and efficiency of agents in completing tasks are low.
[0006] In a first aspect, an embodiment of this application provides a task allocation method, and the method includes: obtaining a plurality of tasks to be allocated and a plurality of agents; determining the number of tasks allocated to each agent according to the ability scores of each agent in the plurality of agents and the accuracy threshold preset for the plurality of tasks to be allocated, so that after the plurality of tasks to be allocated are allocated to the plurality of agents according to the number of tasks, the average accuracy corresponding to the plurality of tasks to be allocated is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to each agent is minimized; wherein, the ability score is used to represent the ability of the agent to complete tasks; allocating the plurality of tasks to be allocated to the plurality of agents according to the number of tasks.
[0007] Second aspect, an embodiment of the present application provides a task allocation system, which includes: an agent management module, a task management module, and a task allocation module; the agent management module is used to maintain an agent set and create an agent profile corresponding to each agent in the agent set, and the agent profile at least includes the ability score of the agent, and the ability score is used to represent the ability of the agent to complete tasks; the task management module is used to receive tasks to be allocated and create a task profile corresponding to the tasks to be allocated, and the task profile at least includes the estimated completion time of the tasks to be allocated; it is also used to monitor whether the received tasks to be allocated reach a preset batch number according to a preset time interval, and when the received tasks to be allocated reach the batch number or the time from the previous task release moment is greater than or equal to a preset time threshold, the received tasks to be allocated are sent to the task allocation module; the task allocation module is used to obtain a plurality of tasks to be allocated and a plurality of agents; according to the ability scores of the agents in the plurality of agents and the accuracy threshold preset for the plurality of tasks to be allocated, determine the number of tasks allocated to each agent, so that after the plurality of tasks to be allocated are allocated to the plurality of agents according to the number of tasks, the average accuracy corresponding to the plurality of tasks to be allocated is greater than or equal to the accuracy threshold, and the difference between the number of tasks corresponding to each agent reaches the minimum; according to the number of tasks, allocate the plurality of tasks to be allocated to the plurality of agents.
[0008] Third aspect, an embodiment of the present application provides a task allocation device, which includes: an acquisition unit, a determination unit, and an allocation unit; the acquisition unit is used to obtain a plurality of tasks to be allocated and a plurality of agents; the determination unit is used to determine the number of tasks allocated to each agent according to the ability scores of the agents in the plurality of agents and the accuracy threshold preset for the plurality of tasks to be allocated, so that after the plurality of tasks to be allocated are allocated to the plurality of agents according to the number of tasks, the average accuracy corresponding to the plurality of tasks to be allocated is greater than or equal to the accuracy threshold, and the difference between the number of tasks corresponding to each agent reaches the minimum; wherein, the ability score is used to represent the ability of the agent to complete tasks; the allocation unit is used to allocate the plurality of tasks to be allocated to the plurality of agents according to the number of tasks.
[0009] Fourth aspect, an embodiment of the present application provides an electronic device, which includes: a memory, a processor; the memory is used to store one or more computer instructions; the processor is used to execute the one or more computer instructions to implement the above method.
[0010] Fifth aspect, an embodiment of the present application provides a computer-readable storage medium, on which one or more computer instructions are stored. When the instructions are executed by a processor, the above method is executed.
[0011] Compared with the prior art, the task allocation method provided by the present application includes: obtaining a plurality of tasks to be allocated and a plurality of agents; determining the number of tasks allocated to each agent according to the ability scores of each agent in the plurality of agents and the accuracy threshold preset for the plurality of tasks to be allocated, so that after the plurality of tasks to be allocated are allocated to the plurality of agents according to the number of tasks, the average accuracy corresponding to the plurality of tasks to be allocated is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to each agent is minimized; allocating the plurality of tasks to be allocated to the plurality of agents according to the number of tasks. First, this method uses the ability of the agent to complete the task as the basis for task allocation, and determines the number of tasks allocated to each agent, so that after the tasks are allocated to the agents according to the determined number of tasks, the average accuracy of the plurality of tasks to be allocated can reach the accuracy threshold, ensuring the accuracy of the agents to complete the tasks from the level of task allocation. Second, this method minimizes the difference between the numbers of tasks corresponding to each agent, so that the plurality of tasks to be allocated can be allocated to each agent as evenly as possible, reducing the task backlog of the agents, and ensuring the efficiency of the agents to complete the tasks from the level of task allocation. In summary, the task allocation method provided by the present application is a method that can both ensure the accuracy of task completion and the efficiency of task completion, and solves the technical problems of low accuracy and low efficiency of agents to complete tasks caused by the defects of the existing task allocation method. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 is an application system diagram of the task allocation method provided by an embodiment of the present application;
[0013] Figure 2 is a flowchart of the task allocation method provided by the first embodiment of the present application;
[0014] Figure 3 is a schematic diagram of the task allocation system provided by the second embodiment of the present application;
[0015] Figure 4 is a schematic structural diagram of the task allocation device provided by the third embodiment of the present application;
[0016] Figure 5 is a schematic structural diagram of the electronic device provided by the fourth embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0017] In the following description, numerous specific details are set forth to provide a thorough understanding of the present application. However, the present application can be implemented in many other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the connotation of the present application. Therefore, the present application is not limited by the specific implementations disclosed below.
[0018] With the rapid development of artificial intelligence technology, the application fields of artificial intelligence are becoming increasingly wide. Many tasks in business scenarios require the collaboration between artificial intelligence and humans to complete, and an agent is the entity that completes the tasks.
[0019] Currently, the way to assign tasks to agents is to aggregate the tasks to be assigned into a task queue, and then assign the tasks to multiple agents in sequence. After an agent completes the assigned tasks, the remaining tasks in the task queue are then assigned to that agent until the task queue is empty.
[0020] Under this task assignment method, there are often situations where agents sacrifice the accuracy of task completion in order to complete more tasks, or delay the task completion time in order to achieve high accuracy, resulting in low task completion efficiency. Especially for some real-time tasks that need to be completed within a time limit, low task completion efficiency will cause the assigned tasks to time out and the tasks to be assigned to expire. Specifically, if an agent is required to complete tasks with high quality, the agent will work more carefully and take longer. If the highest accuracy of task completion is required, a large number of tasks will be assigned to a few agents with high accuracy, resulting in task backlog for that agent and causing the tasks to expire. If the backlog time of tasks is to be compressed, all agents will be utilized as much as possible, and the tasks will be distributed to these agents in a scattered manner, which will inevitably lead to a decrease in the overall accuracy of task completion.
[0021] Therefore, there is an urgent need for a task assignment method that can both ensure the accuracy of task completion and the efficiency of task completion, so as to solve the technical problems of low accuracy and low efficiency of task completion caused by the existing task assignment methods.
[0022] In view of this, the present application provides a task allocation method. First, the method uses the task completion ability of agents as the basis for task allocation, determines the number of tasks assigned to each agent, so that after tasks are allocated to agents according to the determined number of tasks, the average accuracy of multiple tasks to be allocated can reach the accuracy threshold, ensuring the accuracy of task completion by agents from the level of task allocation. Second, the method minimizes the difference between the number of tasks corresponding to each agent, so that multiple tasks to be allocated can be allocated to each agent as evenly as possible, reducing the task backlog of agents and ensuring the efficiency of task completion by agents from the level of task allocation. Therefore, the task allocation method provided by the present application is a method that can ensure both the accuracy and efficiency of task completion.
[0023] The following further elaborates on the task allocation method, system, device, electronic device, and computer-readable storage medium described in the present application in conjunction with specific embodiments and the accompanying drawings.
[0024] Figure 1 It is an application system diagram of the task allocation method provided by an embodiment of the present application. As Figure 1 shown, the system includes a user terminal 101 and a server 102. The user terminal 101 can be any device such as a smart phone, a tablet computer, a laptop computer, a desktop computer, a personal digital assistant (PDA), etc., and is used to receive tasks to be allocated. The server 102 can be a service module inside the user terminal 101, a service device electrically connected to the user terminal 101, or a cloud server communicatively connected to multiple user terminals 101. The task allocation method provided by the present application is deployed on the server 102, and in response to receiving a task allocation instruction, it allocates the tasks to be allocated to agents based on this method.
[0025] The first embodiment of the present application provides a task allocation method, which is deployed in Figure 1 the server 102 shown and is used to provide task allocation services for agents.
[0026] Figure 2 It is a flowchart of the task allocation method provided by this embodiment. The following further elaborates on the task allocation method provided by this embodiment in conjunction with Figure 2 The following embodiments involved in the description are used to explain the technical solutions of the present application and are not used as limitations for actual use.
[0027] As Figure 2 shown, the task allocation method provided by this embodiment includes the following steps S210 to S230:
[0028] Step S210, obtain multiple tasks to be allocated and multiple agents.
[0029] The task to be assigned can be understood as a problem to be solved by the agent, an event to be processed, a strategy to be decided, etc., and can include various types of tasks. Exemplarily, the data to be labeled in the data annotation service, the bill to be settled in the commodity settlement service, etc. In this embodiment, the task to be assigned can be a real-time task (i.e., a task that needs to be completed within a certain time limit requirement), or a non-real-time task (i.e., a task without a completion time limit or a long completion time limit). The method provided in this embodiment has a better effect on the assignment of real-time tasks than the related art. On the one hand, it improves the accuracy of real-time tasks and will not cause low accuracy due to the time limit for task completion. On the other hand, it ensures the timeliness of real-time tasks and will not cause task timeouts or task expiration in order to ensure high accuracy.
[0030] The agent refers to a system that can autonomously sense the environment, make decisions and execute actions. It can be software, hardware, a system, or a person. In this embodiment, the specific form of the agent is not limited.
[0031] Generally, different agents have different speeds and qualities in solving tasks, and different agents have different fields of expertise. Therefore, in an optional implementation manner, the received tasks to be assigned are classified according to the task type, and these tasks to be assigned are assigned to the agents who are good at solving the corresponding task type based on the task type, so as to obtain better accuracy and efficiency at the agent level. Based on this, the multiple tasks to be assigned described in this embodiment belong to the same task type. Exemplarily, multiple tasks to be assigned are all data to be marked for binary classification, belonging to the binary classification marking task type; multiple tasks to be assigned are all bills to be settled, belonging to the bill settlement task type.
[0032] Based on this, obtaining multiple tasks to be assigned and multiple agents can specifically include: obtaining multiple tasks to be assigned, and according to the task types of the multiple tasks to be assigned, retrieving multiple agents of the corresponding task types from the agent set. The agent set can be understood as an agent pool including multiple agents. Specifically, the agents in the agent pool are currently available agents. Exemplarily, offline agents, agents to be maintained, agents to be upgraded, etc. will be removed from the agent pool in a timely manner.
[0033] Each agent in the agent pool corresponds to at least one task type, and the corresponding task type is the task type that the agent is good at solving. After determining the task type of the task to be assigned, the agent who is good at solving this task type can be retrieved from the agent set based on this task type.
[0034] In an alternative implementation, each agent in the agent set is marked with a task type code corresponding to the corresponding task type. The task type code can be a number preset by the developer for each task type. Exemplarily, the binary classification marking task type is marked as No. 001, and the bill settlement task type is marked as No. 002, etc. For each agent in the agent set, according to the task type that the agent is good at solving, the task type code corresponding to the task type is marked on the agent. Optionally, the task type code can be used as the key name, and the agent name or code can be used as the key value to form a key-value pair of "task type code - agent code / name".
[0035] Based on this, obtain multiple tasks to be assigned, and according to the task types of the multiple tasks to be assigned, obtain multiple agents corresponding to the corresponding task types from the agent set. Specifically, it can include the following steps S211 to step S212:
[0036] Step S211, obtain multiple tasks to be assigned and the task type codes of the task types corresponding to the multiple tasks to be assigned.
[0037] Step S212, according to the task type code, retrieve multiple agents marked with the task type code from the agent set.
[0038] Exemplarily, the multiple tasks to be assigned obtained are bills to be settled. The task type corresponding to the bills to be settled is the bill settlement type, and the task type code corresponding to the bill settlement type is No. 002. Then, all the agents marked with No. 002 in the agent set can be called out to form multiple agents for settling multiple bills to be settled.
[0039] In an alternative implementation, after the steps of obtaining multiple tasks to be assigned and multiple agents, the method provided in this embodiment may further include: obtaining the agent portraits corresponding to each agent in the multiple agents to better understand the characteristics of each agent, so as to perform reasonable task allocation.
[0040] The agent portrait can be understood as a collection of information such as the attributes of the agent (e.g., name, code, type, version, etc.), capabilities (e.g., perception ability, decision-making ability, behavior ability, communication ability, etc.), behavior patterns (e.g., task-oriented behavior, adaptive behavior, collaborative behavior, etc.), performance metrics (e.g., accuracy rate, response time, etc.). Based on the agent portrait, a preliminary understanding of the agent can be obtained, and agent applications can be carried out based on the information provided by the agent portrait. In this embodiment, the agent portrait at least includes the ability score of the agent. The ability score is used to characterize the ability of the agent to complete tasks. For example, the efficiency, accuracy rate, confidence level, etc. of the agent to complete tasks. The ability score is the scoring of the agent's ability to complete tasks, which can be the scoring of comprehensive ability, such as comprehensively scoring the efficiency, accuracy rate, confidence level, etc. of the agent to complete tasks to obtain the ability score of the agent, or it can also be the scoring of a single ability, such as scoring the accuracy rate of the agent to complete tasks. In an optional implementation manner provided in this embodiment, the ability score is the accuracy rate of the agent to complete tasks, that is, directly using the accuracy rate of the agent as the ability score of the agent.
[0041] Based on this, the method provided in this embodiment may further include constructing an agent portrait corresponding to the agent. Specifically, constructing the agent portrait may include the following steps S11 to S12:
[0042] Step S11, calculate the ability score of the agent according to the ability of the agent to answer tasks in the historical stage or the ability of the agent to answer tasks in the test set.
[0043] Step S12, construct an agent portrait corresponding to the agent based on the ability score of the agent.
[0044] Taking the ability score as the accuracy rate as an example, for the used agent, the accuracy rate of the agent can be calculated based on the correctness of the agent to answer tasks in the historical stage. Exemplarily, agent A answered 100 questions in the historical stage. Based on expert annotation, the answers to 90 questions are correct. Then, the accuracy rate of this agent is 90%. For the unused new agent, the accuracy rate of this agent can be calculated based on the test set. Exemplarily, the test set includes 100 settlement bills and the bill values corresponding to each settlement bill. The agent settles 100 settlement bills, and the settlement results of 95 settlement bills are consistent with the bill values. Then, the accuracy rate of this agent is 95%. After calculating the accuracy rate of the agent, it can be combined with the attribute information, ability information, other index information, etc. of the agent to form an agent portrait corresponding to the agent.
[0045] Optionally, the tasks solved in the historical stage and the tasks in the test set can be tasks of the same type as the task to be assigned, or tasks that are not of the same type as the task to be assigned but are related (related tasks refer to tasks that are related to the task to be assigned in terms of goals, methods, or backgrounds, but are not exactly the same). Exemplarily, task type A and task type B are related. The intelligent agent has solved tasks of type A in the historical stage and has not solved tasks of type B, but the ability of the intelligent agent to solve tasks of type B can be predicted based on the ability of the intelligent agent to solve tasks of type A in the historical stage.
[0046] Optionally, after calculating the ability scores, the calculated ability scores can also be adjusted by addition, subtraction, etc. based on a preset adjustment rule, and the adjusted ability scores are used as the ability scores of the intelligent agents. This adjustment rule is set by developers. Exemplarily, the adjustment rule includes that when the intelligent agent is considered to be human, full-time crowdsourcing workers are better at solving tasks than part-time crowdsourcing workers. Therefore, after calculating the ability scores of each crowdsourcing worker, the calculated ability scores can be adjusted based on the full-time nature of the crowdsourcing workers. For example, when the crowdsourcing worker is a full-time worker, a certain value is added to the calculated ability score as the ability score of this crowdsourcing worker; when the crowdsourcing worker is a part-time worker, a certain value is subtracted from the calculated ability score as the ability score of this crowdsourcing worker.
[0047] Step S220: Determine the number of tasks assigned to each intelligent agent based on the ability scores of each intelligent agent among multiple intelligent agents and the accuracy threshold preset for multiple tasks to be assigned, so that after the multiple tasks to be assigned are assigned to multiple intelligent agents according to the number of tasks, the average accuracy corresponding to the multiple tasks to be assigned is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to each intelligent agent is minimized; wherein, the ability score is used to represent the ability of the intelligent agent to complete tasks.
[0048] Specifically, based on the ability scores of each intelligent agent among multiple intelligent agents and the accuracy threshold preset for multiple tasks to be assigned, solve for the task assignment numbers that can achieve that the average accuracy corresponding to the multiple tasks to be assigned is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to each intelligent agent is minimized. Among them, the average accuracy corresponding to the multiple tasks to be assigned is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to each intelligent agent is minimized, which not only ensures that the accuracy of the multiple tasks to be assigned meets the standard, but also tries to achieve an even distribution of tasks, avoiding the situation where multiple tasks to be assigned are assigned to a few intelligent agents with high ability scores, resulting in a long completion time and low completion efficiency for the multiple tasks to be assigned.
[0049] Step S230: Assign multiple tasks to be assigned to multiple intelligent agents according to the number of tasks.
[0050] After determining the number of tasks assigned to each agent, based on this number of tasks, the corresponding number of tasks to be assigned can be obtained from multiple tasks to be assigned and assigned to the corresponding agents for task processing.
[0051] In an optional implementation provided in this embodiment, after determining the number of tasks corresponding to each agent, the specific tasks assigned to each agent can be further determined, and based on the determined specific tasks assigned to each agent, multiple tasks to be assigned are assigned to multiple agents. Based on this, according to the task assignment quantity, assigning multiple tasks to be assigned to multiple agents may include the following steps: According to the estimated completion time of each task to be assigned among multiple tasks to be assigned and the number of tasks corresponding to each agent, assign multiple tasks to be assigned to multiple agents so that the total completion time corresponding to multiple tasks to be assigned is minimized. Specifically, according to the estimated completion time of each task to be assigned among multiple tasks to be assigned and the number of tasks corresponding to each agent, determine the tasks to be assigned to each agent so that after assigning multiple tasks to be assigned to multiple agents according to the tasks to be assigned corresponding to each agent, the total completion time corresponding to multiple tasks to be assigned is minimized; Assign multiple tasks to be assigned to multiple agents according to the tasks to be assigned corresponding to each agent.
[0052] The estimated completion time of a task to be assigned refers to the time predicted for an agent to complete the task to be assigned before the task to be assigned is assigned to the agent. In this embodiment, based on the estimated completion time of each task to be assigned, on the basis of determining the number of tasks assigned to each agent, the specific tasks assigned to each agent are further determined, that is, which of the multiple tasks to be assigned are assigned to agent A, which are assigned to agent B, and so on.
[0053] In an optional implementation, the estimated completion time of a task to be assigned is obtained based on a task profile. A task profile can be understood as a set of information about various attributes of a task to be assigned (such as name, code, task type, deadline, estimated completion time, etc.). Based on the task profile, a preliminary understanding of the task to be assigned can be obtained, and the assignment and solution of the task to be assigned can be carried out based on the information provided by the task profile. Based on this, before the step of assigning multiple tasks to be assigned to multiple agents according to the estimated completion time of each task to be assigned among multiple tasks to be assigned and the number of tasks corresponding to each agent, the method provided in this embodiment may further include: Obtain the task profiles corresponding to each task to be assigned among multiple tasks to be assigned to better understand each task to be assigned, so as to perform reasonable task assignment. In this embodiment, the task profile at least includes the estimated completion time of the task to be assigned.
[0054] The method provided in this embodiment may further include constructing a task portrait corresponding to the task to be assigned. Specifically, constructing the task portrait may include the following steps S21 to S22:
[0055] Step S21, calculate the estimated completion time of the task to be assigned according to the task status of the task to be assigned.
[0056] Step S22, construct a task portrait corresponding to the task to be assigned based on the estimated completion time of the task to be assigned.
[0057] In this embodiment, the task status refers to the task elements that will affect the completion time of the task to be assigned. For example, the types and quantities of the items to be settled in the bill to be settled. Specifically, the more types and the larger the quantity of the items to be settled in the bill to be settled, the longer the settlement completion time of the bill to be settled will be. Another example is the duration of the video to be processed. Specifically, the longer the duration of the video to be processed, the longer the processing completion time of the video to be processed will be. According to the task status of the task to be assigned, the completion time of the task to be assigned can be estimated.
[0058] In an optional implementation manner, a mapping relationship between the task status and the task completion time can be established by referring to the task status and the completion time of the tasks that have been answered by the intelligent agent in the historical stage. Thus, based on this mapping relationship and the task status of the task to be assigned, the estimated completion time of the task to be assigned can be predicted, that is, the estimated completion time of the task to be assigned. After calculating the estimated completion time of the task to be assigned, it can be combined with other attribute information of the task to be assigned, such as name, task type, deadline, etc., to form the task portrait of the task to be assigned.
[0059] In this implementation manner, when the number of tasks assigned to each intelligent agent is determined, the specific tasks assigned to each intelligent agent are further determined based on the estimated completion time of each task to be assigned. Specifically, according to the number of tasks corresponding to each intelligent agent among multiple intelligent agents and the estimated completion time of each task to be assigned among multiple tasks to be assigned, a specific task allocation result that can minimize the total completion time corresponding to multiple tasks to be assigned is solved to further improve the task completion efficiency.
[0060] Based on this, according to the number of tasks, multiple tasks to be assigned are assigned to multiple intelligent agents. Specifically, it may include: assigning multiple tasks to be assigned to multiple intelligent agents according to the tasks to be assigned to each intelligent agent.
[0061] The above method provided in this embodiment takes high accuracy as the first goal and high efficiency as the second goal, and finally determines the tasks to be assigned to each agent through two-step solution, so that after multiple tasks to be assigned are assigned to multiple agents according to the solution result, not only can the average accuracy of the tasks to be assigned be greater than or equal to the preset accuracy threshold, but also the total completion time of multiple tasks to be assigned can be minimized.
[0062] In an optional implementation provided in this embodiment, considering that when the number of tasks to be assigned is too large, the solution time for task assignment with the individual agent as the assignment granularity is too long. Therefore, multiple agents are divided into multiple agent groups, and the agent groups are used as the assignment granularity to solve the number of tasks assigned to each agent group and the tasks to be assigned. Since the number of tasks is solved according to the ability scores of the agents, in this implementation, multiple agents are divided into multiple agent groups according to the ability scores of each agent among the multiple agents. Specifically, after the steps of obtaining multiple tasks to be assigned and multiple agents, the method provided in this embodiment may further include the following steps S31 to S32:
[0063] Step S31: Divide multiple agents into a first preset number of agent groups according to the ability scores of each agent among the multiple agents. Each agent group corresponds to an ability score interval and includes multiple agents whose ability scores are within the ability score interval.
[0064] Step S32: Use any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group.
[0065] Taking the ability score as the accuracy as an example, after obtaining multiple agents, multiple accuracy intervals can be divided according to the upper limit of the accuracy (i.e., the maximum accuracy) and the lower limit of the accuracy (i.e., the minimum accuracy) of the multiple agents, and for each accuracy interval, the agents whose accuracy is within the accuracy interval are grouped into one agent group to implement dividing multiple agents into multiple agent groups. In this embodiment, the number of divisions of the agent groups is defined as the first preset number, which is a variable value and can be determined according to the accuracy of each agent and the required accuracy for completing multiple tasks to be assigned. It can be understood that for the same upper limit and lower limit of accuracy, the larger the first preset number, the smaller the accuracy span of the accuracy interval, and the smaller the first preset number, the larger the accuracy span of the accuracy interval. In this embodiment, the accuracy span is defined as the step size of the accuracy region.
[0066] After dividing multiple agents into multiple agent groups corresponding to different accuracy intervals, any accuracy within the accuracy interval can be used as the accuracy of the corresponding agent group. Exemplarily, if the accuracy interval corresponding to the first agent group is from 90% to 100%, then any accuracy such as 90%, 93%, 99%, etc. can be used as the accuracy of the first agent group.
[0067] In an alternative implementation, to increase the computational efficiency of subsequent steps, the ability scores of the agents are integerized, and thus the agents are divided and subsequent calculations are performed in integer form. Specifically, before the step of dividing multiple agents into the first preset number of agent groups according to the ability scores of each agent among the multiple agents, the method provided in this embodiment further includes the following steps: Based on the first preset multiple, the ability scores of each agent are integerized to obtain the integerized ability scores corresponding to each agent. Based on this, when dividing multiple agents into the first preset number of agent groups according to the ability scores of each agent among the multiple agents, it may specifically include: Dividing multiple agents into the first preset number of agent groups according to the integerized ability scores corresponding to each agent, and each agent group corresponds to an integerized ability score interval, including multiple agents whose integerized ability scores are within the integerized ability score interval. Based on this, when using any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group, it may specifically include: Using any integerized ability score within the integerized ability score interval corresponding to the agent group as the ability score of the agent group.
[0068] The first preset multiple is an adjustable value, and all values that can integerize the ability scores can be the first preset multiple. Optionally, a multiple of 10 is used as the first preset multiple. For example, 100, 1000, 10000, etc. The specific value of the first preset multiple can be determined according to the data format of the ability scores in the agent profile. Exemplarily, if the ability scores include two decimal places (e.g., 95%), then the first preset multiple can be 100; if the ability scores include four decimal places (e.g., 95.55%), then the first preset multiple can be 10000.
[0069] Integerizing the ability scores based on a multiple of 10 also provides a similar resolution function. Any data that can be divided evenly by a multiple of 10 can be used as the first preset number. For example, dividing multiple agents into 8 agent groups, 10 agent groups, 20 agent groups, etc. 8, 10, 20, etc. can all be divided evenly by 10000, which undoubtedly increases the convenience and flexibility of task allocation.
[0070] In an alternative implementation, in order to further ensure that the average accuracy rate of multiple tasks to be assigned is greater than a preset accuracy rate threshold, the ability score of the agent group can be slightly reduced. Specifically, the lower limit ability score of the ability score region corresponding to the agent group is used as the ability score of the agent group. Exemplarily, if the ability score range corresponding to the first agent group is from 90% to 100%, 90% can be used as the ability score of the first agent group.
[0071] The following is an example to illustrate the method for dividing agent groups. In this example, the accuracy rate is used as the ability score. Assume that the highest accuracy rate among multiple agents is 100% and the lowest accuracy rate is 98%. First, multiply the accuracy rates of each agent by 10,000 (the first preset magnification factor), so the highest accuracy rate becomes 10,000 and the lowest accuracy rate becomes 9,800. Second, based on the highest accuracy rate and the lowest accuracy rate, divide 8 (the first preset quantity) accuracy rate intervals. Then, the step size of the accuracy rate interval is 25 ((10,000 - 9,800) / 8 = 25). The first accuracy rate interval is [9,800, 9,825), the second accuracy rate interval is [9,825, 9,850), the third accuracy rate interval is [9,850, 9,875), ……, and the eighth accuracy rate interval is [9,975, 10,000]. Third, classify the agents with accuracy rates within each accuracy rate interval into an agent group, thus forming the first agent group corresponding to the first accuracy rate interval, the second agent group corresponding to the second accuracy rate interval, the third agent group corresponding to the third accuracy rate interval, ……, and the eighth agent group corresponding to the eighth accuracy rate interval. Finally, use the lower limit accuracy rate of the accuracy rate interval corresponding to each agent group as the accuracy rate of each agent group. Specifically, the accuracy rate of the first agent group is 9,800, the accuracy rate of the second agent group is 9,825, the accuracy rate of the third agent group is 9,850, ……, and the accuracy rate of the eighth agent group is 9,975.
[0072] In an alternative implementation, according to the ability scores of each agent among multiple agents and the preset accuracy rate threshold for multiple tasks to be assigned, determine the number of tasks assigned to each agent. Specifically, it may include the following steps: Determine the number of tasks assigned to each agent group according to the ability score corresponding to each agent group and the preset accuracy rate threshold for multiple tasks to be assigned, so that after distributing multiple tasks to be assigned to the first preset quantity of agent groups according to the number of tasks, the average accuracy rate corresponding to the multiple tasks to be assigned is greater than or equal to the accuracy rate threshold, and the degree of matching between the number of tasks corresponding to each agent group and the number of agents included in the agent group is the highest.
[0073] The highest degree of quantity matching between the number of tasks and the number of agents can be understood as distributing the tasks to be assigned to each agent group as evenly as possible according to the number of agents included in each agent group, so as to minimize the difference between the number of tasks corresponding to each agent. Exemplarily, the first agent group includes 50 agents, and the second agent group includes 20 agents. If there are 70 tasks, the most matching distribution method is to assign 50 tasks to the first agent group and 20 tasks to the second agent group, so that each agent is evenly assigned 1 task. In this embodiment, it is necessary to ensure that the average accuracy corresponding to multiple tasks to be assigned is greater than or equal to the accuracy threshold. Therefore, on this premise, it is basically impossible to achieve a completely even distribution, and it is only necessary to ensure the highest degree of quantity matching.
[0074] In a specific implementation manner, according to the ability scores corresponding to each agent group and the accuracy threshold preset for multiple tasks to be assigned, determine the number of tasks assigned to each agent group. Specifically, it may include the following steps: Take the average accuracy corresponding to multiple tasks to be assigned being greater than or equal to the accuracy threshold as the first constraint condition, take the number of tasks corresponding to each agent group being less than or equal to the number of multiple tasks to be assigned as the second constraint condition, take the sum of the number of tasks corresponding to each agent group being equal to the number of multiple tasks to be assigned as the third constraint condition, and take the highest degree of quantity matching between the number of tasks corresponding to each agent group and the number of agents included in the agent group as the first optimization goal, and solve the number of tasks assigned to each agent group.
[0075] The constraint condition refers to the restriction on the value of the variable, which stipulates a series of rules or conditions that the solution must satisfy. These conditions can be equations, inequalities, or logical relationships between variables, etc. That is, the constraint condition defines the space of feasible solutions. In this embodiment, when solving the number of tasks assigned to each agent group, the number of tasks assigned to each agent group is the variable to be solved, and this variable needs to satisfy three constraint conditions. One is that the average accuracy corresponding to multiple tasks to be assigned is greater than or equal to the accuracy threshold. In this embodiment, this constraint condition is defined as the first constraint condition; the second is that the number of tasks corresponding to each agent group is less than or equal to the number of multiple tasks to be assigned. In this embodiment, this constraint condition is defined as the second constraint condition; the third is that the sum of the number of tasks corresponding to each agent group is equal to the number of multiple tasks to be assigned. In this embodiment, this constraint condition is defined as the third constraint condition.
[0076] The optimization objective refers to a certain function that is desired to be maximized or minimized, and this function usually depends on decision variables. That is, the optimization objective guides the search for the optimal solution within the space of feasible solutions. In this embodiment, the optimization objective for solving the number of tasks assigned to each agent group is that the matching degree between the number of tasks corresponding to each agent group and the number of agents included in the agent group is the highest. In this embodiment, this optimization objective is defined as the first optimization objective.
[0077] Exemplarily, taking the ability score as accuracy as an example, the specific steps for solving the number of tasks assigned to each agent group may include the following steps S41 to S44:
[0078] Step S41, define the solution variables.
[0079] The solution variables are the number of tasks assigned to each agent group. Specifically, the number of tasks assigned to each agent group is defined as an integer array x, and the number of members in the array x is the number of agent groups. Assuming there are 8 agent groups, then the array x is an integer array including 8 members. Among them, the array member x[i] represents the number of tasks assigned to the i-th agent group. Therefore, by solving this array x, the number of tasks assigned to each agent group is determined.
[0080] Step S42, determine the constraint conditions.
[0081] The second constraint condition is that the number of tasks corresponding to each agent group is less than or equal to the number of multiple tasks to be assigned. Specifically, the array member x[i] is between [0, E], where E represents the number of multiple tasks to be assigned.
[0082] The third constraint condition is that the sum of the number of tasks corresponding to each agent group is equal to the number of multiple tasks to be assigned. Specifically, the third constraint condition can be expressed as the following expression 4.1, where Σx[i] represents the sum of the array members, that is, the sum of the number of tasks assigned to each agent.
[0083] ∑x[i]=E Expression 4.1
[0084] The first constraint condition is that the average accuracy rate corresponding to multiple tasks to be assigned is greater than or equal to the accuracy rate threshold. Specifically, multiplying the number of tasks assigned to each agent group by the accuracy rate of each agent group gives the total accuracy rate of multiple tasks to be assigned, and then dividing by the number of multiple tasks to be assigned gives the average accuracy rate corresponding to multiple tasks to be assigned. The first constraint condition can be expressed as the following expression 4.2, where quality[i] represents the accuracy rate of the i-th agent group and target represents the accuracy rate threshold.
[0085] ∑(x[i]×quality[i]) / E≥target Expression 4.2
[0086] Step S43, determine the optimization objective.
[0087] The first optimization objective is to maximize the quantity matching degree between the number of tasks corresponding to each agent group and the number of agents included in the agent group. Specifically, the quantity matching degree between the number of tasks corresponding to each agent group and the number of agents included in the agent group is maximized by minimizing the total waiting duration of the tasks to be assigned to each agent. This is because the minimum total waiting duration indicates that the number of tasks assigned to each agent group is as even as possible. The first optimization objective can be expressed by Expression 4.3, where n[i] represents the number of agents included in the i-th agent group, x[i] / n[i] represents the average number of tasks assigned to each agent in the i-th agent group, and Minimize() represents minimization.
[0088] Minimize(Σ((x[i] / n[i]) 2 +(x[i] / n[i]))) Expression 4.3
[0089] Assume that each agent can be assigned 5 tasks. Then, the waiting duration of the first task is the completion time of the first task, the waiting duration of the second task is the completion time of the second task plus the time of "waiting for 1 task", and so on. The waiting duration of the fifth task is the completion time of the fifth task plus the time of "waiting for 4 tasks". Then, the total waiting duration of all tasks assigned to the agents can be expressed by Σ((x[i] / n[i]) 2 +(x[i] / n[i])). Further, by minimizing the total waiting duration, the quantity matching degree between the number of tasks corresponding to each agent group and the number of agents included in the agent group can be maximized.
[0090] Step S44, solve the array x based on the solver.
[0091] Specifically, the solver calculates an integer array x that meets the above multiple constraint conditions and can achieve the first optimization objective according to the above multiple constraint conditions and the first optimization objective, that is, the number of tasks assigned to each agent group is obtained. Exemplarily, if the solved integer array x = {a, b, c, d, e, f, g, h}, then the first agent group will be assigned a tasks to be assigned, the second agent group will be assigned b tasks to be assigned, the third agent group will be assigned c tasks to be assigned,..., and the eighth agent group will be assigned h tasks to be assigned.
[0092] In an alternative implementation, according to the estimated completion time of each to-be-assigned task among multiple to-be-assigned tasks and the number of tasks corresponding to each agent, the multiple to-be-assigned tasks are assigned to multiple agents, which may specifically include the following steps: According to the estimated completion time of each to-be-assigned task among multiple to-be-assigned tasks and the number of tasks corresponding to each agent group, the multiple to-be-assigned tasks are assigned to multiple agents so that the total completion time corresponding to the multiple to-be-assigned tasks is minimized.
[0093] In a specific implementation, according to the estimated completion time of each to-be-assigned task among multiple to-be-assigned tasks and the number of tasks corresponding to each agent group, the multiple to-be-assigned tasks are assigned to multiple agents, which may specifically include the following steps: Taking the number of tasks corresponding to each agent group as the fourth constraint condition, taking the assignment of one to-be-assigned task to one agent group as the fifth constraint condition, taking the assignment of multiple to-be-assigned tasks to the first preset number of agent groups as the sixth constraint condition, and taking the minimization of the total completion time corresponding to the multiple to-be-assigned tasks as the second optimization objective, to solve the to-be-assigned tasks assigned to each agent group; According to the to-be-assigned tasks assigned to each agent group, the multiple to-be-assigned tasks are assigned to each agent group.
[0094] In this embodiment, solving the to-be-assigned tasks assigned to each agent group is actually the second solving step after solving the number of tasks assigned to each agent group (the first solving step). In the second solving step, the variable to be solved is the to-be-assigned tasks assigned to each agent group, and this variable needs to satisfy three constraint conditions. One is that the number of to-be-assigned tasks assigned to each agent group is the number of tasks corresponding to each agent group. In this embodiment, this constraint condition is defined as the fourth constraint condition, and this constraint condition is actually the solution result of the first solving step. The second is that each to-be-assigned task can only be assigned to one agent group. In this embodiment, this constraint condition is defined as the fifth constraint condition. The third is that all the multiple to-be-assigned tasks are assigned to the first preset number of agent groups. In this embodiment, this constraint condition is defined as the sixth constraint condition.
[0095] In this embodiment, the optimization objective for solving the to-be-assigned tasks assigned to each agent group is to minimize the total completion time corresponding to the multiple to-be-assigned tasks. In this embodiment, this optimization objective is defined as the second optimization objective.
[0096] Exemplarily, solving the to-be-assigned tasks assigned to each agent group may specifically include the following steps S51 to S54:
[0097] Step S51, define the variable to be solved.
[0098] The variable to be solved is the tasks to be allocated to each agent group among the k agent groups. Specifically, the tasks to be allocated to each agent group are defined as a two-dimensional array y of 0 or 1. The length of the first dimension of the two-dimensional array y is the number of agent groups, and the length of the second dimension is the number of tasks to be allocated. Suppose the number of agent groups is 8 and the number of tasks to be allocated is 100. Then, the two-dimensional array y is an 8×100 matrix. Among them, the value of the array element y[i,j] is either 0 or 1. If it is 1, it means that the j-th task to be allocated is allocated to the i-th agent group. If it is 0, it means that the j-th task to be allocated is not allocated to the i-th agent group. Therefore, by solving the two-dimensional array y, the tasks to be allocated to each agent group are determined.
[0099] Step S52, determine the constraint conditions.
[0100] The fifth constraint condition is that each task to be allocated can only be allocated once. Specifically, for each task to be allocated, there is only one array element with a value of 1, and the other array elements are all 0. Therefore, the sum of the multiple array elements corresponding to each task to be allocated is 1. The fifth constraint condition can be expressed as the following expression 5.1, where Σy[i,j] represents the sum of the multiple array elements corresponding to the j-th task to be allocated.
[0101] ∑y[i,j]=1 Expression 5.1
[0102] The sixth constraint condition is that each task to be allocated is fully allocated. Specifically, since there is only one array element with a value of 1 for each task to be allocated, the sum of the multiple array elements corresponding to each task to be allocated is summed up, and the result is the number of tasks to be allocated. The sixth constraint condition can be expressed as the following expression 5.2, where ΣΣy[i,j] represents the sum of the multiple array elements corresponding to each task to be allocated, and E represents the number of tasks to be allocated.
[0103] ∑∑y[i,j]=E Expression 5.2
[0104] The fourth constraint condition is that each agent group can only be allocated the number of tasks to be allocated. Specifically, the i-th agent group can only be allocated x[i] tasks (i.e., the solution result of the first solution step). The fourth constraint condition can be expressed as the following expression 5.3. Among them, Σy[i,j] represents the sum of the multiple array elements corresponding to the i-th agent group. It can be understood that each agent group can only be allocated x[i] tasks. Therefore, the sum of the array elements is the sum of x[i] 1s, and the result is x[i].
[0105] ∑y[i,j]=x[i] Expression 5.3 Step S53, determine the optimization objective.
[0106] The second optimization objective is to minimize the total completion time corresponding to multiple tasks to be assigned. Specifically, let t[j] represent the estimated completion time of the j-th task to be assigned. When the first task is completed, the second task has actually waited for t[1] time. Therefore, the completion time of the second task is actually the waiting time plus the completion time, that is, t[1]+t[2]. By analogy, the completion time of multiple tasks to be assigned to a certain agent group can be expressed by the following expression 5.4. Therefore, for all agent groups, to minimize the total completion time, its second optimization objective can be expressed by the following expression 5.5.
[0107]
[0108] Step S54, solve the two-dimensional array y based on the solver.
[0109] Specifically, the solver calculates the two-dimensional array y that meets the above multiple constraints and the second optimization objective according to the above multiple constraints and the second optimization objective, that is, the tasks to be assigned to each agent group are obtained. Exemplarily, in the solved two-dimensional array y, y[3,20]=1 indicates that the 20th task to be assigned is assigned to the 3rd agent group, and y[8,95]=0 indicates that the 95th task to be assigned is not assigned to the 8th agent group.
[0110] Based on the above steps, the tasks to be assigned to each agent group are determined. Next, multiple tasks to be assigned will be assigned to multiple agent groups according to the determined results, so as to answer the assigned tasks based on the agents included in each agent group. In an optional implementation manner, assigning multiple tasks to be assigned to multiple agents may specifically include the following steps S61 to S62:
[0111] Step S61, assign multiple tasks to be assigned to the first preset number of agent groups.
[0112] Step S62, sequentially assign the tasks to be assigned to each agent group to the multiple agents included in the agent group.
[0113] Specifically, the tasks to be assigned to the agent group can be aggregated into the task queue corresponding to the agent group, and the tasks to be assigned in the task queue are sequentially assigned to each agent included in the agent group. When an agent completes the assigned task, the tasks to be assigned in the task queue continue to be assigned to the agent until the task queue is empty.
[0114] In an alternative implementation, this embodiment further provides a fallback solution, that is, when the solution of the number of tasks corresponding to each agent group or the tasks to be assigned fails (for example, the solver cannot find a solution that meets the constraints, or does not give a solution within the specified time), multiple tasks to be assigned can be assigned to multiple agents or the first preset number of agent groups based on the fallback solution to avoid interruption of task solution due to the failure of the solution. Based on this, the method provided in this embodiment may further include the following steps S71 to S72:
[0115] Step S71, in response to the failure of the solution, according to the number of agents included in each agent group, assign multiple tasks to be assigned to each agent group so that the number of tasks corresponding to each agent is the same.
[0116] Step S72, in response to the existence of remaining unassigned tasks to be assigned, according to the order of the ability scores of each agent group from high to low, assign the remaining unassigned tasks to be assigned to each agent group in turn.
[0117] Exemplarily, taking the ability score as the accuracy rate, there are 100 tasks to be assigned and 3 agent groups. The first agent group includes 20 agents, the second agent group includes 10 agents, and the third agent group includes 10 agents. The accuracy rate of the third agent group is greater than that of the second agent group, and the accuracy rate of the second agent group is greater than that of the first agent group. When the solution fails, 100 tasks to be assigned will be assigned to each agent group according to the number of agents included in each agent group, and an average distribution at the agent granularity will be achieved. Therefore, 40 tasks to be assigned are assigned to the first agent group, 20 tasks to be assigned are assigned to the second agent group, and 20 tasks to be assigned are assigned to the third agent group, so that on average each agent is assigned 2 tasks to be assigned. At this time, there are still 20 remaining unassigned tasks to be assigned. Then, the task assignment starts from the third agent group. Specifically, 10 more tasks are assigned to the third agent group and 10 more tasks are assigned to the second agent.
[0118] In an alternative implementation, for the stage of the agent answering tasks, if an agent or a group of agents with a high ability score has completed the assigned tasks, then the uncompleted tasks of the agent or group of agents with a low ability score can be assigned to the agent or group of agents with a high ability score for answering, so as to further improve the average accuracy of multiple tasks to be assigned while optimizing the total completion time. Based on this, the method provided in this embodiment may further include the following steps: in response to the first agent completing the assigned task to be assigned, assign the first task to be assigned that was assigned to the second agent to the first agent; where the ability score of the second agent is lower than that of the first agent, and the first task to be assigned is any uncompleted task among the tasks to be assigned that was assigned to the second agent. Exemplarily, taking the ability score as the accuracy rate, if an agent or a group of agents with an accuracy rate of 95% has completed the assigned tasks, then tasks can be obtained from the task queue corresponding to an agent or a group of agents with an accuracy rate less than 95% (such as 93%), but tasks cannot be obtained from the task queue corresponding to an agent or a group of agents with an accuracy rate greater than 95% (such as 96%).
[0119] The first embodiment above provides an alternative task allocation method. First, this method uses the task completion ability of the agent as the basis for task allocation to determine the number of tasks assigned to each agent, so that after tasks are assigned to the agents according to the determined number of tasks, the average accuracy rate of multiple tasks to be assigned can reach the accuracy rate threshold, ensuring the accuracy rate of the agent completing tasks from the aspect of task allocation. Second, this method minimizes the difference between the number of tasks corresponding to each agent, so that multiple tasks to be assigned can be distributed to each agent as evenly as possible, reducing the task backlog of the agent and ensuring the efficiency of the agent completing tasks from the aspect of task allocation. Third, in some alternative implementations, this method uses the estimated completion time of the tasks to be assigned as the basis for task allocation to determine the specific tasks assigned to each agent, so that after tasks are assigned to the agents, the total completion time of multiple tasks to be assigned is minimized, further improving the task completion efficiency. Fourth, in some alternative implementations, this method divides multiple agents into multiple agent groups according to the ability score, so as to solve the task allocation at the granularity of the agent group, reducing the solution difficulty while ensuring the accuracy rate and efficiency of task completion.
[0120] It should be noted that the examples in the first embodiment are only for explaining the method described in this application and do not serve as a limitation for actual use. The task allocation method provided in this application includes but is not limited to the method described in the first embodiment.
[0121] The second embodiment of this application provides a task allocation system. Figure 3 It is a schematic diagram of the task allocation system provided in this embodiment.
[0122] As Figure 3 shown, the system includes: an agent management module 301, a task management module 302, and a task allocation module 303.
[0123] The agent management module 301 is used to maintain an agent set and create an agent profile corresponding to each agent in the agent set. The agent profile includes at least an ability score of the agent, and the ability score is used to characterize the ability of the agent to complete tasks.
[0124] Optionally, the agent management module 301 maintains an online available agent pool, that is, an agent set, records the available agents for each task type with the task type code as the key name, and performs timed updates. Specifically, obtain the online agent information and offline agent information from the backend service, remove the offline agents from the agent pool according to this information, and add the online agents.
[0125] Optionally, the agent management module 301 also maintains an agent profile service. Specifically, for newly online agents, create agent profiles, and for old agents, update the agent profiles at regular intervals.
[0126] The task management module 302 is used to receive tasks to be allocated and create a task profile corresponding to the tasks to be allocated. The task profile includes at least the estimated completion time of the tasks to be allocated; it is also used to monitor whether the received tasks to be allocated reach a preset batch quantity according to a preset time interval. When the received tasks to be allocated reach the batch quantity or the time since the previous task issuance moment is greater than or equal to a preset time threshold, the received tasks to be allocated are sent to the task allocation module.
[0127] Optionally, the task management module 302 maintains a task pool, that is, a task set, records the tasks to be allocated accumulated under each task type with the task type code as the key name, and updates the task pool based on a preset time interval. Specifically, remove the tasks to be allocated under the task type that has reached the batch quantity or the time since the previous task issuance moment is greater than or equal to the preset time threshold from the task pool, and add the new tasks received from the backend service to the task pool.
[0128] Optionally, the task management module 302 also maintains a task profile service. Specifically, for the newly received tasks, create task profiles.
[0129] The task allocation module 303 is configured to obtain a plurality of tasks to be allocated and a plurality of agents; determine the number of tasks allocated to each agent according to the ability scores of the agents in the plurality of agents and the accuracy threshold preset for the plurality of tasks to be allocated, so that after the plurality of tasks to be allocated are allocated to the plurality of agents according to the number of tasks, the average accuracy corresponding to the plurality of tasks to be allocated is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to the agents is minimized; allocate the plurality of tasks to be allocated to the plurality of agents according to the number of tasks.
[0130] Optionally, the task allocation module 303 responds to a task allocation request initiated by the backend service and performs the above allocation operation. The task allocation request includes a task type code corresponding to the task to be allocated. The task allocation module 303 obtains a plurality of agents that can be matched from the agent pool based on the task type code, then obtains the tasks to be allocated from the task pool, and then matches the plurality of agents with the plurality of tasks to be allocated. The obtained matching result is the number of tasks allocated to each agent.
[0131] A third embodiment of the present application provides a task allocation device. Figure 4 It is a schematic structural diagram of the task allocation device provided in this embodiment.
[0132] As Figure 4 shown, the task allocation device provided in this embodiment includes: an acquisition unit 401, a determination unit 402, and an allocation unit 403.
[0133] The acquisition unit 401 is configured to obtain a plurality of tasks to be allocated and a plurality of agents.
[0134] Optionally, the plurality of tasks to be allocated belong to the same task type;
[0135] The obtaining of the plurality of tasks to be allocated and the plurality of agents includes:
[0136] Obtain the plurality of tasks to be allocated, and retrieve a plurality of agents corresponding to the task type from the agent set according to the task type of the plurality of tasks to be allocated; wherein, the agent set includes a plurality of agents, and each agent corresponds to at least one task type.
[0137] Optionally, each agent in the agent set is marked with a task type code corresponding to the task type;
[0138] The obtaining of the plurality of tasks to be allocated and retrieving a plurality of agents corresponding to the task type from the agent set according to the task type of the plurality of tasks to be allocated includes:
[0139] Obtain the multiple tasks to be assigned and the task type codes corresponding to the multiple tasks to be assigned.
[0140] According to the task type codes, retrieve multiple agents marked with the task type codes from the set of agents.
[0141] Optionally, after the step of obtaining the multiple tasks to be assigned and the multiple agents, it is further used for:
[0142] Obtain the agent portraits corresponding to each agent among the multiple agents, where the agent portrait at least includes the ability score of the agent.
[0143] Optionally, the device further includes: a first construction unit; the first construction unit is used for:
[0144] Calculate the ability score of the agent according to the ability of the agent to answer tasks in the historical stage or the ability of the agent to answer tasks in the test set.
[0145] Based on the ability score of the agent, construct the agent portrait corresponding to the agent.
[0146] The determination unit 402 is used to determine the number of tasks assigned to each agent according to the ability scores of each agent among the multiple agents and the accuracy threshold preset for the multiple tasks to be assigned, so that after the multiple tasks to be assigned are assigned to the multiple agents according to the number of tasks, the average accuracy corresponding to the multiple tasks to be assigned is greater than or equal to the accuracy threshold, and the difference between the number of tasks corresponding to each agent is minimized; wherein, the ability score is used to characterize the ability of the agent to complete tasks.
[0147] The allocation unit 403 is used to allocate the multiple tasks to be assigned to the multiple agents according to the number of tasks.
[0148] Optionally, the step of allocating the multiple tasks to be assigned to the multiple agents according to the task allocation quantity includes:
[0149] Allocate the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned among the multiple tasks to be assigned and the number of tasks corresponding to each agent, so that the total completion time corresponding to the multiple tasks to be assigned is minimized.
[0150] Optionally, before the step of allocating the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned among the multiple tasks to be assigned and the number of tasks corresponding to each agent, it is further used for:
[0151] Obtain the task portraits corresponding to each of the multiple tasks to be assigned, where the task portrait at least includes the estimated completion time of the task to be assigned.
[0152] Optionally, the device further includes: a second construction unit; the second construction unit is configured to:
[0153] Calculate the estimated completion time of the task to be assigned according to the task status of the task to be assigned;
[0154] Construct the task portrait corresponding to the task to be assigned based on the estimated completion time of the task to be assigned.
[0155] Optionally, the device further includes a partitioning unit; the partitioning unit is configured to:
[0156] Divide the multiple agents into a first preset number of agent groups according to the ability scores of each of the multiple agents, where each agent group corresponds to an ability score interval and includes multiple agents whose ability scores are within the ability score interval;
[0157] Use any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group.
[0158] Optionally, the device further includes: an integerization unit; the integerization unit is configured to:
[0159] Integerize the ability scores of each agent based on a first preset multiple to obtain the integerized ability scores corresponding to each agent;
[0160] The step of dividing the multiple agents into a first preset number of agent groups according to the ability scores of each of the multiple agents includes:
[0161] Divide the multiple agents into the first preset number of agent groups according to the integerized ability scores corresponding to each agent, where each agent group corresponds to an integerized ability score interval and includes multiple agents whose integerized ability scores are within the integerized ability score interval;
[0162] The step of using any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group includes:
[0163] Use any integerized ability score within the integerized ability score interval corresponding to the agent group as the ability score of the agent group.
[0164] Optionally, the step of using any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group includes:
[0165] Use the lower-limit ability score of the ability score interval corresponding to the agent group as the ability score of the agent group.
[0166] Optionally, determining the number of tasks assigned to each agent according to the ability scores of the agents in the multiple agents and the accuracy threshold preset for the multiple tasks to be assigned includes:
[0167] Determine the number of tasks assigned to each agent group according to the ability scores corresponding to each agent group and the accuracy threshold preset for the multiple tasks to be assigned, so that after the multiple tasks to be assigned are assigned to the first preset number of agent groups according to the number of tasks, the average accuracy corresponding to the multiple tasks to be assigned is greater than or equal to the accuracy threshold, and the degree of matching between the number of tasks corresponding to each agent group and the number of agents included in the agent group is the highest.
[0168] Optionally, assigning the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned in the multiple tasks to be assigned and the number of tasks corresponding to each agent includes:
[0169] Assign the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned in the multiple tasks to be assigned and the number of tasks corresponding to each agent group, so that the total completion time corresponding to the multiple tasks to be assigned is minimized.
[0170] Optionally, assigning the multiple tasks to be assigned to the multiple agents includes:
[0171] Assign the multiple tasks to be assigned to the first preset number of agent groups;
[0172] Sequentially assign the tasks to be assigned to each agent group to the multiple agents included in the agent group.
[0173] Optionally, determining the number of tasks assigned to each agent group according to the ability scores corresponding to each agent group and the accuracy threshold preset for the multiple tasks to be assigned includes:
[0174] Taking the average accuracy corresponding to the multiple tasks to be assigned being greater than or equal to the accuracy threshold as the first constraint condition, taking the number of tasks corresponding to each agent group being less than or equal to the number of the multiple tasks to be assigned as the second constraint condition, taking the sum of the numbers of tasks corresponding to each agent group being equal to the number of the multiple tasks to be assigned as the third constraint condition, and taking the degree of matching between the number of tasks corresponding to each agent group and the number of agents included in the agent group being the highest as the first optimization objective, and solving the number of tasks assigned to each agent group.
[0175] Optionally, the step of allocating the multiple tasks to be allocated to the multiple agents according to the estimated completion time of each task to be allocated among the multiple tasks to be allocated and the number of tasks corresponding to each agent group includes:
[0176] Taking the number of tasks corresponding to each agent group as the fourth constraint condition, taking the allocation of one task to be allocated to one agent group as the fifth constraint condition, taking the allocation of the multiple tasks to be allocated to the first preset number of agent groups as the sixth constraint condition, and taking the minimum total completion time corresponding to the multiple tasks to be allocated as the second optimization objective, to solve the tasks to be allocated to each agent group;
[0177] According to the tasks to be allocated to each agent group, allocate the multiple tasks to be allocated to each agent group.
[0178] Optionally, the apparatus further includes a fallback unit; the fallback unit is configured to:
[0179] In response to a failure in solving, allocate the multiple tasks to be allocated to each agent group according to the number of agents included in each agent group, so that the number of tasks corresponding to each agent is the same;
[0180] In response to the existence of remaining unallocated tasks to be allocated, allocate the remaining unallocated tasks to be allocated to each agent group in descending order of the ability scores corresponding to each agent group.
[0181] Optionally, the apparatus further includes a second allocation unit; the second allocation unit is configured to:
[0182] In response to the first agent completing the allocated task to be allocated, allocate the first task to be allocated allocated to the second agent to the first agent; wherein, the ability score of the second agent is lower than that of the first agent, and the first task to be allocated is any uncompleted task to be allocated among the tasks to be allocated allocated to the second agent.
[0183] Optionally, the ability score includes the accuracy rate of the agent in completing the task.
[0184] The fourth embodiment of the present application provides an electronic device, Figure 5 which is a schematic structural diagram of the electronic device provided in this embodiment.
[0185] As Figure 5 shown, the electronic device provided in this embodiment includes: a memory 501 and a processor 502;
[0186] The memory 501 is configured to store computer instructions for executing the task allocation method;
[0187] The processor 502 is configured to execute computer instructions stored in the memory 501 to perform the following operations:
[0188] Obtain a plurality of tasks to be assigned and a plurality of agents;
[0189] According to the ability scores of the agents in the plurality of agents and an accuracy threshold preset for the plurality of tasks to be assigned, determine the number of tasks assigned to each agent, so that after the plurality of tasks to be assigned are assigned to the plurality of agents according to the number of tasks, the average accuracy corresponding to the plurality of tasks to be assigned is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to each agent is minimized; wherein, the ability score is used to characterize the ability of the agent to complete tasks;
[0190] Assign the plurality of tasks to be assigned to the plurality of agents according to the number of tasks.
[0191] Optionally, the assigning the plurality of tasks to be assigned to the plurality of agents according to the task assignment quantity includes:
[0192] Assign the plurality of tasks to be assigned to the plurality of agents according to the estimated completion time of each task to be assigned in the plurality of tasks to be assigned and the number of tasks corresponding to each agent, so that the total completion time corresponding to the plurality of tasks to be assigned is minimized.
[0193] Optionally, after the step of obtaining a plurality of tasks to be assigned and a plurality of agents, the following is also executed:
[0194] According to the ability scores of the agents in the plurality of agents, divide the plurality of agents into a first preset number of agent groups, each agent group corresponding to an ability score interval, including a plurality of agents whose ability scores are within the ability score interval;
[0195] Use any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group.
[0196] Optionally, before the step of dividing the plurality of agents into a first preset number of agent groups according to the ability scores of the agents in the plurality of agents, the following is also executed:
[0197] Based on a first preset multiple, integerize the ability scores of each agent to obtain the integerized ability scores corresponding to each agent;
[0198] The dividing the plurality of agents into a first preset number of agent groups according to the ability scores of the agents in the plurality of agents includes:
[0199] According to the integerized ability scores corresponding to each agent, the multiple agents are divided into the first preset number of agent groups, and each agent group corresponds to an integerized ability score interval, including multiple agents whose integerized ability scores are within the integerized ability score interval;
[0200] Using any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group includes:
[0201] Using any integerized ability score within the integerized ability score interval corresponding to the agent group as the ability score of the agent group.
[0202] Optionally, using any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group includes:
[0203] Using the lower limit ability score of the ability score interval corresponding to the agent group as the ability score of the agent group.
[0204] Optionally, determining the number of tasks assigned to each agent according to the ability scores of each agent among the multiple agents and the accuracy threshold preset for the multiple tasks to be assigned includes:
[0205] Determining the number of tasks assigned to each agent group according to the ability scores corresponding to each agent group and the accuracy threshold preset for the multiple tasks to be assigned, so that after the multiple tasks to be assigned are assigned to the first preset number of agent groups according to the number of tasks, the average accuracy corresponding to the multiple tasks to be assigned is greater than or equal to the accuracy threshold, and the matching degree between the number of tasks corresponding to each agent group and the number of agents included in the agent group is the highest.
[0206] Optionally, assigning the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned among the multiple tasks to be assigned and the number of tasks corresponding to each agent includes:
[0207] Assigning the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned among the multiple tasks to be assigned and the number of tasks corresponding to each agent group, so that the total completion time corresponding to the multiple tasks to be assigned is minimized.
[0208] Optionally, assigning the multiple tasks to be assigned to the multiple agents includes:
[0209] Assigning the multiple tasks to be assigned to the first preset number of agent groups;
[0210] Sequentially allocate the tasks to be allocated to each agent group to the multiple agents included in the agent group.
[0211] Optionally, determining the number of tasks allocated to each agent group according to the ability scores corresponding to each agent group and the accuracy threshold preset for the multiple tasks to be allocated includes:
[0212] Taking the average accuracy corresponding to the multiple tasks to be allocated being greater than or equal to the accuracy threshold as the first constraint condition, taking the number of tasks corresponding to each agent group being less than or equal to the number of the multiple tasks to be allocated as the second constraint condition, taking the sum of the numbers of tasks corresponding to each agent group being equal to the number of the multiple tasks to be allocated as the third constraint condition, and taking the highest degree of quantity matching between the number of tasks corresponding to each agent group and the number of agents included in the agent group as the first optimization objective, and solving the number of tasks allocated to each agent group.
[0213] Optionally, allocating the multiple tasks to be allocated to the multiple agents according to the estimated completion time of each task to be allocated among the multiple tasks to be allocated and the number of tasks corresponding to each agent group includes:
[0214] Taking the number of tasks corresponding to each agent group as the fourth constraint condition, taking allocating one task to be allocated to one agent group as the fifth constraint condition, taking allocating the multiple tasks to be allocated to the first preset number of agent groups as the sixth constraint condition, and taking the minimum total completion time corresponding to the multiple tasks to be allocated as the second optimization objective, and solving the tasks to be allocated to each agent group;
[0215] Allocate the multiple tasks to be allocated to each agent group according to the tasks to be allocated to each agent group.
[0216] Optionally, also execute:
[0217] In response to the failure of the solution, allocate the multiple tasks to be allocated to each agent group according to the number of agents included in each agent group, so that the number of tasks corresponding to each agent is the same;
[0218] In response to the existence of remaining unallocated tasks to be allocated, sequentially allocate the remaining unallocated tasks to be allocated to each agent group according to the order of the ability scores corresponding to each agent group from high to low.
[0219] Optionally, the multiple tasks to be allocated belong to the same task type;
[0220] The obtaining of the multiple tasks to be allocated and the multiple agents includes:
[0221] Obtain the multiple tasks to be assigned, and based on the task types of the multiple tasks to be assigned, retrieve multiple agents corresponding to the task types from the agent set; wherein, the agent set includes multiple agents, and each agent corresponds to at least one task type.
[0222] Optionally, each agent in the agent set is marked with a task type code corresponding to the task type.
[0223] The obtaining the multiple tasks to be assigned, and based on the task types of the multiple tasks to be assigned, obtaining multiple agents corresponding to the task types from the agent set includes:
[0224] Obtain the multiple tasks to be assigned and the task type codes of the task types corresponding to the multiple tasks to be assigned.
[0225] Based on the task type codes, retrieve multiple agents marked with the task type codes from the agent set.
[0226] Optionally, after the step of obtaining the multiple tasks to be assigned and the multiple agents, the following is also executed:
[0227] Obtain the agent portraits corresponding to each agent in the multiple agents, where the agent portrait includes at least the ability score of the agent.
[0228] Optionally, the following is also executed:
[0229] Calculate the ability score of the agent according to the ability of the agent to solve tasks in the historical stage or the ability of the agent to solve tasks in the test set.
[0230] Based on the ability score of the agent, construct the agent portrait corresponding to the agent.
[0231] Optionally, before the step of allocating the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned and the number of tasks corresponding to each agent, the following is also executed:
[0232] Obtain the task portraits corresponding to each task to be assigned among the multiple tasks to be assigned, where the task portrait includes at least the estimated completion time of the task to be assigned.
[0233] Optionally, the following is also executed:
[0234] Calculate the estimated completion time of the task to be assigned according to the task status of the task to be assigned.
[0235] Based on the estimated completion time of the task to be assigned, construct the task portrait corresponding to the task to be assigned.
[0236] Optionally, the following is also performed:
[0237] In response to the first agent completing the assigned task to be assigned, assign the first task to be assigned that was assigned to the second agent to the first agent; wherein, the ability score of the second agent is lower than that of the first agent, and the first task to be assigned is any uncompleted task to be assigned among the tasks to be assigned that were assigned to the second agent.
[0238] Optionally, the ability score includes the accuracy rate of the agent in completing tasks.
[0239] The fifth embodiment of the present application provides a computer-readable storage medium, which includes computer instructions that are used to implement the methods described in the embodiments of the present application when executed by a processor.
[0240] It should be noted that relational terms such as "first" and "second" in this article are only used to distinguish one entity or operation from another entity or operation, and do not require or imply any actual relationship or order between these entities or operations. In addition, words such as "including", "having", "containing", and "comprising" have the same meaning, and, at the end of any one or more items after any of the above words, it is open-ended. None of the above nouns indicate that the one or more items have been enumerated exhaustively, or are limited to these enumerated one or more items.
[0241] When used in this article, unless otherwise clearly stated, the term "or" includes all possible combinations, except those that are not feasible. For example, if it is expressed that a database may include A or B, then unless otherwise specifically stipulated or not feasible, it may include database A, or B, or A and B. As a second example, if it is expressed that a certain database may include A, B, or C, then unless otherwise specifically stipulated or not feasible, the database may include database A, or B, or C, or A and B, or A and C, or B and C, or A and B and C.
[0242] It is worth noting that the above embodiments can be implemented by hardware or software (program code), or a combination of hardware and software. If implemented by software, it can be stored in the above computer-readable medium. When the software is executed by a processor, it can execute the methods disclosed above. The computing units and other functional units described in the present disclosure can be implemented by hardware or software, or a combination of hardware and software. Those of ordinary skill in the art will also understand that the above-mentioned multiple modules / units can be combined into one module / unit, and each of the above modules / units can be further divided into multiple sub-modules / sub-units.
[0243] In the foregoing detailed description, embodiments have been described with reference to numerous specific details that may vary depending on the implementation. Certain adaptations and modifications may be made to the described embodiments. For those skilled in the art, some other embodiments may be readily obtained from the specific implementations disclosed in this application. This specification and examples are for illustrative purposes only, and the true scope and nature of the present application are defined by the claims. The order of steps shown in the drawings is also for illustrative purposes only and does not imply any limitation to any particular steps or order. Thus, those skilled in the art will realize that these steps may be performed in a different order when implementing the same method.
[0244] Exemplary embodiments are disclosed in the drawings and detailed description of this application. However, many variations and modifications can be made to these embodiments. Accordingly, although specific terms are used, these terms are merely general and descriptive and not for purposes of limitation.
Claims
1. A task allocation method, characterized in that, The method includes: Obtaining a plurality of tasks to be assigned and a plurality of agents; Determining the number of tasks assigned to each agent according to the ability scores of the agents in the plurality of agents and an accuracy threshold preset for the plurality of tasks to be assigned, so that after the plurality of tasks to be assigned are assigned to the plurality of agents according to the number of tasks, the average accuracy corresponding to the plurality of tasks to be assigned is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to each agent is minimized; wherein, the ability score is used to characterize the ability of the agent to complete the task; Assigning the plurality of tasks to be assigned to the plurality of agents according to the number of tasks.
2. The method according to claim 1, wherein The assigning the plurality of tasks to be assigned to the plurality of agents according to the task assignment quantity includes: Assigning the plurality of tasks to be assigned to the plurality of agents according to the estimated completion time of each task to be assigned in the plurality of tasks to be assigned and the number of tasks corresponding to each agent, so that the total completion time corresponding to the plurality of tasks to be assigned is minimized.
3. The method according to claim 2, wherein After the step of obtaining a plurality of tasks to be assigned and a plurality of agents, the method further includes: Dividing the plurality of agents into a first preset number of agent groups according to the ability scores of the agents in the plurality of agents, each agent group corresponding to an ability score interval, including a plurality of agents whose ability scores are within the ability score interval; Taking any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group.
4. The method according to claim 3, characterized in that, Before the step of dividing the plurality of agents into a first preset number of agent groups according to the ability scores of the agents in the plurality of agents, the method further includes: Integerizing the ability scores of each agent based on a first preset multiple to obtain the integerized ability scores corresponding to each agent; The dividing the plurality of agents into a first preset number of agent groups according to the ability scores of the agents in the plurality of agents includes: Dividing the plurality of agents into the first preset number of agent groups according to the integerized ability scores corresponding to each agent, each agent group corresponding to an integerized ability score interval, including a plurality of agents whose integerized ability scores are within the integerized ability score interval; The taking any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group includes: Taking any integerized ability score within the integerized ability score interval corresponding to the agent group as the ability score of the agent group.
5. The method according to claim 3, characterized in that The taking any ability score within the ability score interval corresponding to the agent group as the ability score of the agent group includes: Taking the lower limit ability score of the ability score interval corresponding to the agent group as the ability score of the agent group.
6. The method according to claim 3, characterized in that, The determining the number of tasks assigned to each agent according to the ability scores of the agents in the plurality of agents and an accuracy threshold preset for the plurality of tasks to be assigned includes: Determine the number of tasks assigned to each agent group according to the ability scores corresponding to each agent group and the accuracy threshold preset for the multiple tasks to be assigned, so that after the multiple tasks to be assigned are assigned to the first preset number of agent groups according to the number of tasks, the average accuracy corresponding to the multiple tasks to be assigned is greater than or equal to the accuracy threshold, and the degree of matching between the number of tasks corresponding to each agent group and the number of agents included in the agent group is the highest.
7. The method according to claim 6, characterized in that, The step of assigning the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned among the multiple tasks to be assigned and the number of tasks corresponding to each agent includes: Assign the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned among the multiple tasks to be assigned and the number of tasks corresponding to each agent group, so that the total completion time corresponding to the multiple tasks to be assigned is minimized.
8. The method according to claim 7, wherein The step of assigning the multiple tasks to be assigned to the multiple agents includes: Assign the multiple tasks to be assigned to the first preset number of agent groups; Sequentially assign the tasks to be assigned to each agent group to the multiple agents included in the agent group.
9. The method according to claim 6, characterized in that, The step of determining the number of tasks assigned to each agent group according to the ability scores corresponding to each agent group and the accuracy threshold preset for the multiple tasks to be assigned includes: Taking that the average accuracy corresponding to the multiple tasks to be assigned is greater than or equal to the accuracy threshold as the first constraint condition, taking that the number of tasks corresponding to each agent group is less than or equal to the number of the multiple tasks to be assigned as the second constraint condition, taking that the sum of the number of tasks corresponding to each agent group is equal to the number of the multiple tasks to be assigned as the third constraint condition, and taking that the degree of matching between the number of tasks corresponding to each agent group and the number of agents included in the agent group is the highest as the first optimization objective, and solving the number of tasks assigned to each agent group.
10. The method according to claim 7, characterized in that, The step of assigning the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned among the multiple tasks to be assigned and the number of tasks corresponding to each agent group includes: Taking the number of tasks corresponding to each agent group as the fourth constraint condition, taking that one task to be assigned is assigned to one agent group as the fifth constraint condition, taking that the multiple tasks to be assigned are assigned to the first preset number of agent groups as the sixth constraint condition, and taking that the total completion time corresponding to the multiple tasks to be assigned is minimized as the second optimization objective, and solving the tasks to be assigned to each agent group; Assign the multiple tasks to be assigned to each agent group according to the tasks to be assigned to each agent group.
11. The method according to any one of claims 9 or 10, characterized in that, The method further includes: In response to the failure of the solution, assign the multiple tasks to be assigned to each agent group according to the number of agents included in each agent group, so that the number of tasks corresponding to each agent is the same; In response to the existence of the remaining unassigned tasks to be assigned, the remaining unassigned tasks to be assigned are sequentially assigned to each agent group in the order of the corresponding ability scores of each agent group from high to low.
12. The method according to claim 1, wherein The multiple tasks to be assigned belong to the same task type; The obtaining of the multiple tasks to be assigned and the multiple agents includes: Obtaining the multiple tasks to be assigned, and retrieving multiple agents corresponding to the task type from the agent set according to the task type of the multiple tasks to be assigned; wherein, the agent set includes multiple agents, and each agent corresponds to at least one task type.
13. The method according to claim 12, characterized in that, Each agent in the agent set is marked with a task type code corresponding to the corresponding task type; The obtaining of the multiple tasks to be assigned and retrieving multiple agents corresponding to the task type from the agent set according to the task type of the multiple tasks to be assigned includes: Obtaining the multiple tasks to be assigned and the task type codes of the task types corresponding to the multiple tasks to be assigned; According to the task type code, retrieving multiple agents marked with the task type code from the agent set.
14. The method according to claim 1, wherein After the step of obtaining the multiple tasks to be assigned and the multiple agents, the method further includes: Obtaining the agent profile corresponding to each agent in the multiple agents, where the agent profile includes at least the ability score of the agent.
15. The method according to claim 14, wherein The method further includes: Calculating the ability score of the agent according to the ability of the agent to solve tasks in the historical stage or the ability of the agent to solve tasks in the test set; Constructing the agent profile corresponding to the agent based on the ability score of the agent.
16. The method according to claim 2, characterized in that, Before the step of assigning the multiple tasks to be assigned to the multiple agents according to the estimated completion time of each task to be assigned in the multiple tasks to be assigned and the number of tasks corresponding to each agent, the method further includes: Obtaining the task profile corresponding to each task to be assigned in the multiple tasks to be assigned, where the task profile includes at least the estimated completion time of the task to be assigned.
17. The method according to claim 16, characterized in that The method further includes: Calculating the estimated completion time of the task to be assigned according to the task state of the task to be assigned; Constructing the task profile corresponding to the task to be assigned based on the estimated completion time of the task to be assigned.
18. The method according to claim 1, characterized in that, The method further includes: In response to the first agent completing the assigned task to be assigned, assigning the first task to be assigned assigned to the second agent to the first agent; wherein, the ability score of the second agent is lower than that of the first agent, and the first task to be assigned is any uncompleted task to be assigned among the tasks to be assigned assigned to the second agent.
19. The method according to claim 1, wherein The ability score includes the accuracy rate of the agent to complete tasks.
20. A task allocation system, characterized in that, The system includes: an agent management module, a task management module, and a task assignment module; The agent management module is used to maintain the agent set and create the agent profile corresponding to each agent in the agent set, where the agent profile includes at least the ability score of the agent, and the ability score is used to characterize the ability of the agent to complete tasks; The task management module is used to receive tasks to be assigned and create a task profile corresponding to the tasks to be assigned, where the task profile includes at least the estimated completion time of the tasks to be assigned; it is also used to monitor whether the received tasks to be assigned reach a preset batch quantity at preset time intervals. When the received tasks to be assigned reach the batch quantity or the time since the previous task release moment is greater than or equal to a preset time threshold, the received tasks to be assigned are sent to the task allocation module. The task allocation module is used to obtain a plurality of tasks to be assigned and a plurality of agents; determine the number of tasks assigned to each agent according to the ability scores of the agents in the plurality of agents and a preset accuracy threshold for the plurality of tasks to be assigned, so that after the plurality of tasks to be assigned are assigned to the plurality of agents according to the number of tasks, the average accuracy corresponding to the plurality of tasks to be assigned is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to each agent is minimized; and allocate the plurality of tasks to be assigned to the plurality of agents according to the number of tasks.
21. A task allocation device, characterized in that, The device includes: an acquisition unit, a determination unit, and an allocation unit. The acquisition unit is used to obtain a plurality of tasks to be assigned and a plurality of agents. The determination unit is used to determine the number of tasks assigned to each agent according to the ability scores of the agents in the plurality of agents and a preset accuracy threshold for the plurality of tasks to be assigned, so that after the plurality of tasks to be assigned are assigned to the plurality of agents according to the number of tasks, the average accuracy corresponding to the plurality of tasks to be assigned is greater than or equal to the accuracy threshold, and the difference between the numbers of tasks corresponding to each agent is minimized; where the ability score is used to represent the ability of the agent to complete tasks. The allocation unit is used to allocate the plurality of tasks to be assigned to the plurality of agents according to the number of tasks.
22. An electronic device, characterized in that, It includes: a memory and a processor; The memory is used to store one or more computer instructions. The processor is used to execute the one or more computer instructions to implement the method according to any one of claims 1-19.
23. A computer-readable storage medium having one or more computer instructions stored thereon, characterized in that, When the instruction is executed by the processor, it executes the method according to any one of claims 1-19.
Citation Information
Cited By
Cooperative method and system for enhancing interoperability of AI agents
CN120780488A