Decision tree algorithm-based outbound line resource allocation method

By adopting a decision tree algorithm based on the resource allocation of outbound call lines, the problem of low operation efficiency of traditional allocation methods during peak periods is solved, and the optimal allocation of resources and the maximum benefit is achieved.

CN119420840APending Publication Date: 2025-02-11GANSU WANWEI INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411644029.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-18
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The traditional outbound call line resource allocation method can easily cause overload or idle seats during peak periods, affect operational efficiency, and it is difficult to achieve optimal allocation of resources to maximize returns.

Method used

The outgoing call line resource allocation method based on the decision tree algorithm is adopted. By setting the order of line allocation constraint rules, the random number search range is reduced, and the outgoing call line resource allocation is achieved while meeting the constraint conditions and the objective function.

Benefits of technology

It improves the efficiency of line usage, ensures efficient and stable operation of equipment, reduces the influence of human subjective factors, improves the calculation efficiency and flexibility of the algorithm, and realizes the optimal allocation of resources to maximize returns.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119420840A_ABST
    Figure CN119420840A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, in particular to an outbound line resource allocation method based on a decision tree algorithm. The outbound line resource allocation method based on the decision tree algorithm aims at achieving optimal configuration of line resources in a call center or telemarketing service, and therefore revenue maximization is achieved under limited resources. The random number search range is reduced by reasonably setting the sequence of the line allocation constraint rules, so that the outbound line resource allocation is realized on the premise of meeting the constraint conditions and the target function. The method is suitable for efficient line distribution of objective functions and constraint conditions of discrete variables.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of data processing, in particular to an outbound call line resource allocation method based on a decision tree algorithm. Background Art

[0002] The background of outbound call line resource allocation mainly involves the operational efficiency, cost control, service quality and compliance of the call center system.

[0003] 1. Improved operational efficiency Peak hour challenges: During peak call volume periods, traditional line allocation methods may cause some agents to be overloaded while others are idle, affecting overall operational efficiency. Therefore, optimizing line resource allocation, such as adopting a parallel allocation strategy, can significantly improve the connection rate and thus improve operational efficiency.

[0004] Technological innovation: With the innovation of communication technology, especially the application of cloud infrastructure and artificial intelligence technology, the outbound call line system can allocate line resources more intelligently, achieving higher connection rate and lower call abandonment rate.

[0005] 2. Cost Control Maximize resource utilization: By dynamically adjusting the number of lines and allocating line resources based on the call center's operating conditions and customer needs, it is possible to reduce unnecessary line costs while meeting customer needs.

[0006] Intelligent routing technology: Intelligent routing technology can intelligently route calls to the most appropriate agent based on the agent’s skills, experience, language ability and other factors, improving service quality and customer satisfaction while reducing training costs.

[0007] 3. Service Quality Assurance Priority allocation: Different line priorities can be set for different regions and types of customers to ensure that important customers and emergency calls are handled first, thereby improving customer satisfaction and loyalty.

[0008] Load balancing: Through load balancing technology, incoming calls are evenly distributed to agents to avoid overloading some agents while others are idle, ensuring that customers can be connected as quickly as possible and receive satisfactory service.

[0009] IV. Compliance Requirements Policy compliance: According to local telecommunications regulations and operator regulations, select appropriate time periods, regions, and number pools for outbound calls to avoid problems caused by violations of relevant regulations. For example, some regions or time periods may have regulations restricting outbound calls, so line resources need to be allocated according to these regulations.

[0010] 5. Technological Development and Market Trends Diversified line types: With the development of technology, the outbound call line system provides a variety of options such as analog lines, digital trunk lines, and mobile lines. These different line types have different advantages and disadvantages and are suitable for different business scenarios.

[0011] Market competition and customer needs: In the fierce market competition, enterprises need to continuously improve service quality and customer satisfaction to win market share. Therefore, optimizing the allocation of outbound call line resources and improving the connection rate and customer satisfaction have become one of the important strategies for enterprise competition. Summary of the invention

[0012] This patent proposes an outbound call line resource allocation method based on a decision tree algorithm. The outbound call line resource allocation method based on a decision tree algorithm aims to achieve the optimal configuration of line resources in call centers or telemarketing businesses, thereby maximizing profits under limited resources. By reasonably setting the order of line allocation constraint rules, the random number search range is reduced, so that outbound call line resource allocation can be achieved under the premise of satisfying the constraints and objective functions. This method is suitable for objective functions of discrete variables and lines with constraints that can only be efficiently allocated. Compared with traditional methods, this random number search method does not require complex mathematical calculations. It only needs to perform random number sampling under the constraints and continuously update the actual variable values ​​so that the objective function is optimized. In addition, this patent also proposes a method for formulating the priority selection order of random numbers by the strength of the constraints, which effectively reduces the range of random number searches and improves the computational efficiency of the algorithm.

