Operator SMS task distribution method and system based on machine learning
By applying the operator's SMS task distribution method based on machine learning in the SMS distribution system, dynamically generate strategy adjustment progress and initial matching operator collections, the problem that SMS distribution strategies in the existing technology are difficult to deal with dynamic changes in real time, and efficient and accurate SMS task allocation is achieved.
Patent Information
- Application Number
- CN202510214853.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-26
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2045-02-26
AI Technical Summary
The existing SMS distribution strategy is difficult to deal with dynamic user needs and market environment in real time. Especially in the multi-operator cooperation environment, there are problems such as complex and low efficiency in the SMS sending and statistical processes across operators.
Using the operator's SMS task distribution method based on machine learning, by pre-collecting historical strategy training data and historical scoring training data, the first machine learning model for performing prediction and the second machine learning model for performing matching are trained, and the strategy adjustment progress and initial matching operator set are dynamically generated to respond to changes in the SMS task allocation process in real time.
Real-time response to the SMS task allocation process is realized, and accurate allocation strategies are provided for resource status and task requirements of different operators, which improves task adaptability and execution efficiency, and avoids resource waste and task delays.
Smart Images

Figure CN119729373B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of short message distribution, and more specifically, to a method and system for distributing short message tasks of operators based on machine learning. Background Art
[0002] The formulation of existing SMS distribution strategies usually relies on manual rules, which makes it difficult to respond to dynamically changing user needs and market environments in real time. Especially in a multi-operator cooperation environment, there are many problems. For example, the SMS service agreements, system architectures, command coding standards and sending strategies vary among different operators, resulting in complex and inefficient SMS sending and statistics processes across operators.
[0003] Among the existing methods, for example, the patent application with publication number CN110769385A discloses a method, device and electronic device for sending SMS using a strategy optimization model, including: formulating SMS sending strategies for different user groups and sending SMS according to the strategies; obtaining SMS conversion rates of different user groups; constructing a strategy optimization model; using the strategy optimization model to generate a new SMS sending strategy; and sending SMS based on the new SMS sending strategy. Although the above method can obtain the best SMS conversion rate through the strategy optimization model and improve the user conversion rate by optimizing the SMS sending strategy, the above method and the existing technology have at least the following defects:
[0004] 1. Traditional policy adjustment methods are mostly static configurations, which make it difficult to dynamically adjust according to real-time user feedback and business scenarios, resulting in low resource utilization;
[0005] 2. It does not take into account real-time data and operator resource status, and cannot quickly respond to emergencies during SMS sending, such as changes in operator load or task delays.
[0006] To this end, the present invention provides an operator SMS task distribution method and system based on machine learning. Summary of the invention
[0007] In order to overcome the above-mentioned defects of the prior art, the present invention provides an operator SMS task distribution method and system based on machine learning to solve the problems raised in the above-mentioned background technology.
[0008] To achieve the above purpose, the present invention provides the following technical solutions:
[0009] In a first aspect, the present invention provides a method for distributing operator SMS tasks based on machine learning, comprising:
[0010] Collect historical strategy training data and historical scoring training data in advance;
[0011] Based on the historical strategy training data, a first machine learning model for performing prediction is trained; and based on the historical scoring training data, a second machine learning model for performing matching is trained;
[0012] Obtain K SMS matching tasks sent by the user terminal at time S, and obtain the initial operator matching the K SMS matching tasks, obtain real-time matching feature data based on the K SMS matching tasks and the initial operator, and obtain the strategy adjustment progress of each SMS matching task according to the real-time matching feature data and the first machine learning model;
[0013] Acquire real-time adjustment progress feature data, and obtain an initial matching operator set based on the real-time adjustment progress feature data and the second machine learning model, wherein the initial matching operator set includes G operators to be allocated;
[0014] Analyze the strategy adjustment progress and the initial matching operator set to obtain a strategy adjustment plan; the strategy adjustment plan includes the operators corresponding to the K SMS matching tasks;
[0015] According to the strategy adjustment plan, K SMS matching tasks are distributed to each corresponding operator for transmission.
[0016] Furthermore, the historical strategy training data includes explanatory variable data and response variable data, wherein the explanatory variable data includes regional signal strength, network load degree of the operator, and SMS priority; and the response variable data includes the service quality score of each operator;
[0017] The method for obtaining the service quality score of each operator is as follows:
[0018] Acquire historical service characteristic data, wherein the historical service characteristic data includes a success rate of SMS sending, a delay time of sending, and a cost of SMS sending;
[0019] The service quality score of the mth operator is calculated based on the historical service characteristic data as follows:
[0020] ;
[0021] In the formula, represents the service quality score of the mth operator, Indicates the success rate of SMS sending. Indicates the delay time of sending. Indicates the cost of sending SMS; , and is the weight factor, .
[0022] Furthermore, the historical scoring training data includes a service quality score of each operator; the historical scoring training data is divided into a service quality score of a peak period label and a service quality score of a non-peak period label;
[0023] The method for determining the peak period label and the non-peak period label includes:
[0024] Step a1: extract the SMS task execution time T of each operator, the preset standard time is Ts, the task resource consumption of each operator is Q, and the remaining computing resources of each operator is Qs;
[0025] Step a2: Calculate the execution time score: ; Represents the execution time score, when , >0 means the SMS task is executed during the peak period, otherwise it is off-peak period;
[0026] Step a3: Calculate resource score: ; Indicates resource rating. , >0 means the SMS task is executed during the peak period, otherwise it is off-peak period;
[0027] Step a4: Calculate the comprehensive score: ;
[0028] In the formula, Indicates the comprehensive rating. and represents the weight factor, and ;
[0029] Step a5: If >0, it is marked as a peak period label. ≤0, it is marked as a non-peak period label; the peak period label is represented by a value of 1; the non-peak period label is represented by a value of 0.
[0030] Furthermore, the first machine learning model is a gradient boosting decision tree structure, using a regression tree as a base learner, and the method for generating the first machine learning model includes:
[0031] Step b1: extract the explanatory variable data and the response variable data in the historical strategy training data, and perform normalization processing, and divide the normalized explanatory variable data and the response variable data into a strategy training set and a strategy test set;
[0032] Step b2: Initialize a shallow regression tree, use the shallow regression tree as the initial regression tree, set the depth of the initial regression tree to be an integer between 3 and 5;
[0033] Step b3: Input the explanatory variable data in the strategy training set into the initial regression tree for prediction, and calculate the residual between the predicted value and the actual target value corresponding to the response variable data;
[0034] Step b4: construct a new strategy training set based on all residuals, construct an e=e+1th regression tree according to the new strategy training set, where e is an integer greater than zero, the initial value of e is 0, and the range of the learning rate is adjusted, and the range of the adjusted learning rate is 0.05-0.1;
[0035] Step b5: Add the initial regression tree and the e=e+1th regression tree to obtain the regression tree update model;
[0036] Step b6: Repeat the above steps b3 to b5 until the residual is less than the preset residual threshold, and obtain the first updated model;
[0037] Step b7: Input the explanatory variable data in the strategy test set into the first update model for prediction to obtain the predicted value. The first update model is evaluated with the training goal of minimizing the sum of prediction accuracies. If the sum of prediction accuracies is less than the preset accuracy threshold, the corresponding first update model is used as the first machine learning model. If the sum of prediction accuracies is greater than or equal to the preset accuracy threshold, the strategy training set is used to train the model again until the test result meets the set threshold.
[0038] Furthermore, the second machine learning model is a gradient boosting decision tree structure, using a classification tree as a base learner, and the generation method of the second machine learning model is as follows:
[0039] Step c1: extracting service feature data and digital labels from historical scoring training data, and performing normalization processing, and dividing the normalized service feature data and digital labels into a matching training set and a matching test set; the digital labels include peak period labels and off-peak period labels;
[0040] Step c2: Initialize a shallow classification tree, use the shallow classification tree as the initial classification tree, set the depth of the initial classification tree, and set the learning rate to 0.1; the depth of the initial classification tree is an integer between 3 and 5;
[0041] Step c3: Input the service feature data in the matching training set into the initial classification tree for prediction, and calculate the gradient change value between the predicted probability and the actual digital label;
[0042] The calculation formula of the gradient change value is: ;
[0043] In the formula, represents the gradient change value, represents the predicted probability, represents the actual numeric label;
[0044] Step c4: construct a new matching training set based on all gradient change values, and construct the f=f+1th classification tree according to the new matching training set, where f is an integer greater than zero, the initial value of f is 0, and the range of the learning rate is adjusted; the range of the learning rate is adjusted to 0.05-0.1;
[0045] Step c5: Add the initial classification tree to the f=f+1th classification tree to obtain the classification tree update model;
[0046] Step c6: repeat the above steps c3 to c5 until the gradient change value is less than the preset gradient threshold, and obtain a second updated model;
[0047] Step c7: Input the service feature data in the matching test set into the second updated model for prediction to obtain the prediction probability. The second updated model is evaluated with the minimization of the sum of prediction accuracies as the training goal. If the sum of prediction accuracies is less than the preset accuracy threshold, the corresponding second updated model is used as the second machine learning model. If the sum of prediction accuracies is greater than or equal to the preset accuracy threshold, the matching training set is used to perform model training again until the test results meet the set threshold.
[0048] Further, the method for analyzing the strategy adjustment progress and the initial matching operator set includes:
[0049] The initial operators matched for the K SMS matching tasks are used as the first operator set, and the initial matching operator set is used as the second operator set;
[0050] The first operator set is compared with the second operator set. If the number and digital labels in the first operator set and the second operator set are exactly the same, the first operator set or the second operator set is used as the policy adjustment plan; if the number and digital labels in the first operator set and the second operator set are inconsistent, a second round of analysis is performed based on the first operator set and the second operator set to obtain a policy adjustment plan.
[0051] Furthermore, the method for performing a second round of analysis based on the first operator set and the second operator set includes:
[0052] Step d1: Mark the first operator set as ; Label the second operator set as ;
[0053] Get a set of consistent operators : ;
[0054] Calculate the first difference : ;
[0055] Calculate the second difference : ;
[0056] Get the set of operators to be assigned : ;
[0057] Step d2: Set SMS matching tasks 、The set of operators to be allocated And the adaptation index matrix A is input into the optimization function; ; ; For the Rth SMS matching task, is the Wth operator;
[0058] Step d3: Obtain the maximum sum of fitness indexes through a linear programming solver and satisfy the constraints of the optimization function;
[0059] Step d4: According to the optimization results, get the operator assigned to each task and obtain the operator set in the optimization results , the set of consistent operators and the operator set in the optimization result Merge to get the final set of operators , and form a strategy adjustment plan.
[0060] Furthermore, the calculation formula of the optimization function is as follows:
[0061] ;
[0062] In the formula, Indicates SMS matching task Assigned to operators , otherwise 0, Indicates SMS matching task With operators The fitness index, For the rth SMS matching task, For the w-th operator, r≤R, w≤W.
[0063] Furthermore, the constraints of the optimization function include: each SMS matching task can only be assigned to one operator; its formula is:
[0064] ;
[0065] In the formula, Match a task for any SMS;
[0066] The resource limit for each operator is given by:
[0067]
[0068] In the formula, Indicates SMS matching task resource requirements, Indicates the operator available resources.
[0069] In a second aspect, the present invention provides an operator SMS task distribution system based on machine learning, which is used to implement the above-mentioned operator SMS task distribution method based on machine learning, including:
[0070] A history collection module collects historical strategy training data and historical scoring training data in advance;
[0071] A model training module, which trains a first machine learning model for performing prediction based on historical strategy training data; and trains a second machine learning model for performing matching based on historical scoring training data;
[0072] The first analysis module obtains K SMS matching tasks sent by the user terminal at time S, and obtains the initial operator matching the K SMS matching tasks, obtains real-time matching feature data based on the K SMS matching tasks and the initial operator, and obtains the strategy adjustment progress of each SMS matching task based on the real-time matching feature data and the first machine learning model;
[0073] A second analysis module obtains real-time adjustment progress feature data, and obtains an initial matching operator set based on the real-time adjustment progress feature data and the second machine learning model, wherein the initial matching operator set includes G operators to be allocated;
[0074] A solution acquisition module analyzes the strategy adjustment progress and the initial matching operator set to obtain a strategy adjustment solution; the strategy adjustment solution includes operators corresponding to K SMS matching tasks;
[0075] The application module distributes the K SMS matching tasks to each corresponding operator for transmission according to the strategy adjustment plan.
[0076] Technical effects and advantages of the present invention:
[0077] 1. The present invention combines historical strategy training data and scoring training data, trains two machine learning models, dynamically generates strategy adjustment progress and initial matching operator sets, and can respond to changes in the SMS task allocation process in real time. In particular, it provides precise allocation strategies for different operator resource states and task requirements, improving task adaptability and execution efficiency.
[0078] 2. The present invention fully considers the regional signal strength, operator network load, SMS priority and comprehensive score (execution time score and resource score), and combines the adaptation index for optimization analysis. The comprehensive analysis using multi-dimensional data ensures that the task allocation plan is more scientific and reasonable, avoiding resource waste and task delays. BRIEF DESCRIPTION OF THE DRAWINGS
[0079] Figure 1 This is a flowchart of the operator SMS task distribution method based on machine learning in Example 1;
[0080] Figure 2 This is a flowchart of a method for generating a first machine learning model in Example 1;
[0081] Figure 3 This is a flow chart of a method for performing a second round of analysis based on a first operator set and a second operator set in Example 1;
[0082] Figure 4 This is a structural diagram of the operator SMS task distribution system based on machine learning in Example 2. DETAILED DESCRIPTION
[0083] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0084] In addition, the accompanying drawings are only schematic illustrations of the present invention and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. The functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor methods and / or microcontroller methods.
[0085] It should be understood that, although the terms "first", "second", etc. may be used herein to describe various units, these units should not be limited by these terms. These terms are used only to distinguish one unit from another unit. For example, without departing from the scope of the exemplary embodiments, a first unit may be referred to as a second unit, and a similar second unit may be referred to as a first unit. The term "and / or" used herein includes any and all combinations of one or more of the listed associated items.
[0086] Example 1
[0087] See also Figure 1 As shown, this embodiment discloses a method for distributing operator SMS tasks based on machine learning, and the method includes:
[0088] Step 1: Collect historical strategy training data and historical scoring training data in advance;
[0089] Specifically, the historical strategy training data includes explanatory variable data and response variable data. The explanatory variable data includes regional signal strength, network load of operators and SMS priority; wherein the regional signal strength refers to the strength of mobile communication signals in the target area, which is obtained through the signal quality index uploaded by the user terminal device; the network load of operators refers to the resource usage of a certain operator in the current area or the entire network, reflecting the busyness of the network and the remaining available resources, and the load data is directly obtained from the base station in the target area; the SMS priority refers to the importance of the SMS task; the SMS priority includes emergency tasks, ordinary tasks and scheduled tasks, which are marked according to the SMS sent by the user terminal. The response variable data includes the service quality score of each operator.
[0090] It should be noted that historical strategy training data and historical score training data are pre-stored in the database.
[0091] The method for obtaining the service quality score of each operator is as follows:
[0092] Obtain historical service feature data, including SMS sending success rate, sending delay time and SMS sending cost; wherein, the SMS sending success rate refers to the success ratio of sending SMS through a certain operator channel. Data source: the ratio of the number of successfully sent SMS to the total number of attempts in the historical sending record; value range: 0-1, 1 represents 100% success rate, the higher the value of the SMS sending success rate, the better the service quality.
[0093] The sending delay time refers to the time interval from the sending of a text message to the receiving of the message, in seconds, obtained by the difference between the sending timestamp and the receiving confirmation timestamp monitored in real time. The value range is (0, +∞). The smaller the value of the sending delay time, the higher the service efficiency.
[0094] The SMS sending cost refers to the cost of sending each SMS through a certain operator channel, which is obtained through the single SMS rate standard defined in the operator agreement.
[0095] The service quality score of the mth operator is calculated based on the historical service characteristic data as follows:
[0096] ;
[0097] In the formula, represents the service quality score of the mth operator, Indicates the success rate of SMS sending. Indicates the delay time of sending. Indicates the cost of sending SMS; , and is the weight factor, .
[0098] Specifically, the historical scoring training data includes the service quality score of each operator; the historical scoring training data is divided into the service quality score of the peak period label and the service quality score of the non-peak period label;
[0099] The method for determining the peak period label and the non-peak period label includes:
[0100] Step a1: extract the SMS task execution time T of each operator, the preset standard time is Ts, the task resource consumption of each operator is Q, and the remaining computing resources of each operator is Qs;
[0101] It should be noted that the SMS task execution time refers to the time it takes for the operator to receive the SMS task and complete the SMS sending, including the time from the SMS content entering the operator's SMS center processing queue to the successful delivery of the SMS to the recipient's terminal; the task resource consumption refers to the computing resources and network resources required by the operator to complete the SMS task.
[0102] Step a11: If the task execution time T<Ts or the task resource consumption Q<Qs, it is determined to be a peak period, and the peak period label is represented by a value of 1;
[0103] Step a12: If the task execution time T≥Ts or the task resource consumption Q≥Qs, it is determined to be a non-peak period, and the non-peak period label is represented by a value of 0.
[0104] The method for determining the peak period label and the non-peak period label also includes:
[0105] Step a2: Calculate the execution time score: ; Represents the execution time score, when , >0 means the SMS task is executed during the peak period, otherwise it is off-peak period;
[0106] Step a3: Calculate resource score: ; Indicates resource rating. , >0 means the SMS task is executed during the peak period, otherwise it is off-peak period;
[0107] Step a4: Calculate the comprehensive score: ;
[0108] In the formula, Indicates the comprehensive rating. and represents the weight factor, and , the weight factors are all set by those skilled in the art based on experience.
[0109] Step a5: If >0, it is marked as a peak period label. ≤0, it is marked as off-peak label.
[0110] Step 2: Based on the historical strategy training data, train a first machine learning model for performing prediction; and based on the historical scoring training data, train a second machine learning model for performing matching;
[0111] See also Figure 2 As shown, in implementation, the first machine learning model is a gradient boosting decision tree structure, using a regression tree as a base learner, and the method for generating the first machine learning model includes:
[0112] Step b1: extract the explanatory variable data and the response variable data in the historical strategy training data, and perform normalization processing, and divide the normalized explanatory variable data and the response variable data into a strategy training set and a strategy test set;
[0113] It should be noted that gradient boosting decision trees are suitable for regression and classification tasks. The core idea is to iteratively train multiple decision trees, each tree aims to correct the error of the previous tree, thereby gradually optimizing the performance of the model.
[0114] The normalization process is to uniformly scale all explanatory variable data to the same range [0, 1] to reduce the impact of scale differences between features.
[0115] Step b2: Initialize a shallow regression tree, use the shallow regression tree as the initial regression tree, set the depth of the initial regression tree, and set the learning rate to 0.1;
[0116] It should be noted that the depth of the initial regression tree is an integer between 3 and 5. The depth of the initial regression tree is selected by hyperparameter tuning and is also set by those skilled in the art based on experience, and is not specifically limited here.
[0117] Step b3: Input the explanatory variable data in the strategy training set into the initial regression tree for prediction, and calculate the residual between the predicted value and the actual target value corresponding to the response variable data;
[0118] It should be noted that the residual refers to the error between the predicted value and the response variable data. A new regression tree will be trained based on these residuals in each iteration to better fit the error and improve the model performance. When the residual reaches the preset threshold, the iteration stops.
[0119] Step b4: A new strategy training set is constructed based on all residuals, and the e=e+1th regression tree is constructed according to the new strategy training set, where e is an integer greater than zero and the initial value of e is 0. The range of the learning rate is adjusted.
[0120] It should be noted that the learning rate can be adjusted to a range of 0.05-0.1 to ensure a stable update amplitude.
[0121] Step b5: Add the initial regression tree and the e=e+1th regression tree to obtain the regression tree update model;
[0122] Step b6: Repeat the above steps b3 to b5 until the residual is less than the preset residual threshold, and obtain the first updated model;
[0123] It should be noted that: when the residual is less than the preset residual threshold, the updated model obtained by adding the initial regression tree to the e=e+1th regression tree is used as the first updated model, that is, the final model, which is the accumulation of all basic regression trees;
[0124] Step b7: Input the explanatory variable data in the strategy test set into the first update model for prediction to obtain the predicted value. Minimize the sum of prediction accuracy as the training goal, and perform model evaluation on the first update model. If the sum of prediction accuracy is less than the preset accuracy sum threshold, the corresponding first update model is used as the first machine learning model. If the sum of prediction accuracy is greater than or equal to the preset accuracy sum threshold, the strategy training set is used to perform model training again until the test result meets the set threshold. The calculation formula for the sum of prediction accuracy is: ; Where: represents the sum of the prediction accuracies in step b7, Indicates the strategy test set The predicted value of the group explanatory variable data, Indicates the strategy test set The actual value of the group explanatory variable data, Z is the number of groups of explanatory variable data.
[0125] In implementation, the second machine learning model is a gradient boosting decision tree structure, using a classification tree as a base learner, and the method for generating the second machine learning model is as follows:
[0126] Step c1: extracting service feature data and digital labels from historical scoring training data, and performing normalization processing, and dividing the normalized service feature data and digital labels into a matching training set and a matching test set; the digital labels include peak period labels and off-peak period labels;
[0127] Step c2: Initialize a shallow classification tree, use the shallow classification tree as the initial classification tree, set the depth of the initial classification tree, and set the learning rate to 0.1;
[0128] It should be noted that the depth of the initial classification tree is an integer between 3 and 5.
[0129] Step c3: Input the service feature data in the matching training set into the initial classification tree for prediction, and calculate the gradient change value between the predicted probability and the actual digital label;
[0130] The calculation formula of the gradient change value is: ;
[0131] In the formula, represents the gradient change value, represents the predicted probability, represents the actual numeric label;
[0132] Step c4: A new matching training set is constructed based on all gradient change values, and the f=f+1th classification tree is constructed according to the new matching training set, where f is an integer greater than zero, the initial value of f is 0, and the range of the learning rate is adjusted.
[0133] It should be noted that the learning rate can be adjusted to a range of 0.05-0.1 to ensure a stable update amplitude.
[0134] Step c5: Add the initial classification tree to the f=f+1th classification tree to obtain the classification tree update model;
[0135] Step c6: repeat the above steps c3 to c5 until the gradient change value is less than the preset gradient threshold, and obtain a second updated model;
[0136] It should be noted that: when the gradient change value is less than the preset gradient threshold, the updated model obtained by adding the initial classification tree to the f=f+1 classification tree is used as the second updated model, that is, the final model, which is the accumulation of all basic classification trees;
[0137] Step c7: Input the service feature data in the matching test set into the second update model for prediction, obtain the prediction probability, and take minimizing the sum of prediction accuracies as the training goal, and perform model evaluation on the second update model. If the sum of prediction accuracies is less than the preset accuracy sum threshold, the corresponding second update model is used as the second machine learning model. If the sum of prediction accuracies is greater than or equal to the preset accuracy sum threshold, the matching training set is used to perform model training again until the test result meets the set threshold. The calculation formula for the sum of prediction accuracies is: ; Where: represents the sum of the prediction accuracy in step c7, Indicates the matching test set The predicted numeric labels for the group service feature data, Indicates the matching test set The actual numerical label of the group service feature data, Y is the number of groups of service feature data.
[0138] Step 3: Obtain K SMS matching tasks sent by the user terminal at time S, and obtain the initial operator matching the K SMS matching tasks, obtain real-time matching feature data based on the K SMS matching tasks and the initial operator, and obtain the strategy adjustment progress of each SMS matching task based on the real-time matching feature data and the first machine learning model;
[0139] It should be noted that the initial operator matching for the K SMS matching tasks is implemented based on any existing weighted random allocation algorithm or method, which is not the focus of the invention and will not be described in detail in the present invention; any technology that can achieve the initial operator matching for the K SMS matching tasks can be used as the application object of the present invention. Step 4: Obtain real-time adjustment progress feature data, and obtain an initial matching operator set based on the real-time adjustment progress feature data and the second machine learning model, wherein the initial matching operator set includes G operators to be assigned;
[0140] During implementation, the policy adjustment progress of each SMS matching task output by the first machine learning model is obtained, and the policy adjustment progress of each SMS matching task output by the first machine learning model is used as real-time adjustment progress feature data, and is input into the second machine learning model as input data to obtain an initial matching operator set.
[0141] Step 5: Analyze the strategy adjustment progress and the initial matching operator set to obtain a strategy adjustment plan; the strategy adjustment plan includes the operators corresponding to the K SMS matching tasks;
[0142] In implementation, methods for analyzing the progress of strategy adjustment and the initial matching of operator sets include:
[0143] The initial operators matched for the K SMS matching tasks are used as the first operator set, and the initial matching operator set is used as the second operator set;
[0144] The first operator set is compared with the second operator set. If the number and digital labels in the first operator set and the second operator set are exactly the same, the first operator set or the second operator set is used as the policy adjustment plan; if the number and digital labels in the first operator set and the second operator set are inconsistent, a second round of analysis is performed based on the first operator set and the second operator set to obtain a policy adjustment plan.
[0145] It should be noted that: complete consistency indicates that the number of operators in the first operator set and the second operator set are completely equal, and the digital labels of the corresponding operators are exactly the same; conversely, inconsistency indicates that the number of operators in the first operator set and the second operator set are not completely equal, or the digital labels in the first operator set and the second operator set are not exactly the same.
[0146] See also Figure 3 As shown, in a preferred embodiment, the method for performing a secondary round of analysis based on the first operator set and the second operator set includes:
[0147] Step d1: Mark the first operator set as ; Label the second operator set as .
[0148] Get a set of consistent operators : ;
[0149] Calculate the first difference : ;
[0150] Calculate the second difference : ;
[0151] Get the set of operators to be assigned : ;
[0152] Step d2: Set SMS matching tasks 、The set of operators to be allocated And the adaptation index matrix A is input into the optimization function; ; , For the Rth SMS matching task, is the Wth operator;
[0153] The calculation formula of the optimization function is as follows:
[0154] ;
[0155] In the formula, Indicates SMS matching task Assigned to operators , otherwise 0, Indicates SMS matching task With operators The fitness index, For the rth SMS matching task, For the w-th operator, r≤R, w≤W.
[0156] Among them, the constraint condition of the optimization function is: each SMS matching task can only be assigned to one operator; its formula is:
[0157] ;
[0158] In the formula, is a quantitative symbol, which means "for all " or "For any ”.
[0159] The resource limit for each operator is given by:
[0160] ;
[0161] In the formula, Indicates SMS matching task resource requirements, Indicates the operator available resources.
[0162] It should be noted that the resource limit of each operator indicates that an operator processes multiple tasks simultaneously, so the resource limit of the operator ensures that the sum of the resources required by all tasks assigned to the operator does not exceed the available resources of the operator.
[0163] Step d3: Obtain the maximum sum of fitness indexes through a linear programming solver and satisfy the constraints of the optimization function;
[0164] It should be noted that the linear programming solver is implemented based on the existing technology, and the present invention will not elaborate on this.
[0165] Step d4: According to the optimization results, get the operator assigned to each task and obtain the operator set in the optimization results , the set of consistent operators and the operator set in the optimization result Merge to get the final set of operators , and form a strategy adjustment plan.
[0166] The calculation method of the adaptation index includes:
[0167] Get the regional signal strength, the operator's network load, and the SMS priority, marked as , and ;
[0168] Calculate a composite score corresponding to each operator's service quality score;
[0169] Obtain the maximum signal strength and maximum network load of the operator pre-stored in the database;
[0170] The adaptation index is calculated by formulating the regional signal strength, the network load of the operator, the SMS priority and the comprehensive score; the calculation formula is:
[0171] ;
[0172] Where: represents the fitness index, Indicates the maximum signal strength of the operator. The weight factor representing the actual time required, Indicates the maximum network load. A weight factor indicating the degree of network load, The weight factor indicating the priority of SMS. , and are all greater than zero weight factor.
[0173] It should be noted that the value of SMS priority is pre-set, and different values are set according to the SMS priority of emergency tasks, ordinary tasks and scheduled tasks. The value of SMS priority corresponding to SMS in emergency tasks is set to 1, the value of SMS priority corresponding to SMS in ordinary tasks is set to 2, and the value of SMS priority corresponding to SMS in scheduled tasks is set to 3.
[0174] Step 6: Distribute the K SMS matching tasks to each corresponding operator for transmission according to the strategy adjustment plan.
[0175] This embodiment combines historical strategy training data and scoring training data, trains two machine learning models, dynamically generates strategy adjustment progress and initial matching operator sets, and can respond to changes in the SMS task allocation process in real time. In particular, it provides precise allocation strategies for different operator resource states and task requirements, improving task adaptability and execution efficiency.
[0176] This embodiment takes into account the regional signal strength, operator network load, SMS priority and comprehensive score (execution time score and resource score), and combines the adaptation index for optimization analysis. The use of multi-dimensional data for comprehensive analysis ensures that the task allocation plan is more scientific and reasonable, avoiding resource waste and task delays.
[0177] Example 2
[0178] See also Figure 4 As shown, this embodiment provides an operator SMS task distribution system based on machine learning, including a history collection module, a model training module, a first analysis module, a second analysis module, a solution acquisition module and an application module; each module is connected by wire and / or wireless means to realize data transmission between modules; the system includes:
[0179] A history collection module collects historical strategy training data and historical scoring training data in advance;
[0180] A model training module, which trains a first machine learning model for performing prediction based on historical strategy training data; and trains a second machine learning model for performing matching based on historical scoring training data;
[0181] The first analysis module obtains K SMS matching tasks sent by the user terminal at time S, and obtains the initial operator matching the K SMS matching tasks, obtains real-time matching feature data based on the K SMS matching tasks and the initial operator, and obtains the strategy adjustment progress of each SMS matching task based on the real-time matching feature data and the first machine learning model;
[0182] A second analysis module obtains real-time adjustment progress feature data, and obtains an initial matching operator set based on the real-time adjustment progress feature data and the second machine learning model, wherein the initial matching operator set includes G operators to be allocated;
[0183] A solution acquisition module analyzes the strategy adjustment progress and the initial matching operator set to obtain a strategy adjustment solution; the strategy adjustment solution includes operators corresponding to K SMS matching tasks;
[0184] The application module distributes the K SMS matching tasks to each corresponding operator for transmission according to the strategy adjustment plan.
[0185] Example 3
[0186] This embodiment provides an electronic device. The electronic device may include one or more processors and one or more memories. The memories store computer-readable codes, and when the computer-readable codes are executed by the one or more processors, the operator SMS task distribution method based on machine learning as described above may be executed.
[0187] The system according to the implementation mode of the present application can also be implemented with the help of the architecture of the electronic device described below. The electronic device may include a bus, one or more CPUs, a read-only memory (ROM), a random access memory (RAM), a communication port connected to a network, an input / output, a hard disk, etc. A storage device in the electronic device, such as a ROM or a hard disk, can store the operator SMS task distribution method based on machine learning provided in the present application. Furthermore, the electronic device may also include a user interface. Of course, the above architecture is only exemplary. When implementing different devices, one or more components in the above electronic device may be omitted according to actual needs.
[0188] Example 4
[0189] This embodiment provides a computer-readable storage medium storing instructions. When the instructions are executed on a computer, the computer executes the operator SMS task distribution method based on machine learning of Embodiment 1.
[0190] The formulas involved in the above are all calculated by removing dimensions and taking their numerical values. They are a formula that is closest to the actual situation obtained by collecting a large amount of data and performing software simulation. The weight factors in the formula and the preset thresholds in the analysis process are set by technicians in this field according to actual conditions or obtained by simulating a large amount of data; the size of the weight factor is to quantify each parameter to obtain a specific value for subsequent comparison. The size of the weight factor depends on the amount of sample data and the corresponding processing coefficient initially set by technicians in this field for each group of sample data; as long as it does not affect the proportional relationship between the parameter and the quantized value.
[0191] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0192] Finally: The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. The operator SMS task distribution method based on machine learning is characterized by: include: Collect historical strategy training data and historical scoring training data in advance; Based on the historical strategy training data, training a first machine learning model for performing predictions; and training a second machine learning model for performing matching based on the historical scoring training data; Obtain K SMS matching tasks sent by the user terminal at time S, and obtain the initial operator matching the K SMS matching tasks, obtain real-time matching feature data based on the K SMS matching tasks and the initial operator, and obtain the strategy adjustment progress of each SMS matching task according to the real-time matching feature data and the first machine learning model; Acquire real-time adjustment progress feature data, and obtain an initial matching operator set based on the real-time adjustment progress feature data and the second machine learning model, wherein the initial matching operator set includes G operators to be allocated; Analyze the strategy adjustment progress and the initial matching operator set to obtain a strategy adjustment plan; The strategy adjustment scheme includes K operators corresponding to the SMS matching tasks; According to the strategy adjustment plan, K SMS matching tasks are distributed to each corresponding operator for transmission; Methods for analyzing the progress of strategy adjustment and initial matching of operator sets include: The initial operators matched for the K SMS matching tasks are used as the first operator set, and the initial matching operator set is used as the second operator set; Compare the first operator set with the second operator set. If the number and digital labels in the first operator set and the second operator set are completely consistent, use the first operator set or the second operator set as a policy adjustment solution. If the number and digital labels in the first operator set and the second operator set are inconsistent, perform a second round of analysis based on the first operator set and the second operator set to obtain a policy adjustment solution. The method for performing a secondary round of analysis based on the first operator set and the second operator set includes: Step d1: Mark the first operator set as ; Label the second operator set as ; Get a set of consistent operators : ; Calculate the first difference : ; Calculate the second difference : ; Get the set of operators to be assigned : ∪ ; Step d2: Set SMS matching tasks 、The set of operators to be allocated And the adaptation index matrix A is input into the optimization function; ; ; For the Rth SMS matching task, is the Wth operator; Step d3: Obtain the maximum sum of fitness indexes through a linear programming solver and satisfy the constraints of the optimization function; Step d4: According to the optimization results, get the operator assigned to each task and obtain the operator set in the optimization results , the set of consistent operators and the set of operators in the optimization result Merge to get the final set of operators ∪ , forming a strategic adjustment plan; The calculation formula of the optimization function is as follows: ; In the formula, Indicates SMS matching task Assigned to operators , otherwise 0, Indicates SMS matching task With operators The fitness index, For the rth SMS matching task, is the w-th operator, r≤R, w≤W; The constraints of the optimization function include: each SMS matching task can only be assigned to one operator; its formula is: ; In the formula, Match a task for any SMS; The resource limit for each operator is given by: ; In the formula, Indicates SMS matching task resource requirements, Indicates the operator available resources.
2. The method for distributing operator SMS tasks based on machine learning according to claim 1, characterized in that: The historical strategy training data includes explanatory variable data and response variable data, wherein the explanatory variable data includes regional signal strength, network load of operators and SMS priority; and the response variable data includes the service quality score of each operator; The method for obtaining the service quality score of each operator is as follows: Acquire historical service characteristic data, wherein the historical service characteristic data includes a success rate of SMS sending, a delay time of sending, and a cost of SMS sending; The service quality score of the mth operator is calculated based on the historical service characteristic data as follows: ; In the formula, represents the service quality score of the mth operator, Indicates the success rate of SMS sending. Indicates the delay time of sending. Indicates the cost of sending SMS; , and is the weight factor, .
3. The method for distributing operator SMS tasks based on machine learning according to claim 2, characterized in that: The historical scoring training data includes the service quality score of each operator; the historical scoring training data is divided into the service quality score of the peak period label and the service quality score of the non-peak period label; The method for determining the peak period label and the non-peak period label includes: Step a1: extract the SMS task execution time T of each operator, the preset standard time is Ts, the task resource consumption of each operator is Q, and the remaining computing resources of each operator is Qs; Step a2: Calculate the execution time score: ; Represents the execution time score, when , >0 means the SMS task is executed during the peak period, otherwise it is off-peak period; Step a3: Calculate resource score: ; Indicates resource rating. , >0 means the SMS task is executed during the peak period, otherwise it is off-peak period; Step a4: Calculate the comprehensive score: ; In the formula, Indicates the comprehensive rating. and represents the weight factor, and ; Step a5: If >0, it is marked as a peak period label. ≤0, it is marked as a non-peak period label; the peak period label is represented by a value of 1; the non-peak period label is represented by a value of 0.
4. The method for distributing operator SMS tasks based on machine learning according to claim 3, characterized in that: The first machine learning model is a gradient boosting decision tree structure, using a regression tree as a base learner, and the method for generating the first machine learning model includes: Step b1: extract the explanatory variable data and the response variable data in the historical strategy training data, and perform normalization processing, and divide the normalized explanatory variable data and the response variable data into a strategy training set and a strategy test set; Step b2: Initialize a shallow regression tree, use the shallow regression tree as the initial regression tree, set the depth of the initial regression tree to be an integer between 3 and 5; Step b3: Input the explanatory variable data in the strategy training set into the initial regression tree for prediction, and calculate the residual between the predicted value and the actual target value corresponding to the response variable data; Step b4: construct a new strategy training set based on all residuals, construct an e=e+1th regression tree according to the new strategy training set, where e is an integer greater than zero, the initial value of e is 0, and the range of the learning rate is adjusted, and the range of the adjusted learning rate is 0.05-0.1; Step b5: Add the initial regression tree and the e=e+1th regression tree to obtain the regression tree update model; Step b6: Repeat the above steps b3 to b5 until the residual is less than a preset residual threshold, and obtain a first updated model; Step b7: Input the explanatory variable data in the strategy test set into the first update model for prediction to obtain the predicted value. The first update model is evaluated with the training goal of minimizing the sum of prediction accuracies. If the sum of prediction accuracies is less than the preset accuracy threshold, the corresponding first update model is used as the first machine learning model. If the sum of prediction accuracies is greater than or equal to the preset accuracy threshold, the strategy training set is used to train the model again until the test result meets the set threshold.
5. The method for distributing operator SMS tasks based on machine learning according to claim 4, characterized in that: The second machine learning model is a gradient boosting decision tree structure, using a classification tree as a base learner, and the generation method of the second machine learning model is as follows: Step c1: extracting service feature data and digital labels from historical scoring training data, and performing normalization processing, and dividing the normalized service feature data and digital labels into a matching training set and a matching test set; the digital labels include peak period labels and off-peak period labels; Step c2: Initialize a shallow classification tree, use the shallow classification tree as the initial classification tree, set the depth of the initial classification tree, and set the learning rate to 0.1; the depth of the initial classification tree is an integer between 3 and 5; Step c3: Input the service feature data in the matching training set into the initial classification tree for prediction, and calculate the gradient change value between the predicted probability and the actual digital label; The calculation formula of the gradient change value is: ; In the formula, represents the gradient change value, represents the predicted probability, represents the actual numeric label; Step c4: construct a new matching training set based on all gradient change values, and construct the f=f+1th classification tree according to the new matching training set, where f is an integer greater than zero, the initial value of f is 0, and the range of the learning rate is adjusted; the range of the learning rate is adjusted to 0.05-0.1; Step c5: Add the initial classification tree to the f=f+1th classification tree to obtain the classification tree update model; Step c6: repeat the above steps c3 to c5 until the gradient change value is less than the preset gradient threshold, and obtain a second updated model; Step c7: Input the service feature data in the matching test set into the second updated model for prediction to obtain the prediction probability. The second updated model is evaluated with the minimization of the sum of prediction accuracies as the training goal. If the sum of prediction accuracies is less than the preset accuracy threshold, the corresponding second updated model is used as the second machine learning model. If the sum of prediction accuracies is greater than or equal to the preset accuracy threshold, the matching training set is used to perform model training again until the test results meet the set threshold.
6. A machine learning-based operator SMS task distribution system, used to implement the machine learning-based operator SMS task distribution method described in any one of claims 1 to 5, characterized in that: include: A history collection module collects historical strategy training data and historical scoring training data in advance; A model training module, which trains a first machine learning model for performing prediction based on historical strategy training data; and trains a second machine learning model for performing matching based on historical scoring training data; The first analysis module obtains K SMS matching tasks sent by the user terminal at time S, and obtains the initial operator matching the K SMS matching tasks, obtains real-time matching feature data based on the K SMS matching tasks and the initial operator, and obtains the strategy adjustment progress of each SMS matching task based on the real-time matching feature data and the first machine learning model; A second analysis module obtains real-time adjustment progress feature data, and obtains an initial matching operator set based on the real-time adjustment progress feature data and the second machine learning model, wherein the initial matching operator set includes G operators to be allocated; The solution acquisition module analyzes the strategy adjustment progress and the initial matching operator set to obtain the strategy adjustment solution; The strategy adjustment scheme includes K operators corresponding to the SMS matching tasks; The application module distributes the K SMS matching tasks to each corresponding operator for transmission according to the strategy adjustment plan.
Citation Information
Patent Citations
Short message sending method and device utilizing strategy optimization model, and electronic equipment
CN110769385A
Short message sending method and system, computer equipment and storage medium
CN108966158A
Short message distribution method and device, equipment and medium
CN110582064A