Outbound task self-learning dynamic scheduling method and system based on real-time call result optimization

CN122698703APending Publication Date: 2026-09-04FUJIAN FUJITSU COMM SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610733647.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-26
Publication Date
2026-09-04

AI Technical Summary

Technical Problem

其缺陷在于,高度依赖人工调参与策略配置,难以匹配业务节奏变化;缺乏对同一用户重复呼叫的自动冷却机制,骚扰投诉风险管控粗放;机器学习模型需离线全量重训,更新代价高、周期长,模型随时间推移与实际数据分布偏差持续增大,预测准确率逐步下降

Benefits of technology

[0053] (1) This invention compresses the strategy response latency from the day/hour level to the second level, and the result of this call can affect the subsequent task ranking within 3 seconds. (1) This invention uses an incremental weight correction mechanism, and the computational amount of a single update is only one ten-thousandth of that of full retraining; it can continuously evolve 7×24 hours without manual intervention. (3) The real-time reordering mechanism of the remaining tasks in this invention continuously pushes users with high intention and high connection rate to the front of the queue, improving the overall resource utilization rate. (4) This invention adopts a similar user group transfer learning mechanism to upgrade the individual user's successive learning to the group's rule sharing. The semantic commitment recognition callback mechanism of this invention transforms the implicit colloquial commitment in the call into a precise callback task, improving the user conversion rate. (5) The seven-level differentiated cooling mechanism of this invention effectively reduces the complaint rate and meets the compliance requirements of the Ministry of Industry and Information Technology for anti-harassment outbound calls.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122698703A_ABST
    Figure CN122698703A_ABST
Patent Text Reader

Abstract

The application discloses an outbound task self-learning dynamic scheduling method and system based on real-time call result optimization, the method initializes an outbound task queue and stores based on an initial priority; executes the outbound task and asynchronously collects structured result data of the call through a message bus; crucially, based on the feedback data of a single call, the scheduling model is subjected to millisecond-level incremental learning to update parameters, and the priority of all remaining tasks is recalculated and atomic reordering is performed immediately, forming an updated task queue. This cycle realizes a second-level real-time closed loop of 'execution-feedback-optimization-re-execution'. The application solves the problems of large response delay and inability to adaptively optimize in traditional outbound scheduling, can significantly improve the connection rate, conversion rate and resource utilization rate of outbound tasks, and automatically reduce the risk of harassment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of mobile communication technology, and in particular to a self-learning dynamic scheduling method and system for outbound call tasks based on real-time call results optimization. Background Technology

[0002] Telecommunications operators rely heavily on outbound calling systems for proactive marketing and service outreach each year. Taking video ringback tones as an example, a single marketing campaign by a provincial operator can have a call list exceeding one million entries, with peak concurrent outbound calls reaching thousands per second. The core challenge facing outbound calling systems is maximizing conversion rates and minimizing harassment complaints within limited line resources, agent resources, and AI concurrency resources.

[0003] There are several solutions for existing outbound calling systems: (1) Fixed list order scheduling solution. This solution arranges the list to be called in the order of import or simple manual rules and executes them sequentially until the task is completed. Its drawback is that once the task queue is generated, it remains fixed and cannot be dynamically adjusted according to the real-time call results. When there are large-scale rejections or complaints during a specific period, the system still calls at the original pace, resulting in serious waste of line resources and a high proportion of invalid calls. (2) Batch processing statistical optimization scheduling solution. This solution summarizes the call data of the previous period every day and calculates the connection rate of different time periods and different user tags using statistical analysis methods, and adjusts the scheduling strategy for the next cycle accordingly. Its drawback is that the feedback delay is in hours or days, and it cannot respond to the real-time optimization needs of the call strategy during the sudden marketing window. At the same time, this solution can only process structured fields such as connection status and call duration, and cannot understand the semantic information such as the intention and commitment expressed by the user in the call, resulting in the loss of potential business opportunities. (3) Manual rule configuration or simple machine learning scheduling solution. This solution introduces a rule engine or offline trained machine learning model to assist in scheduling decisions. Its drawbacks are that it relies heavily on manual intervention and strategy configuration, making it difficult to match changes in business rhythm; it lacks an automatic cooling mechanism for repeated calls to the same user, resulting in a crude risk management of harassment complaints; the machine learning model needs to be fully retrained offline, which is costly and time-consuming to update, and the deviation between the model and the actual data distribution continues to increase over time, leading to a gradual decline in prediction accuracy.

[0004] In summary, existing outbound call scheduling solutions have systemic defects in multiple dimensions, including real-time performance, adaptability, semantic opportunity mining, fine-grained control of harassment risks, and resource status awareness. There is an urgent need to propose an outbound call scheduling method that can achieve second-level closed-loop feedback, continuous self-learning evolution, and multi-dimensional collaborative optimization. Summary of the Invention

[0005] The purpose of this invention is to address the systemic deficiencies of traditional solutions in terms of real-time performance, intelligence, risk control, and resource utilization, and to provide a self-learning dynamic scheduling method and system for outbound call tasks based on real-time call results optimization.

[0006] The technical solution adopted in this invention is:

[0007] The outbound call task self-learning dynamic scheduling method based on real-time call results optimization includes the following steps:

[0008] Obtain the list of numbers to be called, extract user feature data for each number from the user profile database, calculate the initial priority score for each number based on the preset initial weight parameters, and generate the initial task queue.

[0009] The scheduling engine retrieves numbers from the task queue in descending order of priority and executes outbound calls, while obtaining the call result data in real time.