[0013] In the intelligent and efficient allocation method of outbound call lines, the gradient boosting decision tree algorithm is a commonly used method for optimizing allocation. Specifically, it can be optimized through the following steps: 1. Initialize the model Select a loss function and initialize a decision tree as the initial prediction model , whose predicted value is usually the mean or mode of all training sample labels; 2. Iterative training For each iteration , perform the following steps: 2.1 Calculation of residuals Calculate the current model The residual on each training sample , ,in It is a sample The true label of 2.2 Fitting a new decision tree Use the residual rt,i as the new label to train a new decision tree ; This new decision tree fits the current residual; 2.3 Update Model According to the new decision tree and learning rate , Is a positive number less than 1, update the model: ; 3. Output the final model After T iterations, the final strong learner is obtained ; In the prediction phase, for new input data ,use Make predictions; 5. Determine the T value Stop training the model and determine the final reasonable value; set the weights of the above eigenvalues ​​through experience based on the number of existing outbound call line channels, equipment performance indicators, line carrying capacity, and equipment service life; perform iterative training according to steps 1-4 above; use the gradient boosting decision tree algorithm, and the change of individual positions is achieved through random search; each individual will randomly jump to a position near the current optimal solution, thereby realizing the idea of ​​searching for a local optimal solution, and by changing the weight of the eigenvalue, it is found that the requirements for outbound call line channel concurrency are met under the current status of outbound call lines and equipment.

[0014] The beneficial effects of the patent for outbound call resource allocation method based on decision tree analysis are as follows: The decision tree is an efficient intelligent algorithm that can automatically adjust the allocation rules of outbound call lines according to the reference indicators of the equipment, improve the efficiency of line use, and ensure the efficient and stable operation of the equipment. Traditional line allocation is based on the principle of random allocation, which is prone to uneven allocation of line resources. The influence of human subjective factors limits the allocation rules. The decision tree method can use its flexibility to adapt to different situations and needs. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 It is a schematic diagram of the allocation process of the present invention. DETAILED DESCRIPTION

[0016] A method for allocating outbound call line resources based on a decision tree algorithm, the specific steps are as follows: 1. Initialize the model Choose a loss function (such as squared error or log loss). Initialize a weak learner (usually a decision tree) as the initial prediction model , its predicted value is usually the mean or mode of all training sample labels; 2. Iterative training For each iteration , perform the following steps: 2.1 Calculation of residuals Calculate the current model The residual on each training sample , ,in It is a sample The true label of 2.2 Fitting a new decision tree Use the residual rt,i as the new label to train a new decision tree The goal of this decision tree is to fit the current residual as much as possible; 2.3 Update Model According to the new decision tree and learning rate (usually a positive number less than 1), update the model: ; 3. Output the final model After T iterations, the final strong learner is obtained , In the prediction phase, for new input data x, use F(x) to make predictions; 4. Parameter adjustment In practical applications, you may need to adjust some parameters to optimize the performance of the model, such as the number of trees T (i.e. the number of iterations), the learning rate , tree depth, minimum number of samples for leaf nodes, etc.; 5. Determine the most reasonable T value Stop training the model and determine the final reasonable value.

[0017] Combined with the existing number of outbound call line channels, equipment performance indicators, line carrying capacity, and equipment service life, the weights of the above eigenvalues ​​are set through empirical values. Perform iterative training according to steps 1-4 above. Using the gradient boosting decision tree algorithm, the change of individual positions is achieved through random search. Specifically, each individual will randomly jump to a position near the current optimal solution, thereby realizing the idea of ​​searching for a local optimal solution. By changing the weight of the eigenvalue, it is found that the requirements for outbound call line channel concurrency are met under the current status of outbound call lines and equipment. The decision tree algorithm proposed in this patent has great application potential in the formulation of outbound call line allocation rules. By taking the reference index as a discrete variable, the actual variable value is continuously updated through random number sampling under the premise of satisfying the constraints, so that the objective function is optimized, avoiding complex mathematical calculations, and making it easier for business personnel to understand and operate. At the same time, by transforming the reference index and adjusting the weight index to formulate matching rules, the influence of human subjective factors is effectively reduced, and the calculation efficiency and flexibility of the algorithm are improved.

