Time allocation method and apparatus, electronic device, and storage medium

CN119313306BActive Publication Date: 2026-10-27YUANBAO TECH (BEIJING) TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411382220.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2026-10-27
Estimated Expiration
2044-09-30

AI Technical Summary

Benefits of technology

[0015]本发明提供的时间分配方法、装置、电子设备和存储介质,获取用户集合和时间集合,并获取用户集合中各目标用户在时间集合中各目标时间段执行目标任务的成功率,基于用户集合、时间集合和各目标用户在各目标时间段执行目标任务的成功率,构建二分图,通过KM算法基于二分图对各目标用户分配对应的最优时间段,所有目标用户在各自对应的最优时间段执行目标任务的成功率之和最大,从而实现了对每个用户的最优时间段的自动分配,提高了时间分配的准确性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119313306B_ABST
    Figure CN119313306B_ABST
Patent Text Reader

Abstract

The application provides a time allocation method and device, electronic equipment and storage medium, and relates to the technical field of computers, wherein the method comprises: acquiring a user set and a time set, the number of users in the user set being the same as the number of target time periods in the time set; acquiring the success rate of each target user in the user set in performing a target task in each target time period in the time set; constructing a bipartite graph based on the user set, the time set and the success rate of each target user in performing the target task in each target time period; and allocating the corresponding optimal time period to each target user based on the bipartite graph by using the KM algorithm, so that the sum of the success rates of all target users in performing the target task in their corresponding optimal time periods is maximum. The application realizes automatic allocation of the optimal time period of each user and improves the accuracy of time allocation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and more particularly to a time allocation method, apparatus, electronic device, and storage medium. Background Technology

[0002] In many scenarios, human resources and tools are limited, and the number of tasks that can be processed per hour is also capped. Different tasks will have different effects when processed at different times. Therefore, to ensure that tasks are processed most effectively within their respective time periods, it is necessary to allocate optimal time slots to different users. Thus, a time allocation method is urgently needed to ensure that each user performs tasks during their optimal time period, thereby maximizing overall efficiency. Summary of the Invention

[0003] To address the problems existing in the prior art, the present invention provides a time allocation method, apparatus, electronic device, and storage medium.

[0004] This invention provides a time allocation method, comprising the following steps.

[0005] Obtain a user set and a time set, wherein the number of users in the user set is the same as the number of target time periods in the time set; Obtain the success rate of each target user in the user set in each target time period in the time set when performing the target task; Based on the user set, the time set, and the success rate of each target user executing the target task in each target time period, a bipartite graph is constructed. The KM algorithm is used to assign an optimal time period to each target user based on the bipartite graph, so that the sum of the success rates of all target users in performing the target task in their respective optimal time periods is maximized.

[0006] According to a time allocation method provided by the present invention, the step of constructing a bipartite graph based on the user set, the time set, and the success rate of each target user performing a target task in each target time period includes: For each target user in the user set, the target user is determined as the first vertex; For each target time period in the time set, the target time period is determined as the second vertex; The success rate of the target user performing the target task during the target time period is determined as the weight of the edge connecting the first vertex and the second vertex; The bipartite graph is constructed based on each of the first vertices, each of the second vertices, and each of the weights.

[0007] According to a time allocation method provided by the present invention, obtaining the success rate of each target user in the user set performing a target task in each target time period in the time set includes: For each target user in the user set, if the target user is found in the database, the success rate of the target user in performing the target task in each historical time period is retrieved from the database; the database stores the success rate of each user in performing the target task in each historical time period. The historical time periods of the target user found in the database are matched with the target time period to obtain the matching results; If the matching result indicates that there is a historical time period that successfully matches the target time period, the success rate corresponding to the successfully matched historical time period is determined as the success rate of the target user performing the target task in the target time period.

[0008] According to a time allocation method provided by the present invention, the method further includes: If the target user is not found in the database, or if the matching result indicates that there is no historical time period that successfully matches the target time period, the characteristic data of the target user is obtained. The feature data of the target user and each of the target time periods are input into the prediction model to obtain the success rate of the target user in performing the target task in each of the target time periods, as output by the prediction model.