[0010] Using the result of the current call as a monitoring signal, the initial weight parameters are updated online to obtain the updated weight parameters. The online incremental update only performs lightweight corrections on the relevant weight parameters based on the current call result.

[0011] Based on the updated weight parameters and user feature data, the priority scores of all remaining unexecuted tasks in the task queue are recalculated, and the remaining unexecuted tasks are dynamically reordered according to the recalculated priority scores to generate an updated task queue.

[0012] Furthermore, user characteristic data includes historical call time preferences, package type, consumption level, historical complaint records, last call time and result, etc.

[0013] Furthermore, the complete formula for calculating the outbound call task priority score P is as follows:

[0014] P = W1 × S1 Connection probability + W2 × S2 Intention value + W3 × S3 User value + W4 × S4 Appointment matching degree + W5 × S5 Group trend - W6 × R Harassment risk - W7 × C Resource cost;

[0015] The S1 connection probability is the probability of a user connecting at the current moment, predicted using a Logistic regression model based on the number's historical connection records, the current time period, weekday, and holiday markings, and takes a value between 0 and 1. If the number has no historical records, the connection rate of users in the same region and with the same tags is used as the initial estimate.

[0016] S2 intention value is a comprehensive analysis of the number's historical call intention level (if any), the user profile's package preference tags, and the activity matching degree. It outputs the current intention prediction score for this activity, with a value ranging from 0 to 1.

[0017] S3 user value is calculated based on user ARPU (average monthly spending), online time, and historical payment behavior, resulting in a commercial value score ranging from 0 to 1. High-value users enjoy scheduling priority under the same connection probability, ensuring that high-quality resources are prioritized for serving high-value users.

[0018] In the S4 appointment matching score, if the number has a semantic commitment time recognized by AI and the current time is within the commitment time window, this item will be scored higher (default 0.9); if the current time is not within the commitment window, this item will be scored as 0 to avoid reaching users at the wrong time.

[0019] The S5 group trend reflects the overall call connection trend of users in the same region and with the same tag at the current moment. If the call connection rate of similar users is significantly higher than the historical average in the last 30 minutes, this item is taken as a positive value to promote the early execution of similar users; if it is significantly lower than the historical average, this item is taken as a negative value to inhibit it.

[0020] The harassment risk rating is calculated based on the number of missed calls, the negative sentiment score of the last call, and historical complaint records. The rating ranges from 0 to 1. A higher risk score results in more points being deducted during priority calculations, thus reducing harassment complaints at the source.

[0021] Resource cost C is a resource cost score derived from the current system's outbound call cost per call (related to line type), current AI concurrency utilization, and the current number of available agents. When system resources are strained, low-value tasks are automatically downgraded to avoid resource waste.

[0022] W1 to W7 are the weight parameters for the corresponding items. Initial values ​​for W1 to W7 are loaded when the system starts up and are automatically fine-tuned through an incremental learning mechanism after each call. Weight updates use stochastic gradient descent with decay (SGD with decay), with the learning rate set to an adaptive range of 0.01 to 0.001 to ensure that the system can quickly respond to recent data changes without causing drastic fluctuations in weights due to individual outliers.

[0023] Furthermore, the call result data includes user tags and call duration;

[0024] Furthermore, the implementation of real-time acquisition of call result data includes:

[0025] When a call ends, the call execution platform (ESL) pushes complete call metadata to the specified Topic category in Kafka in real time. Call metadata includes the calling / received party information, ring duration, connection duration, hang-up reason code, and the path to the call recording file.

[0026] Natural language understanding is used to process call recordings and extract structured call results. The structured call results include connection status, call duration, reason for hanging up, intention level, sentiment score, and semantic commitment time.

[0027] The structured call results are then written back to Kafka for the scheduling engine to consume.