[0018] The specific process of using the line matching rule based on the decision tree algorithm can be as follows: S1: Determine the training data set Before starting the decision tree algorithm, you need to determine the training data set; 1. Determine the loss function: Determine the scope and dimension of the search space according to the requirements of line allocation; Determine the training dataset , in , , represents the size of the eigenvalue; 2. Initialize a weak learner (usually a decision tree) as the initial prediction model , whose predicted value is usually the mean or mode of all training sample labels; S2: Generate the first number Using the decision tree algorithm, a decision tree is used to make decisions. This decision tree contains all decision points (internal nodes) and decision results (leaf nodes) in the decision process. Each internal node represents a test on an attribute, and each leaf node represents a classification result.

[0019] 1. For each sample , the first regression tree What needs to be fitted is the original target value of the sample / True value Right now ; 2. For collections , traverse each eigenvalue Each reference value , use this Split the original data set S into 2 sets: left set (<= of samples), right set (> Each set is also called a node. Calculate the col of these two sets respectively and find The youngest one , record the time Name and , the calculated value at this time is the best segmentation feature and the best segmentation value.

[0020] Finding the best split and the best segmentation Afterwards, use the Split the set S into two sets: the left set S_l and the right set S_r. Each set is also called a node.

[0021] 4. Repeat steps 2 and 3 for sets S_l and S_r respectively until the termination condition is reached.

[0022] 5. The last generated set that is no longer split is called a leaf node. The predicted value of the sample falling into the leaf node is the value of the leaf node. The samples in the same leaf node have the same predicted value. The leaf node value = the average of the current target values ​​of all samples in the leaf node.

[0023] The best segmentation feature, the best segmentation value, and the value of the leaf node are the parameters of the tree. 7. The loss function of the entire tree can be expressed as: 8. The additive model generated at this time: It should be noted that the process in step 1 is to minimize the above loss function. The mean square error is the loss function of each tree.

[0024] : Generate the second tree 1. Calculate each sample For the residual of the prediction result of the first tree, the residual is used to replace the original target value / true value of the sample, and the second tree is allowed to learn. This is the strong dependency between the classifiers, and one tree is generated based on the previous tree.

[0025] 2. At this point, each sample , the current target value (the value that the current regression tree needs to fit) = (the value that the previous tree needs to fit (the target value of the sample in the previous 2 trees) minus the predicted value of the previous tree) = residual; 3. The tree generation process is the same as the first tree. The leaf node value = the average value of the current target value of all samples in the leaf node; 4. At this point, the true predicted value of each sample The integration strategy of this ensemble algorithm for each base learner result is to add up the results of each base learner. The generated additive model at this time is: S4: Repeat step 2 until the termination condition is reached 1. Evaluation: Use the test data set to evaluate the performance of the decision tree. Evaluate whether the target value of the decision tree is correct by evaluating the line resource conditions of the existing gateway equipment, the performance of the equipment, and the number of equipment load indicators. 2. Adjustment: Adjust the decision tree based on the evaluation results. If the performance is poor, pruning or retraining may be required.

[0026] 3. Use the entropy method to determine the weights and reduce the deviation caused by the main value. The weight calculation is usually based on the degree of variation of the data. The greater the degree of variation, the greater the weight of the indicator; 4. Use the weights obtained by the entropy weight method to weight each candidate route plan, calculate the distance between each plan and the ideal solution (optimal plan) and the negative ideal solution (worst plan), and calculate the relative closeness (C value) of each plan based on the distance. The larger the C value, the better the plan.

[0027] S5 Optimization Parameters According to the execution of the algorithm, the parameters of the algorithm are optimized, such as adjusting the size of eigenvalues, influencing factors, etc., to improve the efficiency and accuracy of the algorithm.

[0028] It should be noted that the decision-making boosting algorithm needs to be adjusted and optimized according to the specific problem to achieve the best effect. At the same time, since the algorithm involves randomness, the same algorithm may get different results in different running processes, so multiple experiments are needed to verify the feasibility and accuracy of the algorithm.

[0029] Eigenvalue size: The size of the eigenvalue has a great influence on the decision of the result. Generally, the eigenvalue should be selected according to the complexity of the problem and the availability of computing resources. The following is the experimental data. Set the eigenvalue into the calculation and traverse each eigenvalue Each reference value .

[0030] Final basis , , repeat the calculation of the second number, determine the result of this implementation based on the predetermined hypothetical result value, combined with the calculation result, reach the termination condition, and determine the optimal solution. Using the calculated result value, according to the characteristic value of the outbound call line channel and equipment, set the final line allocation method, so as to give full play to the best performance of the line and equipment under the existing equipment line conditions.

[0031] Using Python for data crunching clf = GBC(n_estimators=10 #The number of iterations is 10 times ,random_state=1209) clf = clf.fit(X_clf,y_clf) print(clf.n_estimators_) #The actual number of iterations is 10 print(clf.estimators_.shape) print(clf.estimators_[0]) 1. Gateway equipment line reference indicators 2. Model direct prediction Data drill using Python # Gradient boosting regression tree gbr = GBR(random_state=1024) #Model instantiation result_gbdt = cross_validate(gbr, X, y, cv=cv, scoring="neg_root_mean_squared_error" #Evaluation indicator: negative root mean square error, return_train_score=True #Whether to return the training score, verbose=True #Whether to print the modeling process, n_jobs=-1) #Call all CPUs to run print(RMSE(result_gbdt,"train_score")) print(RMSE(result_gbdt,"test_score")) From the data, we can see that the accuracy of the 6 groups of data in the test set is 100%, and the overall accuracy of prediction is 0.92895. The data is of reference value.

[0032] 3. Line matching probability value Xtrain,Xtest,Ytrain,Ytest = train_test_split(X,y,test_size=0.3,random_state=1209) start = time.time() reg_prestop = GBR(n_estimators=1000, validation_fraction=0.3,n_iter_no_change=10,tol=0.001, random_state=1209).fit(Xtrain,Ytrain) print('Termination condition:') print(time.time()-start) print(reg_prestop.n_estimators_) print(reg_prestop.score(Xtest,Ytest)) start = time.time() reg_norm=GBR(n_estimators=1000,random_state=1209).fit(Xtrain,Ytrain) print('Normal situation:') print(time.time()-start) print(reg_norm.n_estimators_) print(reg_norm.score(Xtest,Ytest)) The decision tree model essentially predicts not the exact classification of 0 or 1, but the probability of belonging to a certain classification.

[0033] 4. Model prediction effect evaluation tree_reg = DTR(random_state=1209) #Decision tree rf = RFR(n_estimators=78, max_depth=26, max_features=14, min_impurity_decrease=0,random_state=1209, verbose=False, n_jobs=-1) # Random Forest for init in[tree_reg, rf, "zero", None]: reg = GBR(init = init, random_state=1209) cv = KFold(n_splits=4, shuffle=True, random_state=1209) result_reg=cross_validate(reg,X,y,cv=cv,scoring="neg_root_mean_squared_error", return_train_score=True, verbose=False,n_jobs=-1) print("\n") print("init=",init) print(RMSE(result_reg, "train_score")) print(RMSE(result_reg, "test_score")) 5. Feature Importance Assessment After the model is built, sometimes you also need to know the importance of each feature variable, that is, which feature variables play a greater role in the model. This importance is called feature importance.

[0034] In the decision tree model, the greater the contribution of a feature variable to the reduction of the overall Gini coefficient of the model, the greater its feature importance.

Claims

1. A method for allocating outbound call line resources based on a decision tree algorithm, characterized in that The steps include: 1). Initialize the model Select a loss function and initialize a decision tree as the initial prediction model , whose predicted value is usually the mean or mode of all training sample labels; 2) Iterative training For each iteration t (t=1, 2, ..., T), perform the following steps: 2.1) Calculate the residual Calculate the current model The residual on each training sample , ,in It is a sample The true label of 2.2) Fitting a new decision tree Use the residual rt,i as the new label to train a new decision tree ; This new decision tree fits the current residual; 2.3) Update the model According to the new decision tree and learning rate , Is a positive number less than 1, update the model: ; 3). Output the final model After T iterations, the final strong learner is obtained ; In the prediction stage, for new input data x, use F(x) to make predictions; 4). Parameter adjustment In practical applications, some parameters need to be adjusted to optimize the performance of the model, such as the number of trees T, that is, the number of iterations, the learning rate η, the depth of the tree, and the minimum number of samples of leaf nodes; 5). Determine the T value Stop training the model and determine the final reasonable value; set the weights of the above eigenvalues ​​through experience based on the number of existing outbound call line channels, equipment performance indicators, line carrying capacity, and equipment service life; perform iterative training according to steps 1-4 above; use the gradient boosting decision tree algorithm, and the change of individual positions is achieved through random search; each individual will randomly jump to a position near the current optimal solution, thereby realizing the idea of ​​searching for a local optimal solution, and by changing the weight of the eigenvalue, it is found that the requirements for outbound call line channel concurrency are met under the current status of outbound call lines and equipment.