[0009] According to a time allocation method provided by the present invention, the prediction model is trained based on the following method: Obtain sample feature data from multiple sample users and multiple sample time periods; Input the sample feature data of each sample user and each sample time period into the initial prediction model to obtain the prediction success rate of each sample user performing the sample task in each sample time period, as output by the initial prediction model. Based on the prediction success rate and the success rate labels of each sample user performing the sample task in each sample time period, the model parameters of the initial prediction model are adjusted to obtain the prediction model.

[0010] According to a time allocation method provided by the present invention, obtaining the time set includes: Get the first set of data; If the number of time periods included in the first time set is less than the number of users in the user set, the ratio of the number of users to the number of time periods included in the first time set is rounded to obtain the first number. Based on the first quantity, the time periods included in the first time set are copied to obtain the second time set; If the number of time periods included in the second time set is less than the number of users in the user set, the second quantity is determined based on the difference between the number of users in the user set and the number of time periods included in the second time set. Select the second number of time periods from all time periods included in the first time set; The time set is determined based on the second time set and the second number of time periods.

[0011] The present invention also provides a time allocation device, comprising: The first acquisition unit is used to acquire a user set and a time set, wherein the number of users in the user set is the same as the number of target time periods in the time set; The second acquisition unit is used to acquire the success rate of each target user in the user set in executing the target task in each target time period in the time set; The construction unit is used to construct a bipartite graph based on the user set, the time set, and the success rate of each target user in performing the target task in each target time period; The allocation unit is used to allocate corresponding optimal time periods to each of the target users based on the bipartite graph using the KM algorithm, so that the sum of the success rates of all the target users in performing the target task in their respective optimal time periods is maximized.

[0012] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement any of the time allocation methods described above.

[0013] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the time allocation method as described above.

[0014] The present invention also provides a computer program product, including a computer program that, when executed by a processor, implements any of the time allocation methods described above.

[0015] The present invention provides a time allocation method, apparatus, electronic device, and storage medium that acquires a user set and a time set, and obtains the success rate of each target user in the user set performing a target task in each target time period in the time set. Based on the user set, the time set, and the success rate of each target user performing the target task in each target time period, a bipartite graph is constructed. The KM algorithm is used to allocate the corresponding optimal time period to each target user based on the bipartite graph. The sum of the success rates of all target users performing the target task in their respective optimal time periods is maximized, thereby realizing the automatic allocation of the optimal time period for each user and improving the accuracy of time allocation. Attached Figure Description

[0016] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0017] Figure 1 This is one of the flowcharts illustrating the time allocation method provided in this embodiment of the invention.

[0018] Figure 2 This is the second flowchart of the time allocation method provided in the embodiments of the present invention.

[0019] Figure 3 This is the third flowchart of the time allocation method provided in the embodiments of the present invention.

[0020] Figure 4 This is a schematic diagram of the training process of the prediction model provided in the embodiment of the present invention.

[0021] Figure 5 This is a schematic diagram of the time allocation device provided in an embodiment of the present invention.

[0022] Figure 6 This is a schematic diagram of the physical structure of the electronic device provided in an embodiment of the present invention. Detailed Implementation

[0023] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0024] In many scenarios, human resources and tools are limited, and the number of tasks that can be processed per hour is also capped. Different tasks will have different effects when processed at different times. Therefore, to ensure that tasks are processed most effectively within their respective time periods, it is necessary to allocate optimal time slots to different users. For example, in the marketing scenario of the insurance industry, the number of users who can interact per hour is fixed, but users' activity times vary, and the success rate of an interaction varies at different times. Allocating an optimal interaction time slot to each user maximizes the overall success rate of interactions, thereby improving the overall efficiency of the insurance industry. Another example is sending text messages in resource-constrained scenarios. The number of text messages sent per hour is fixed, so it is necessary to allocate an optimal text message sending time slot to users to maximize the overall success rate of interactions, achieving optimized time slot allocation in resource-constrained scenarios.

[0025] The following is combined Figures 1-4 The present invention describes a time allocation method. The subject executing this time allocation method can be an electronic device such as a terminal, computer, or server, or a time allocation device installed in that electronic device. This time allocation device can be implemented through software, hardware, or a combination of both.