[0028] Specifically, the system consumes Kafka information through its built-in AI analysis model and performs intention classification (outputting four levels: high / medium / low / none), sentiment scoring (outputting scores from -1.0 to +1.0), and semantic commitment recognition (extracting users' colloquial time expressions and mapping them to a standard time range) to obtain structured call results. The structured call results include connection status, call duration, reason for hanging up, intention level, sentiment score, and semantic commitment.

[0029] Furthermore, after the call concludes, it also includes:

[0030] The call recordings are processed using speech-to-text and natural language understanding to identify the semantic information of the user's time commitment.

[0031] Map the semantic information of time commitment to specific callback time windows;

[0032] Based on the identified callback time window, a callback task is generated for the corresponding user number, and the execution time of the callback task is limited to the callback time window. Within the callback time window, the scheduling priority of the corresponding callback task is increased.

[0033] Furthermore, the implementation of online incremental updates of the initial weight parameters to obtain the updated weight parameters includes:

[0034] A decaying stochastic gradient descent algorithm is used to update the weight parameters in a lightweight manner, combined with weight boundary constraints and outlier detection to prevent the model from being contaminated by abnormal samples; among them, the population trend is calculated based on the moving average of the most recent N samples.

[0035] Specifically, the learning rate decays as the number of similar samples increases, gradually reducing the impact of each new sample on the weights and preventing later data from overly covering earlier patterns. The calculated weight parameters are compared with preset upper and lower bounds; weight parameters below the lower bound are revised to their corresponding lower bound values, and those above the upper bound are revised to their corresponding upper bound values. By employing weight boundary constraints, upper and lower bounds are set for each weight parameter to prevent extreme values ​​and ensure model stability. The group trend is calculated based on the moving average of the most recent N samples, avoiding the use of non-single-time results that could smooth short-term fluctuations. When a call result deviates from the current group mean by more than 3 standard deviations, the sample weight is reduced to 0.1 to prevent abnormal data from contaminating the model.

[0036] Furthermore, it also includes cooling control after the call ends, specifically including: automatically setting the cooling status of the corresponding number according to the result of the call and using a differentiated cooling strategy, and removing the number in cooling from the task queue until the cooling expires and it is restored to the task queue.

[0037] Furthermore, the alienation cooling strategy comprises seven levels, including:

[0038] When a call is connected and the caller shows high interest, set the cooldown period to no cooldown and immediately generate a follow-up task. If there is a commitment, call back within the committed time.

[0039] When a call is connected but the caller has low interest, a cooldown period of 7 days is set, and the current call number is removed from the current task queue. It can be added back to the task queue after 7 days.

[0040] When a call fails to connect for the first time (the first time), a cooldown period of 4 hours is set, the current call number is removed from the current task queue, and then re-added to the task queue with a lower priority after 4 hours.

[0041] If a call fails to connect twice (the second time), the cooldown period is set to 72 hours, and the call is suspended for 3 days.

[0042] If a call fails to connect more than three times (the third time), the cooling-off period is set to 30 days, which is a long-term cooling-off period.

[0043] When a call is actively disconnected and the emotional value is negative, the cooldown period is set to permanent call suspension, and the current call number is added to the blacklist of this event and will no longer be called.

[0044] When a call is explicitly complained about by a user, the cooling-off period is set to permanent call suspension, the current call number is added to the global blacklist, and all activities will not call it.

[0045] Furthermore, by invoking the predicted Lua script, the updated priority scores of all remaining tasks are calculated in batches using atomic operations.

[0046] Furthermore, the present invention also discloses a self-learning dynamic scheduling system for outbound call tasks based on real-time call results optimization, comprising:

[0047] The scheduling engine is used to obtain a list of numbers to be called and extract user feature data, calculate the initial priority score of each number based on the initial weight parameters to generate an initial task queue, issue outbound calling tasks in priority order, perform online incremental updates of weight parameters with the result of a single call as a supervision signal, recalculate the priority score of all remaining unexecuted tasks in the task queue based on the updated weight parameters and dynamically reorder them, and perform differentiated cooling control and group transfer learning trigger judgment.

[0048] The message bus is used for asynchronous transmission of call results and feedback events;

[0049] A real-time caching layer is used to store task queues, weight parameters, and user cooldown status.

[0050] The call execution platform is used to execute outbound calls and transmit call events back in real time.

[0051] The AI ​​analysis layer is used to perform natural language understanding analysis on the recorded call text and generate structured call results.

[0052] The present invention adopts the above technical solution and has the following beneficial effects:

[0053] (1) This invention compresses the strategy response latency from the day / hour level to the second level, and the result of this call can affect the subsequent task ranking within 3 seconds. (1) This invention uses an incremental weight correction mechanism, and the computational amount of a single update is only one ten-thousandth of that of full retraining; it can continuously evolve 7×24 hours without manual intervention. (3) The real-time reordering mechanism of the remaining tasks in this invention continuously pushes users with high intention and high connection rate to the front of the queue, improving the overall resource utilization rate. (4) This invention adopts a similar user group transfer learning mechanism to upgrade the individual user's successive learning to the group's rule sharing. The semantic commitment recognition callback mechanism of this invention transforms the implicit colloquial commitment in the call into a precise callback task, improving the user conversion rate. (5) The seven-level differentiated cooling mechanism of this invention effectively reduces the complaint rate and meets the compliance requirements of the Ministry of Industry and Information Technology for anti-harassment outbound calls.

[0054] In summary, this invention achieves a systematic upgrade of the outbound call scheduling system from multiple dimensions, including real-time performance, adaptability, compliance, and economy. Attached Figure Description

[0055] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments;

[0056] Figure 1 This is a schematic diagram illustrating the principle of the outbound call task self-learning dynamic scheduling method based on real-time call results optimization according to the present invention. Detailed Implementation

[0057] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.

[0058] like Figure 1 As shown, this invention discloses a self-learning dynamic scheduling method for outbound call tasks based on real-time call results optimization, comprising the following steps:

[0059] Obtain the list of numbers to be called, extract user feature data for each number from the user profile database, calculate the initial priority score for each number based on the preset initial weight parameters, and generate the initial task queue.

[0060] The scheduling engine retrieves numbers from the task queue in descending order of priority and executes outbound calls, while obtaining the call result data in real time.

[0061] Using the result of the current call as a monitoring signal, the initial weight parameters are updated online to obtain the updated weight parameters. The online incremental update only performs lightweight corrections on the relevant weight parameters based on the current call result.

[0062] Based on the updated weight parameters and user feature data, the priority scores of all remaining unexecuted tasks in the task queue are recalculated, and the remaining unexecuted tasks are dynamically reordered according to the recalculated priority scores to generate an updated task queue.

[0063] Specifically, as a feasible implementation method, operators import a list of numbers to be called (supporting both CSV and API methods) through the management backend and associate it with the corresponding marketing campaign configuration; the system pulls feature data for each number from the user profile database, including: historical call time preferences, package type, consumption level, historical complaint records, last call time and result, etc.; the scheduling engine calculates an initial priority score P for each number and writes all numbers into a Redis sorted set (ZSET) according to the P value to form an initial task queue; furthermore, the complete formula for calculating the outbound call task priority score P is as follows:

[0064] P = W1 × S1 Connection probability + W2 × S2 Intention value + W3 × S3 User value + W4 × S4 Appointment matching degree + W5 × S5 Group trend - W6 × R Harassment risk - W7 × C Resource cost;

[0065] The S1 connection probability is the probability of a user connecting at the current moment, predicted using a Logistic regression model based on the number's historical connection records, the current time period, weekday, and holiday markers, and takes a value between 0 and 1. If the number has no historical records, the connection rate of users in the same region and with the same tags is used as the initial estimate. The Logistic regression prediction formula is as follows:

[0066] ;

[0067] in: , For input variables, and ; , , , , and These are the weights of the corresponding items; For the current hour (0–23), sin / cos periodic encoding can be used: sin(2πh / 24), cos(2πh / 24); The value represents the current week, ranging from 0 to 6, where 0 = Sunday; This is used to mark holidays; a value of 1 indicates a holiday, and a value of 0 indicates a workday. This represents the historical connection rate for this number; if there is no historical record, a cold start estimate is used. Encode the last call result: connected = 1, missed = 0, rejected = −1. The formula for calculating the cold start estimate (numbers with no history) is: , Where: G is the set of users in the same region and with the same tag; h is the current hour; d is the weekday type (weekday / weekend / holiday). Tag users to create user profiles.

[0068] S2 intention value is a comprehensive score that combines the number's historical call intention level (if any), the user profile's package preference tags, and the activity's match rate. It outputs a predicted intention score for the current activity, ranging from 0 to 1. The corresponding weighted fusion formula is:

[0069] ;

[0070] in, As a reflection of historical intentions, , , For historical intention level, The highest historical intention level (e.g., four levels: none = 0, low = 1, medium = 2, high = 3, then) =3); For package preference matching, ; For activity matching degree, A represents the set of tags for this event, and U represents the set of user profile tags.

[0071] Constraints: ,each As a feasible implementation method, The initial value can be 0.4, 0.35, or 0.25.

[0072] S3 user value is calculated based on user ARPU (Average Monthly Revenue Per User), online time, and historical payment behavior, resulting in a commercial value score ranging from 0 to 1. High-value users enjoy scheduling priority under equal connection probabilities, ensuring that premium resources are prioritized for serving high-value users. The corresponding weighted fusion formula is:

[0073] ;

[0074] in, This represents the average monthly spending. Duration of online time; Historical payment amount;

[0075] Constraints: As a feasible implementation, The initial values ​​are: 0.5, 0.3, 0.2.

[0076] Quantile normalization can effectively resist the skewing effect of high-spending users on the score distribution. (The above...) , , All values ​​were first normalized to quantiles (anti-outlier values) before calculation. The expression for quantile normalization is as follows:

[0077] ;

[0078] in, for The ascending ranking among all users, where N is the total number of users, or the sliding window size, i.e., the number of sliding samples for group trend and outlier detection.

[0079] In the S4 appointment matching score, if the number has a semantic commitment time recognized by AI and the current time is within the commitment time window, this item will be scored higher (default 0.9); if the current time is not within the commitment window, this item will be scored as 0 to avoid reaching users at the wrong time. , , These are the revelation time and end time of the commitment time window, respectively. They are obtained by the AI ​​semantic commitment recognition module after extracting the user's spoken time expression from the call recording and mapping it. The default high score is 0.9, which can be adjusted through parameter configuration.

[0080] The S5 group trend reflects the overall call connection trend of users in the same region and with the same tag group at the current moment. If the call connection rate of similar users in the last 30 minutes is significantly higher than the historical average, this item is taken as a positive value, promoting the early execution of similar users; if it is significantly lower than the historical average, this item is taken as a negative value, having a suppressive effect. The specific calculation steps are as follows:

[0081] (1) Calculate the real-time connection rate over the past 30 minutes: ;

[0082] (2) Calculate the historical baseline mean (for the same week and hour, take the last 30 days) ;

[0083] Where D is the set of historical time periods of the same type (matching weekday type + hour segment), and |D| is the number of days (it is recommended to take the last 30 days).

[0084] (3) Calculate the group trend deviation score: λ represents sensitivity, controlling the degree of deviation amplification. An initial value of 3.0 is recommended. The larger the value of λ, the more sensitive the small deviation is to the effect of S5. ε is a smoothing term, preventing division by zero, and is set to 10⁻. 4 tanh is a compression function that compresses the output value to (−1, +1), naturally implementing this function. Positive values ​​advance execution, while negative values ​​suppress execution. Additionally, when the number of calls from the same group in the past 30 minutes is < (When it is recommended to do this 5 times, set S5=0 to avoid small sample noise.)

[0085] The harassment risk is calculated based on the number's cumulative missed calls, the negative sentiment score of the last call, and historical complaint records. A risk score ranging from 0 to 1 is assigned. A higher risk score results in more points being deducted during priority calculations, thus reducing harassment complaints at the source. The comprehensive formula for harassment risk is: Constraints: The suggested initial values ​​are 0.4, 0.35, and 0.25.

[0086] in, This is the normalized value of the cumulative number of missed calls. The feasible value for μ is 0.5; when =1 ≈0.39; =3 ≈0.78; =5 ≈0.92, reflecting the diminishing marginal utility effect.

[0087] The score is for negative emotions. ;in Output values ​​for the AI ​​sentiment analysis model; (Extremely negative) Turn to ; (Very positive) Turn to ;