[0026] Figure 1 This is one of the flowcharts illustrating the time allocation method provided in this embodiment of the invention, such as... Figure 1 As shown, this time allocation method includes the following steps: Step 101: Obtain a user set and a time set, wherein the number of users in the user set is the same as the number of target time periods in the time set.

[0027] For example, in the target scenario of performing the target task, all target users involved in the target scenario are obtained, and their identifiers are combined into a user set. The identifiers of all target users in the target scenario can be the target user's name, target user ID, or other information that can uniquely identify the target user. Then, the various target time periods suitable for performing the target task in the target scenario are obtained, and a time set is formed based on these target time periods. It is necessary to ensure that the number of users in the user set is the same as the number of target time periods in the time set, thus forming two sets of equal size. Taking a marketing scenario in the insurance industry as an example, salespeople promote insurance to users, and users decide whether to purchase insurance based on the salespeople's promotion. Purchasing insurance is taken as the target task. The user set is determined based on all users the salespeople need to promote to that day, and the time set is determined based on the various time periods suitable for promoting insurance that day.

[0028] Step 102: Obtain the success rate of each target user in the user set in each target time period in the time set for executing the target task.

[0029] For example, when a user set and a time set are obtained, the success rate of each target user in the user set performing the target task during each target time period in the time set can be retrieved from the database. For instance, taking a marketing scenario in the insurance industry as an example, the success rate of each target user in the user set purchasing insurance during each target time period in the time set can be retrieved from the database.

[0030] Step 103: Construct a bipartite graph based on the user set, the time set, and the success rate of each target user in performing the target task in each target time period.

[0031] For example, when the user set, time set, and success rate of each target user in performing the target task in each target time period are obtained, each target user in the user set and each target time period in the time set are used as vertices of a bipartite graph, and the success rate of each target user in performing the target task in each target time period is used as the weight of each edge, thereby constructing a bipartite graph based on the weights of each vertex and each edge.

[0032] Step 104: Using the KM algorithm, assign corresponding optimal time periods to each target user based on the bipartite graph, so that the sum of the success rates of all target users executing the target task in their respective optimal time periods is maximized.

[0033] For example, a bipartite graph includes a left vertex set and a right vertex set. The left vertex set represents all target users in the user set, denoted as U={u1,u2,...,un}, and the right vertex set represents all target time periods in the time set, denoted as T={t1,t2,...,tm}. If a possible execution relationship exists between a target user ui and a target time period tj (i.e., target user ui executes the target task in target time period tj), then an edge is formed connecting these two vertices. The weight wij of each edge (ui,tj) is defined as the success rate of target user ui executing the target task in target time period tj.

[0034] Reinitialize the KM algorithm, assigning a vertex label to each vertex of the bipartite graph. For the target user ui in the left vertex set, its label l(ui) can be initialized to the edge with the highest weight connected to it; for the target time period tj in the right vertex set, its label l(tj) is initialized to 0. Based on the current label values, construct an equality subgraph Gl, which contains only edges (ui, tj) satisfying l(ui) + l(tj) = wij. Now execute the KM algorithm to find augmenting paths: in the current equality subgraph Gl, use a method similar to the Hungarian algorithm to find augmenting paths starting from each unmatched vertex in the left vertex set. If an augmenting path is found, update the matching and label values. Adjust the labels: if no augmenting path is found, the label values ​​need to be adjusted to expand the equality subgraph. Specifically, select an unmatched left vertex u0, calculate the slack from it to all unmatched right vertices, and select the right vertex t0 with the smallest slack. Increase the vertex labels of u0 and all left vertices connected to t0, while decreasing the vertex labels of all right vertices connected to t0, to ensure that at least one new edge is added to the equality subgraph. Repeat the above process until all left vertices are matched or no more matches can be added. The final output is the optimal time period allocated to each target user, maximizing the sum of the success rates of all target users performing the target task within their respective optimal time periods.

[0035] Furthermore, once the optimal time period for each target user is obtained, the optimal time period for each target user is displayed so that relevant personnel can know the optimal time period for each target user and then interact with the target user during the optimal time period.