[0088] This is a normalized value of the number of historical complaints. , The maximum number of complaints is set at 3, which is a feasible value and a recommended value. One complaint earns 0.33 points, and ≥3 complaints earn the full score of 1.0, which triggers the permanent suspension of calls.

[0089] Resource cost C is a resource cost score derived by comprehensively considering the current system's single outbound call cost (related to line type), current AI concurrency utilization, and the current number of available agents. When system resources are strained, low-value tasks are automatically downgraded to avoid resource waste. The calculation formula is as follows: , For line costs, the current normalized cost per outbound call is defined in tiers according to line type (AI outbound / human agent / hybrid); For AI concurrency costs, ; The value is [0,1], and the higher the utilization rate, the higher the cost. For seat costs, , The value is [0,1], and the fewer available seats, the higher the cost; Constraints: The feasible initial values ​​are: 0.3, 0.4, 0.3.

[0090] W1 to W7 are the weight parameters for the corresponding items. Initial values ​​for W1 to W7 are loaded when the system starts and automatically fine-tuned through an incremental learning mechanism after each call. Weight updates employ stochastic gradient descent with decay (SGD with decay), with a learning rate set in an adaptive range of 0.01 to 0.001 to ensure the system can quickly respond to recent data changes without causing drastic weight fluctuations due to individual outliers. Feasible initial values ​​for W1 to W7 are 0.30, 0.20, 0.15, 0.20, 0.10, 0.15, 0.10, and 0.01, respectively.

[0091] The system loads the initial weight parameters corresponding to the activity (if the activity is running for the first time, the global default weight is used; if there is a similar activity in the past, the previous weight is migrated as the initial value); the task start event is published, and the scheduling engine enters a continuous polling state.

[0092] Furthermore, the call result data includes user tags and call duration; the implementation of real-time acquisition of call result data includes:

[0093] When a call ends, the call execution platform (ESL) pushes complete call metadata to the specified Topic category in Kafka in real time. Call metadata includes the calling / received party information, ring duration, connection duration, hang-up reason code, and the path to the call recording file.

[0094] Natural language understanding is used to process call recordings and extract structured call results. The structured call results include connection status, call duration, reason for hanging up, intention level, sentiment score, and semantic commitment time.

[0095] The structured call results are then written back to Kafka for the scheduling engine to consume.

[0096] Specifically, the system consumes Kafka information through its built-in AI analysis model and performs intention classification (outputting four levels: high / medium / low / none), sentiment scoring (outputting scores from -1.0 to +1.0), and semantic commitment recognition (extracting users' colloquial time expressions and mapping them to a standard time range) to obtain structured call results. The structured call results include connection status, call duration, reason for hanging up, intention level, sentiment score, and semantic commitment.

[0097] Furthermore, after the call concludes, it also includes:

[0098] The call recordings are processed using speech-to-text and natural language understanding to identify the semantic information of the user's time commitment.

[0099] Map the semantic information of time commitment to specific callback time windows;

[0100] Based on the identified callback time window, a callback task is generated for the corresponding user number, and the execution time of the callback task is limited to the callback time window. Within the callback time window, the scheduling priority of the corresponding callback task is increased.

[0101] Furthermore, the implementation of online incremental updates of the initial weight parameters to obtain the updated weight parameters includes:

[0102] A decaying stochastic gradient descent algorithm is used to update the weight parameters in a lightweight manner, combined with weight boundary constraints and outlier detection to prevent the model from being contaminated by abnormal samples; among them, the population trend is calculated based on the moving average of the most recent N samples.

[0103] Specifically, incremental learning only applies to the single new sample of "this call," making lightweight adjustments to the weight parameters in the model that match the features of that call. The computational cost of a single update is approximately 1 / 10000 of that of full retraining, and can be completed within milliseconds, fully meeting the requirements of high-concurrency production environments. To prevent the model from being skewed by abnormal samples, this invention introduces the following protection mechanism:

[0104] The learning rate decays as the number of similar samples increases, gradually reducing the impact of each new sample on the weights and preventing later data from overly covering earlier patterns. The calculated weight parameters are compared with preset upper and lower bounds; weight parameters below the lower bound are revised to their corresponding lower bound values, and those above the upper bound are revised to their corresponding upper bound values. Weight boundary constraints are used to set upper and lower bounds for each weight parameter, preventing extreme values ​​and ensuring model stability. The group trend is calculated based on the moving average of the most recent N samples, avoiding the use of non-single-time results that could smooth short-term fluctuations. When a call result deviates from the current group mean by more than 3 standard deviations, the sample weight is reduced to 0.1 to prevent abnormal data from contaminating the model.

[0105] The specific steps are as follows: (1) Obtain the supervision signal y:

[0106] ;

[0107] (2) The predicted value is obtained by normalizing the priority score using the sigmoid function;

[0108] ;

[0109] ;

[0110] (3) Calculate the binary cross-entropy as the loss function;

[0111] ;

[0112] (4) Calculate the gradient:

[0113] ;

[0114] in, For the corresponding scoring items, ), R and C have their gradient directions reversed.

[0115] (5) Update SGD weights based on decaying learning rate;

[0116] ;

[0117] ;

[0118] in, The initial learning rate is recommended to be in the range of [0.001, 0.01]. In the early stages of the activity, the upper bound can be used for fast convergence, and the rate will automatically decrease in the middle and later stages. The attenuation factor is recommended to be 10⁻. 4 To control the decay rate; as the number of similar samples t increases, the influence of each new sample gradually decreases; t is the cumulative number of calls with the same feature combination (time period + label + activity type).

[0119] (6) Apply weight boundary constraints (to prevent degradation);

[0120] ;

[0121] Recommended constraint range: =0.01, =2.0 (the upper and lower bounds of each weight item can be set differently).

[0122] (7) Perform outlier protection processing (weighting of abnormal samples);

[0123] like Then the effective learning rate of the sample is reduced to ;

[0124] in, and Let y be the mean and standard deviation of the supervision signals y from the nearest N similar samples (N is recommended to be 50). If the result of a call deviates from the mean of the current group by more than 3 standard deviations, it is considered an outlier sample, and its sample weight is reduced to 0.1 to avoid the model being contaminated by outlier data.

[0125] Furthermore, it also includes cooling control after the call ends, specifically including: automatically setting the cooling status of the corresponding number according to the result of the call and using a differentiated cooling strategy, and removing the number in cooling from the task queue until the cooling expires and it is restored to the task queue.

[0126] Furthermore, the alienation cooling strategy comprises seven levels, including:

[0127] When a call is connected and the caller shows high interest, set the cooldown period to no cooldown and immediately generate a follow-up task. If there is a commitment, call back within the committed time.

[0128] When a call is connected but the caller has low interest, a cooldown period of 7 days is set, and the current call number is removed from the current task queue. It can be added back to the task queue after 7 days.

[0129] When a call fails to connect for the first time (the first time), a cooldown period of 4 hours is set, the current call number is removed from the current task queue, and then re-added to the task queue with a lower priority after 4 hours.

[0130] If a call fails to connect twice (the second time), the cooldown period is set to 72 hours, and the call is suspended for 3 days.

[0131] If a call fails to connect more than three times (the third time), the cooling-off period is set to 30 days, which is a long-term cooling-off period.

[0132] When a call is actively disconnected and the emotional value is negative, the cooldown period is set to permanent call suspension, and the current call number is added to the blacklist of this event and will no longer be called.

[0133] When a call is explicitly complained about by a user, the cooling-off period is set to permanent call suspension, the current call number is added to the global blacklist, and all activities will not call it.

[0134] Specifically, the detailed process of the aforementioned outbound call, taking a video ringback tone marketing campaign as an example, is as follows:

[0135] Step 1: Task Deployment. The scheduling engine retrieves the highest priority task from the Redis ZSET using the ZPOPMAX command, encapsulates it into a call command, and sends it to FreeSWITCH via the ESL interface, recording the deployment timestamp and task snapshot.

[0136] Step 2: Call Execution. FreeSWITCH initiates an outbound call, continuously generating an event stream (CHANNEL_CREATE / CHANNEL_ANSWER / CHANNEL_HANGUP, etc.) during the call. At the end of the call, ESL pushes complete call metadata (caller / called party, ring duration, connection duration, hang-up reason code, call recording file path) to the specified Kafka Topic in real time.