[0036] The time allocation method provided by this invention obtains a user set and a time set, and obtains the success rate of each target user in the user set in executing the target task in each target time period in the time set. Based on the user set, the time set, and the success rate of each target user in executing the target task in each target time period, a bipartite graph is constructed. The KM algorithm is used to allocate the corresponding optimal time period to each target user based on the bipartite graph. The sum of the success rates of all target users in executing the target task in their respective optimal time periods is maximized, thereby realizing the automatic allocation of the optimal time period for each user and improving the accuracy of time allocation.

[0037] In one embodiment, step 103 above constructs a bipartite graph based on the user set, the time set, and the success rate of each target user performing the target task in each target time period. This can be implemented in the following way: For each target user in the user set, the target user is determined as a first vertex. For each target time period in the time set, the target time period is determined as a second vertex. The success rate of the target user performing the target task in the target time period is determined as the weight of the edge connecting the first vertex and the second vertex. Based on each first vertex, each second vertex, and each weight, the bipartite graph is constructed.

[0038] For example, the user set includes all target users who need to be assigned target time periods to perform target tasks. Each target user is considered an independent vertex in a bipartite graph, called the first vertex. Assume the user set is U = {u1, u2, ..., un}, where n is the total number of target users. The time set includes all available target time periods. Each target time period is also considered an independent vertex in the bipartite graph, called the second vertex. Assume the time set is T = {t1, t2, ..., tm}, where m is the total number of target time periods. For each target user ui in the user set and each target time period tj in the time set, there exists a corresponding success rate pij, representing the success rate of target user ui performing the target task in target time period tj. This success rate becomes the weight of the edge connecting the user vertex (first vertex) and the time vertex (second vertex). Next, a bipartite graph is constructed based on these elements: On the left side of the bipartite graph, n vertices are created, each representing a target user ui (i.e., the first vertex); on the right side, m vertices are created, each representing a target time period tj (i.e., the second vertex). For each target user ui in the user set U and each target time period tj in the time set T, if the target user ui can perform the target task within the target time period tj, then an edge is formed in the bipartite graph connecting the target user ui and the target time period tj. The weight wij of this edge is defined as the success rate pij of the target user ui performing the target task within the target time period tj. Based on these definitions, all vertices and edges of the bipartite graph, as well as the weight of each edge, are obtained, thus completing the bipartite graph.

[0039] In this embodiment, a bipartite graph is automatically constructed based on the user set, the time set, and the success rate of each target user in performing the target task in each target time period. This facilitates the subsequent allocation of the corresponding optimal time period to each target user based on the bipartite graph, thereby improving the efficiency of time allocation.

[0040] In one embodiment, Figure 2 This is a second flowchart illustrating the time allocation method provided in this embodiment of the invention, as shown below. Figure 2 As shown, step 102 above obtains the success rate of each target user in the user set performing the target task in each target time period of the time set, which can be achieved through the following steps: Step 1021: For each target user in the user set, if the target user is found in the database, find the success rate of the target user in executing the target task in each historical time period in the database; the database stores the success rate of each user in executing the target task in each historical time period.

[0041] For example, in the database, a search is performed based on the identifier of each target user in the user set. If the target user exists in the database, the next step is continued; otherwise, it is recorded that the target user was not found. For each found target user, the database is queried for records of the target user's success rate in performing the target task over different historical time periods. These records can be stored in a table, containing the user identifier, historical time period, and corresponding success rate. During the query, Structured Query Language (SQL) statements or other database query languages ​​can be used, with the target user's identifier as the filter condition, to retrieve all relevant success rate records for that target user.

[0042] Step 1022: Match the historical time periods of the target user found in the database with the target time period to obtain the matching results.

[0043] For example, after obtaining all historical time periods and success rate records of the target user, these historical time periods are matched with the target time period to obtain the matching results.

[0044] Step 1023: If the matching result indicates that there is a historical time period that successfully matches the target time period, the success rate corresponding to the successfully matched historical time period is determined as the success rate of the target user performing the target task in the target time period.

[0045] For example, if there is a historical time period that successfully matches the target time period in the matching results, the success rate corresponding to the successfully matched historical time period is determined as the success rate of the target user performing the target task in that target time period.

[0046] In this embodiment, for each target user in the user set, the success rate of the target user in performing the target task in each historical time period is searched in the database. If the matching result indicates that there is a historical time period that successfully matches the target time period, the success rate corresponding to the successfully matched historical time period is determined as the success rate of the target user in performing the target task in the target time period, so as to improve the efficiency of success rate acquisition and further improve the efficiency of time allocation.

[0047] In one embodiment, Figure 3This is the third flowchart illustrating the time allocation method provided in this embodiment of the invention, as shown below. Figure 3 As shown, step 102 above obtains the success rate of each target user in the user set performing the target task in each target time period of the time set. This can be further achieved through the following steps: Step 1024: If the target user is not found in the database, or if the matching result indicates that there is no historical time period that successfully matches the target time period, obtain the feature data of the target user.

[0048] For example, if the target user is not found in the database, or if there is no historical time period that successfully matches the target time period in the matching results, it means that the success rate of the target user performing the target task in the historical time period that matches the target time period cannot be obtained from the database. In this case, the characteristic data of the target user is obtained. The characteristic data of the target user includes the target user's age, occupation, and working hours.

[0049] Step 1025: Input the feature data of the target user and each of the target time periods into the prediction model to obtain the success rate of the target user performing the target task in each of the target time periods output by the prediction model.

[0050] For example, when the feature data of the target user is obtained, the feature data of the target user and each target time period in the time set are input into the pre-trained prediction model. Through the analysis of the feature data of the target user and each target time period by the prediction model, the success rate of the target user in performing the target task in each target time period is finally output.

[0051] In this embodiment, when no target user is found in the database, or when the matching result indicates that there is no historical time period that successfully matches the target time period, the success rate of the target user in performing the target task in each target time period is obtained based on the prediction model. This ensures the successful acquisition of the success rate of the target user in performing the target task in each target time period, thereby laying the foundation for the next step of time allocation.

[0052] In one embodiment, Figure 4 This is a schematic diagram of the training process of the prediction model provided in an embodiment of the present invention, as shown below. Figure 4 As shown, the prediction model is trained in the following manner: Step 401: Obtain sample feature data of multiple sample users and multiple sample time periods.

[0053] For example, it is possible to obtain sample feature data of multiple sample users performing sample tasks in a sample scenario and multiple sample time periods in which sample tasks can be performed. The sample feature data of the sample users includes the sample user's age, sample user's occupation, and sample user's working hours, etc.

[0054] Step 402: Input the sample feature data of each sample user and the sample time period into the initial prediction model to obtain the prediction success rate of each sample user performing the sample task in each sample time period, as output by the initial prediction model.

[0055] For example, the sample feature data of each sample user and each sample time period are input into the initial prediction model. The initial prediction model analyzes the sample feature data of each sample user and each sample time period, and finally outputs the prediction success rate of each sample user in performing the sample task in each sample time period.

[0056] It should be noted that the initial prediction model can be a deep neural network (DNN) or a convolutional neural network (CNN), etc., and the embodiments of the present invention do not limit the initial prediction model.

[0057] Step 403: Based on the prediction success rate and the success rate label of each sample user performing the sample task in each sample time period, adjust the model parameters of the initial prediction model to obtain the prediction model.

[0058] For example, when the prediction success rate of each sample user performing the sample task in each sample time period is obtained, a loss function is constructed based on the prediction success rate and the success rate label of each sample user performing the sample task in each sample time period. The model parameters of the initial prediction model are adjusted based on the loss function until the convergence condition is reached, and finally the prediction model is obtained.

[0059] In this embodiment, the initial prediction model is trained based on the prediction success rates and the success rate labels of each sample user in each sample time period. The trained prediction model is then obtained, which is convenient to obtain the success rate of the target user in the target time period when the database does not find the success rate of the target user in the target time period.

[0060] In one embodiment, obtaining the time set in step 101 above can be achieved in the following way: Obtain a first time set; if the number of time periods included in the first time set is less than the number of users in the user set, round the ratio of the number of users to the number of time periods included in the first time set to obtain a first quantity; copy the time periods included in the first time set based on the first quantity to obtain a second time set; if the number of time periods included in the second time set is less than the number of users in the user set, determine a second quantity based on the difference between the number of users in the user set and the number of time periods included in the second time set; select the second quantity of time periods from all time periods included in the first time set; determine the time set based on the second time set and the second quantity of time periods.