[0137] Step 3: AI Analysis. The AI ​​analysis layer consumes Kafka messages and performs three analyses: intention classification (outputting four levels: high / medium / low / none), sentiment scoring (outputting scores from -1.0 to +1.0), and semantic commitment recognition (extracting users' colloquial time expressions and mapping them to standard time ranges). The results are then written back to Kafka for the scheduling engine to consume.

[0138] Step 4: Incremental Weight Update. Using the features of this call (time period, user tag combination, activity type) as input and the result as a supervision signal, perform a lightweight gradient update on the relevant weight parameters in the scheduling model. The updated weight parameters are written back to Redis for global effect without requiring a service restart. Simultaneously, it checks whether the conditions for group transfer learning have been triggered.

[0139] Step 5: Cooling-off Control. Based on the call results, the number's cooling status is automatically set according to a seven-tier differentiated cooling strategy (see Section 6.3 for cooling strategy details). Numbers in cooling-off mode are automatically removed from the activity queue and automatically reinstated upon expiration.

[0140] Step 6: Dynamic Reordering of Remaining Tasks. After completing weight updates and cooldown control, the scheduling engine recalculates the priority scores of all remaining tasks in the Redis ZSET and atomically updates the sorted set in batches using Lua scripts. The complete reordering of 500,000 tasks is completed within 200ms, without affecting the concurrent throughput of ongoing outbound calls.

[0141] Step 7: Semantic Commitment Callback Task Generation. If the AI ​​identifies a user's time commitment in Step 3, the scheduling engine automatically generates a new callback task, sets the execution time window to the commitment time range extracted by the AI, and significantly increases the priority of the number within this time window (multiplied by the commitment weighting coefficient, default value 3.0).

[0142] Furthermore, by invoking the predicted Lua script, the updated priority scores of all remaining tasks are calculated in batches using atomic operations.

[0143] Furthermore, the present invention also discloses a self-learning dynamic scheduling system for outbound call tasks based on real-time call results optimization, comprising:

[0144] The scheduling engine is used to obtain a list of numbers to be called and extract user feature data, calculate the initial priority score of each number based on the initial weight parameters to generate an initial task queue, issue outbound calling tasks in priority order, perform online incremental updates of weight parameters with the result of a single call as a supervision signal, recalculate the priority score of all remaining unexecuted tasks in the task queue based on the updated weight parameters and dynamically reorder them, and perform differentiated cooling control and group transfer learning trigger judgment.

[0145] The message bus is used for asynchronous transmission of call results and feedback events;

[0146] A real-time caching layer is used to store task queues, weight parameters, and user cooldown status.

[0147] The call execution platform is used to execute outbound calls and transmit call events back in real time.

[0148] The AI ​​analysis layer is used to perform natural language understanding analysis on the recorded call text and generate structured call results.

[0149] An example application scenario of this invention: A video ringback tone marketing campaign by a provincial telecom operator. The initial call list consisted of 500,000 entries, the system was configured with 200 concurrent lines, and the peak outbound call rate was approximately 10,000 calls per minute. The execution process and dynamic optimization results are as follows:

[0150] The system starts and makes outbound calls in the initial queue order; the actual connection rate during the 14:00-15:00 period is only 38% (most users are busy with meetings in the afternoon). The system gradually reduces the weight of this period through incremental learning. After about 20 minutes (accumulated feedback from about 200 calls), the system automatically lowers the priority of this period in subsequent tasks.

[0151] AI analysis identified 5 calls where the user made a time commitment (e.g., "Let's talk after get off work" or "Let's talk after 8 pm"). The system automatically generated callback tasks for these 5 numbers with a time window of 20:00-22:00 and significantly increased their priority.

[0152] A total of 8,000 numbers that failed to connect twice in a row will automatically enter a 72-hour cooling-off period, and line resources will be immediately released to high-intent users.

[0153] After executing approximately 60,000 calls, the system detected a group trend: the connection rate of users aged 40-50 with national calling packages was 32% higher than the average during the 18:30-20:00 time period. The system automatically scheduled all remaining users in this group in advance.

[0154] The overall structure of the remaining 440,000 tasks has changed significantly from the initial state: the proportion of users with high intent and high connection rate has increased from the initial 20% to 41%.

[0155] Table 1 - Comparison of performance indicators between the present invention and conventional solutions

[0156] Overall connection rate 41% 67% +63% Activity conversion rate Benchmark Up 45% +45% Invalid call proportion 58% 22% -62% User complaint rate Benchmark Down 78% -78% 50 million task completion time 8.2 hours 4.1 hours -50% Line resource utilization rate 38% 76% +100% Manual intervention times Multiple times / day Zero times Full-automatic

[0157] The system of this invention achieves complete decoupling of call execution and scheduling decision-making, with no blocking between them; all state data is stored in Redis, ensuring millisecond-level read and write operations; AI analysis is processed asynchronously and bypassed, without affecting the throughput of the main process; the Kafka partition design isolates tasks by batch and supports horizontal scaling.

[0158] The present invention adopts the above technical solution and has the following beneficial effects compared with the prior art:

[0159] (1) As shown in Table 1, this invention compresses the strategy response latency from the day / hour level to the second level. The result of this call can affect the subsequent task ranking within 3 seconds. In the scenario of sudden marketing window, the conversion rate is improved by more than 40% compared with the batch processing solution. (1) Through the incremental weight correction mechanism, the computational amount of a single update is only one ten-thousandth of that of full retraining. The model does not need to be stopped and can continue to evolve 7×24 hours without manual intervention. After about 1,000 call samples, the accuracy reaches more than 95% of the full training model. (3) The real-time reordering mechanism of the remaining tasks in this invention continuously pushes users with high intention and high connection rate to the front of the queue, improving the overall resource utilization rate by more than 60%. The complete reordering of 500,000 tasks only takes 200 milliseconds, and the task completion cycle is shortened by about 50%. (4) This invention adopts the same user group transfer learning mechanism to upgrade the individual user's successive learning to the group's rule sharing. In the scenario of sparse historical data, the optimization efficiency is improved by more than 5 times compared with pure single user learning. (5) The semantic commitment recognition callback mechanism of this invention transforms the implicit verbal commitments in the call into precise callback tasks, and the conversion rate of such users is more than 3 times that of ordinary users. (6) The seven-level differentiated cooling mechanism of this invention reduces the complaint rate by 78%, naturally meeting the compliance requirements of the Ministry of Industry and Information Technology for anti-harassment outbound calls. (7) This invention introduces real-time resource status as a priority calculation factor to ensure that high-value users get priority access to high-quality resources, and the overall input-output ratio is improved by more than 50%.

[0160] In summary, this invention achieves a systematic upgrade of the outbound call scheduling system from multiple dimensions, including real-time performance, adaptability, compliance, and economy.

[0161] Obviously, the described embodiments are only a part of the embodiments of this application, not all of them. Without conflict, the embodiments and features in the embodiments of this application can be combined with each other. The components of the embodiments of this application described and illustrated herein can generally be arranged and designed in various different configurations. Therefore, the detailed description of the embodiments of this application is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

Claims

1. A self-learning dynamic scheduling method for outbound call tasks based on real-time call results optimization, characterized in that, Includes the following steps: Obtain the list of numbers to be called, extract user feature data for each number from the user profile database, calculate the initial priority score for each number based on the preset initial weight parameters, and generate the initial task queue. The scheduling engine retrieves numbers from the task queue in descending order of priority and executes outbound calls, while obtaining the call result data in real time. Using the result of the current call as a monitoring signal, the initial weight parameters are updated online to obtain the updated weight parameters. The online incremental update only performs lightweight corrections on the relevant weight parameters based on the current call result. Based on the updated weight parameters and user feature data, the priority scores of all remaining unexecuted tasks in the task queue are recalculated, and the remaining unexecuted tasks are dynamically reordered according to the recalculated priority scores to generate an updated task queue.

2. The outbound call task self-learning dynamic scheduling method based on real-time call results optimization according to claim 1, characterized in that, User characteristic data includes historical call time preferences, package type, consumption level, historical complaint records, last call time and result, etc.

3. The outbound call task self-learning dynamic scheduling method based on real-time call results optimization according to claim 1, characterized in that, The complete formula for calculating the outbound call task priority score P is as follows: P = W1 × S1 Connection probability + W2 × S2 Intention value + W3 × S3 User value + W4 × S4 Appointment matching degree + W5 × S5 Group trend - W6 × R Harassment risk - W7 × C Resource cost; Among them, W1 to W7 are the weight parameters of the corresponding items.

4. The outbound call task self-learning dynamic scheduling method based on real-time call results optimization according to claim 3, characterized in that, The S1 connection probability is the probability of the user connecting at the current moment, predicted by a Logistic regression model based on the historical connection records of the number, the current time period, the weekday, and holiday markers. The value ranges from 0 to 1. S2 intention value is a comprehensive analysis of the historical call intention level of the number, the package preference tags in the user profile, and the activity matching degree. It outputs the current intention prediction score for this activity, with a value ranging from 0 to 1. S3 user value is a user business value score calculated based on user ARPU, online time, and historical payment behavior, with a value ranging from 0 to 1. The R harassment risk is a risk score calculated based on the number of missed calls, the negative emotion score of the last call, and historical complaint records. The score ranges from 0 to 1. Resource cost C is a resource cost score obtained by comprehensively considering the current system's outbound call cost per call, the current AI concurrency utilization rate, and the current number of available agents.

5. The outbound call task self-learning dynamic scheduling method based on real-time call results optimization according to claim 1, characterized in that, The implementation of real-time call result data acquisition includes: When the call ends, the call execution platform pushes the complete call metadata to the specified Topic category in Kafka in real time; the call metadata includes the caller / called party, ringing duration, connection duration, hang-up reason code, and call recording file path; Natural language understanding is used to process call recordings and extract structured call results. The structured call results include connection status, call duration, reason for hanging up, intention level, sentiment score, and semantic commitment time. The structured call results are then written back to Kafka for the scheduling engine to consume.

6. The outbound call task self-learning dynamic scheduling method based on real-time call results optimization according to claim 1, characterized in that, After the call ended, it also included: The call recordings are processed using speech-to-text and natural language understanding to identify the semantic information of the user's time commitment. Map the semantic information of time commitment to specific callback time windows; Based on the identified callback time window, a callback task is generated for the corresponding user number. The execution time of the callback task is limited to the callback time window, and the scheduling priority of the corresponding callback task is increased and inserted into the task queue within the callback time window.

7. The outbound call task self-learning dynamic scheduling method based on real-time call results optimization according to claim 3, characterized in that, The implementation of online incremental updates of the initial weight parameters to obtain the updated weight parameters includes: A decaying stochastic gradient descent algorithm is used to update the weight parameters in a lightweight manner, combined with weight boundary constraints and outlier detection to prevent contamination by abnormal samples; among them, the population trend is calculated based on the moving average of the most recent N samples.

8. The outbound call task self-learning dynamic scheduling method based on real-time call results optimization according to claim 1, characterized in that, It also includes cooling control after the call ends, specifically: setting the cooling status of the corresponding number according to the result of the call using a differentiated cooling strategy, and removing the number in cooling mode from the task queue until the cooling expires and it is restored to the task queue.

9. The outbound call task self-learning dynamic scheduling method based on real-time call results optimization according to claim 8, characterized in that, The alienation cooling strategy consists of seven levels, including: When a call is connected and the caller shows high interest, set the cooldown period to no cooldown and immediately generate a follow-up task. If there is a commitment, call back within the committed time. When a call is connected but the caller has low interest, a cooldown period of 7 days is set, and the current call number is removed from the current task queue. It can be added back to the task queue after 7 days. If a call fails to connect on its first attempt, a cooldown period of 4 hours is set, the current call number is removed from the current task queue, and then re-added to the task queue with a lower priority after 4 hours. If a call fails to connect twice, the cooldown period is set to 72 hours, and the call is paused for 3 days. If a call fails to connect more than three times, the cooling-off period is set to 30 days, which is equivalent to long-term cooling. When a call is actively disconnected and the emotional value is negative, the cooldown period is set to permanent call suspension, and the current call number is added to the blacklist of this event and will no longer be called. When a call is explicitly complained about by a user, the cooling-off period is set to permanent call suspension, the current call number is added to the global blacklist, and all activities will not call it.

10. A self-learning dynamic scheduling system for outbound call tasks based on real-time call results optimization, employing the self-learning dynamic scheduling method for outbound call tasks based on real-time call results optimization as described in any one of claims 1 to 9, characterized in that, The system includes: The scheduling engine is used to obtain a list of numbers to be called and extract user feature data, calculate the initial priority score of each number based on the initial weight parameters to generate an initial task queue, issue outbound calling tasks in priority order, perform online incremental updates of weight parameters with the result of a single call as a supervision signal, recalculate the priority score of all remaining unexecuted tasks in the task queue based on the updated weight parameters and dynamically reorder them, and perform differentiated cooling control and group transfer learning trigger judgment. The message bus is used for asynchronous transmission of call results and feedback events; A real-time caching layer is used to store task queues, weight parameters, and user cooldown status. The call execution platform is used to execute outbound calls and transmit call events back in real time. The AI ​​analysis layer is used to perform natural language understanding analysis on the recorded call text and generate structured call results.