[0061] For example, suppose there are M target users, then the size of the user set is M. Assume the first time set includes six time periods: 9:00-10:00, 10:00-11:00, 11:00-12:00, 12:00-13:00, 13:00-14:00, and 14:00-15:00. Assume M=100. Then, the number of time periods in the first time set is less than the number of users in the user set. Divide M by 6 and round down to get the first number N. Taking M=100 as an example, N=16. Copy the six time periods in the first time set N times to obtain the second time set, which includes 6 time periods. If N is less than the number of time periods in the second time set than the number of users in the user set, it means that the ratio M divided by 6 is not an integer. In this case, M and 6 are... The difference of N is determined as the second quantity C, and C time periods are randomly selected from the six time periods included in the first time set to supplement the second time set, resulting in the final time set. The number of target time periods in the final time set is the same as the number of users in the user set.

[0062] In this embodiment, if the number of time periods included in the first time set is less than the number of users in the user set, the time periods included in the first time set are copied so that the number of target time periods in the final time set is the same as the number of users in the user set. This allows the bipartite graph subsequently constructed based on the user set and the time set to include information on uniform speed constraints, thereby achieving optimal time allocation under uniform speed constraints.

[0063] In one embodiment, the number of target tasks is the same for each of the target time periods.

[0064] For example, if the number of target tasks executed in each time period of the time set is the same, it belongs to a uniform speed constraint scenario where the number of tasks is the same in each time period.

[0065] It should be noted that the number of target tasks in each target time period can also be different, and this invention does not limit this.

[0066] In this embodiment, the number of target tasks is limited to the same in each target time period, so that the time allocation method can achieve optimized allocation of each time period under the uniform speed constraint scenario.

[0067] The time allocation device provided by the present invention is described below. The time allocation device described below can be referred to in correspondence with the time allocation method described above.

[0068] Figure 5 This is a schematic diagram of the time allocation device provided in an embodiment of the present invention, as shown below. Figure 5 As shown, the time allocation device 500 includes a first acquisition unit 501, a second acquisition unit 502, a construction unit 503, and an allocation unit 504; wherein: The first acquisition unit 501 is used to acquire a user set and a time set, wherein the number of users in the user set is the same as the number of target time periods in the time set. The second acquisition unit 502 is used to acquire the success rate of each target user in the user set in executing the target task in each target time period in the time set; Construction unit 503 is used to construct a bipartite graph based on the user set, the time set, and the success rate of each target user performing the target task in each target time period; The allocation unit 504 is used to allocate corresponding optimal time periods to each of the target users based on the bipartite graph using the KM algorithm, so that the sum of the success rates of all the target users in performing the target task in their respective optimal time periods is maximized.

[0069] The time allocation device provided by this invention acquires a user set and a time set, and obtains the success rate of each target user in the user set in executing a target task in each target time period in the time set. Based on the user set, the time set, and the success rate of each target user in executing the target task in each target time period, a bipartite graph is constructed. The KM algorithm is used to allocate the corresponding optimal time period to each target user based on the bipartite graph. The sum of the success rates of all target users in executing the target task in their respective optimal time periods is maximized, thereby realizing the automatic allocation of the optimal time period for each user and improving the accuracy of time allocation.

[0070] Based on any of the above embodiments, the construction unit 503 is specifically used for: For each target user in the user set, the target user is determined as the first vertex; For each target time period in the time set, the target time period is determined as the second vertex; The success rate of the target user performing the target task during the target time period is determined as the weight of the edge connecting the first vertex and the second vertex; The bipartite graph is constructed based on each of the first vertices, each of the second vertices, and each of the weights.

[0071] Based on any of the above embodiments, the second acquisition unit 502 is specifically used for: For each target user in the user set, if the target user is found in the database, the success rate of the target user in performing the target task in each historical time period is retrieved from the database; the database stores the success rate of each user in performing the target task in each historical time period. The historical time periods of the target user found in the database are matched with the target time period to obtain the matching results; If the matching result indicates that there is a historical time period that successfully matches the target time period, the success rate corresponding to the successfully matched historical time period is determined as the success rate of the target user performing the target task in the target time period.

[0072] Based on any of the above embodiments, the second acquisition unit 502 is further specifically used for: If the target user is not found in the database, or if the matching result indicates that there is no historical time period that successfully matches the target time period, the characteristic data of the target user is obtained. The feature data of the target user and each of the target time periods are input into the prediction model to obtain the success rate of the target user in performing the target task in each of the target time periods, as output by the prediction model.

[0073] Based on any of the above embodiments, the prediction model is trained in the following manner: Obtain sample feature data from multiple sample users and multiple sample time periods; Input the sample feature data of each sample user and each sample time period into the initial prediction model to obtain the prediction success rate of each sample user performing the sample task in each sample time period, as output by the initial prediction model. Based on the prediction success rate and the success rate labels of each sample user performing the sample task in each sample time period, the model parameters of the initial prediction model are adjusted to obtain the prediction model.

[0074] Based on any of the above embodiments, the first acquisition unit 501 is specifically used for: Get the first set of data; If the number of time periods included in the first time set is less than the number of users in the user set, the ratio of the number of users to the number of time periods included in the first time set is rounded to obtain the first number. Based on the first quantity, the time periods included in the first time set are copied to obtain the second time set; If the number of time periods included in the second time set is less than the number of users in the user set, the second quantity is determined based on the difference between the number of users in the user set and the number of time periods included in the second time set. Select the second number of time periods from all time periods included in the first time set; The time set is determined based on the second time set and the second number of time periods.

[0075] Figure 6 This is a schematic diagram of the physical structure of the electronic device provided in the embodiments of the present invention, such as... Figure 6 As shown, the electronic device may include a processor 610, a communications interface 620, a memory 630, and a communication bus 640, wherein the processor 610, the communications interface 620, and the memory 630 communicate with each other via the communication bus 640. The processor 610 can invoke logical instructions from the memory 630 to execute a time allocation method, which includes: acquiring a user set and a time set, wherein the number of users in the user set is the same as the number of target time periods in the time set; Obtain the success rate of each target user in the user set in each target time period in the time set when performing the target task; Based on the user set, the time set, and the success rate of each target user executing the target task in each target time period, a bipartite graph is constructed. The KM algorithm is used to assign an optimal time period to each target user based on the bipartite graph, so that the sum of the success rates of all target users in performing the target task in their respective optimal time periods is maximized.

[0076] Furthermore, the logical instructions in the aforementioned memory 630 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0077] On the other hand, the present invention also provides a computer program product, the computer program product including a computer program, the computer program being able to be stored on a non-transitory computer-readable storage medium, the computer program being executed by a processor, the computer being able to execute the time allocation method provided by the above methods, the method including: obtaining a user set and a time set, the number of users in the user set being the same as the number of target time periods in the time set; Obtain the success rate of each target user in the user set in each target time period in the time set when performing the target task; Based on the user set, the time set, and the success rate of each target user executing the target task in each target time period, a bipartite graph is constructed. The KM algorithm is used to assign an optimal time period to each target user based on the bipartite graph, so that the sum of the success rates of all target users in performing the target task in their respective optimal time periods is maximized.

[0078] In another aspect, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to perform the time allocation method provided by the above methods, the method comprising: obtaining a user set and a time set, wherein the number of users in the user set is the same as the number of target time periods in the time set; Obtain the success rate of each target user in the user set in each target time period in the time set when performing the target task; Based on the user set, the time set, and the success rate of each target user executing the target task in each target time period, a bipartite graph is constructed. The KM algorithm is used to assign an optimal time period to each target user based on the bipartite graph, so that the sum of the success rates of all target users in performing the target task in their respective optimal time periods is maximized.

[0079] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0080] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0081] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A time allocation method, characterized in that, include: Obtain a user set and a time set, wherein the number of users in the user set is the same as the number of target time periods in the time set; Obtain the success rate of each target user in the user set in each target time period in the time set when performing the target task; Based on the user set, the time set, and the success rate of each target user executing the target task in each target time period, a bipartite graph is constructed. The KM algorithm is used to assign corresponding optimal time periods to each target user based on the bipartite graph, so that the sum of the success rates of all target users in performing the target task in their respective optimal time periods is maximized. The step of obtaining the success rate of each target user in the user set in each target time period in the time set for performing the target task includes: For each target user in the user set, if the target user is not found in the database, the characteristic data of the target user is obtained. The database stores the success rate of each user in performing the target task in each historical time period. The feature data of the target user and each of the target time periods are input into the prediction model to obtain the success rate of the target user in performing the target task in each of the target time periods. The prediction model is trained based on the sample feature data of the sample user and the sample time periods.

2. The time allocation method according to claim 1, characterized in that, The construction of a bipartite graph based on the user set, the time set, and the success rate of each target user performing the target task in each target time period includes: For each target user in the user set, the target user is determined as the first vertex; For each target time period in the time set, the target time period is determined as the second vertex; The success rate of the target user performing the target task during the target time period is determined as the weight of the edge connecting the first vertex and the second vertex; The bipartite graph is constructed based on each of the first vertices, each of the second vertices, and each of the weights.

3. The time allocation method according to claim 1, characterized in that, The method further includes: If the target user is found in the database, the success rate of the target user in performing the target task in each historical time period is found in the database. The historical time periods of the target user found in the database are matched with the target time period to obtain the matching results; If the matching result indicates that there is a historical time period that successfully matches the target time period, the success rate corresponding to the successfully matched historical time period is determined as the success rate of the target user performing the target task in the target time period.

4. The time allocation method according to claim 3, characterized in that, The method further includes: If the matching result indicates that there is no historical time period that successfully matches the target time period, the feature data of the target user and each of the target time periods are input into the prediction model to obtain the success rate of the target user performing the target task in each of the target time periods, as output by the prediction model.

5. The time allocation method according to claim 4, characterized in that, The prediction model was trained in the following manner: Obtain sample feature data from multiple sample users and multiple sample time periods; Input the sample feature data of each sample user and each sample time period into the initial prediction model to obtain the prediction success rate of each sample user performing the sample task in each sample time period, as output by the initial prediction model. Based on the prediction success rate and the success rate labels of each sample user performing the sample task in each sample time period, the model parameters of the initial prediction model are adjusted to obtain the prediction model.

6. The time allocation method according to any one of claims 1-5, characterized in that, Obtaining the time set includes: Get the first set of data; If the number of time periods included in the first time set is less than the number of users in the user set, the ratio of the number of users to the number of time periods included in the first time set is rounded to obtain the first number. Based on the first quantity, the time periods included in the first time set are copied to obtain the second time set; If the number of time periods included in the second time set is less than the number of users in the user set, the second quantity is determined based on the difference between the number of users in the user set and the number of time periods included in the second time set. Select the second number of time periods from all time periods included in the first time set; The time set is determined based on the second time set and the second number of time periods.

7. A time allocation device, characterized in that, include: The first acquisition unit is used to acquire a user set and a time set, wherein the number of users in the user set is the same as the number of target time periods in the time set; The second acquisition unit is used to acquire the success rate of each target user in the user set in executing the target task in each target time period in the time set; The construction unit is used to construct a bipartite graph based on the user set, the time set, and the success rate of each target user in performing the target task in each target time period; The allocation unit is used to allocate corresponding optimal time periods to each of the target users based on the bipartite graph using the KM algorithm, so that the sum of the success rates of all the target users in performing the target task in their respective corresponding optimal time periods is maximized; The second acquisition unit is specifically used for: For each target user in the user set, if the target user is not found in the database, the characteristic data of the target user is obtained. The database stores the success rate of each user in performing the target task in each historical time period. The feature data of the target user and each of the target time periods are input into the prediction model to obtain the success rate of the target user in performing the target task in each of the target time periods. The prediction model is trained based on the sample feature data of the sample user and the sample time periods.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the time allocation method as described in any one of claims 1 to 6.

9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the time allocation method as described in any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the time allocation method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Task management scheme generation method and system, computer readable storage medium and electronic equipment

    CN112069151A