Online customer service scheduling method and device, computer equipment and storage medium
By performing feature modeling and semantic analysis on user requests and calculating the matching degree in conjunction with customer service profile data, the problem of low matching accuracy and unbalanced load in existing customer service scheduling methods is solved, realizing intelligent allocation of customer service resources and improving customer service quality and efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING BAILONGMA TECHNOLOGY CO LTD
- Filing Date
- 2026-01-12
- Publication Date
- 2026-05-12
AI Technical Summary
Existing customer service dispatching methods lack feature modeling and multi-factor matching of user requests, resulting in low matching accuracy, unbalanced system load, and limited response speed. Customer issues cannot be accurately assigned to the most suitable customer service representative, leading to low resource utilization.
By performing feature modeling on user requests, extracting text content for semantic analysis, generating request feature data, and combining it with customer service personnel profile data to calculate the matching degree, and comprehensively considering skill tags, load factors, and historical processing data, multi-dimensional intelligent matching and allocation are achieved.
It improved the accuracy and fairness of matching, optimized the utilization of customer service resources, reduced invalid transfers and waiting time, and enhanced the customer service experience.
Smart Images

Figure CN122022282A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communications, and specifically to an online customer service dispatching method, apparatus, computer equipment, and storage medium. Background Technology
[0002] With the rapid development of the internet, the demand for online customer service has grown rapidly, making customer service scheduling a key factor affecting customer experience and business efficiency. Currently common customer service scheduling methods include polling, idle-priority scheduling, and manual assignment. While these methods can allocate requests to some extent, they generally rely on simple rules or manual intervention, failing to fully consider the specific characteristics of customer requests and the actual skill levels of customer service personnel.
[0003] However, existing scheduling methods have significant drawbacks in practical applications: First, the matching accuracy is low. Because they lack semantic analysis and feature extraction of user requests, and do not incorporate customer service personnel's skill tags, real-time status, and historical processing data, customer issues cannot be accurately assigned to the most suitable customer service representative. Second, the system load is unbalanced. Assignment based solely on sequence or idle status easily leads to some customer service representatives being overloaded while others remain idle, resulting in low overall resource utilization. Third, response speed is limited. The lack of multi-dimensional real-time matching calculations between requests and customer service representatives leads to long customer wait times. The root cause of these problems lies in the existing methods' lack of a modeling mechanism for request characteristics and dynamic scheduling capabilities based on multi-factor matching. Summary of the Invention
[0004] In view of this, embodiments of the present invention provide an online customer service scheduling method, apparatus, computer equipment, and storage medium to solve the problems of low matching accuracy and unbalanced system load caused by the lack of feature modeling of user requests and dynamic calculation based on multi-factor matching in existing customer service scheduling methods.
[0005] In a first aspect, embodiments of the present invention provide an online customer service dispatch method, the method comprising: Perform feature modeling on the currently pending user requests to obtain request feature data; Identify at least one customer service representative who is online and obtain profile data of the customer service representative; The matching degree between each customer service representative and the user request is calculated based on the request feature data and the profile data. The user request is assigned to the corresponding target customer service personnel based on the matching degree.
[0006] Furthermore, the step of performing feature modeling on the current user requests to be assigned to obtain request feature data includes: Extract the text content from the user request; Semantic analysis is performed on the text content to obtain the user's intent; Based on the user's intent, corresponding request feature data is generated, wherein the request feature data includes at least the question category and urgency.
[0007] Furthermore, the step of calculating the matching degree between each customer service representative and the user request based on the request feature data and the profile data includes: Analyze the skill tags, business information, and historical processing data in the profile data; Calculate the skill matching degree between the question category and the skill tag in the request feature data; The load factor is determined based on the business information, and the matching degree between the customer service personnel and the user request is calculated based on the skill matching degree, the load factor, and the historical processing data.
[0008] Furthermore, determining the load factor based on the business information includes: Obtain the customer service personnel's work data, wherein the work data includes at least the number of service requests, the processing progress of each service request, and the duration; Based on the number of service requests, the processing progress of each service request, and the duration, the estimated remaining processing time for the customer service personnel is predicted. The load factor of the customer service personnel is calculated based on the estimated remaining processing time, wherein the load factor is positively correlated with the estimated remaining processing time.
[0009] Furthermore, calculating the matching degree between the customer service representative and the user request based on the skill matching degree, the load factor, and the historical processing data includes: Extract the dispatch rating of the customer service personnel from the historical processing data; The corresponding request priority is determined based on the user information corresponding to the user request. The skill matching degree, the load factor, the scheduling score, and the request priority are fused and calculated according to a preset weight list to obtain the matching degree between the customer service personnel and the user request.
[0010] Furthermore, the step of assigning the user request to the corresponding target customer service personnel based on the matching degree includes: The matching degree of each customer service representative is compared with the preset matching degree to obtain the comparison result; If the comparison result shows that there is a customer service representative with a matching degree greater than the preset matching degree, then the customer service representative with the highest matching degree is identified as the target customer service representative, and the user request is assigned to the target customer service representative. If the comparison result indicates that there is no customer service representative with a matching degree greater than the preset matching degree, the user request will be moved to the waiting queue.
[0011] Furthermore, after assigning the user request to the corresponding target customer service personnel based on the matching degree, the method further includes: Detect the processing progress of the user request; When the processing of the user request reaches the end node, obtain session feedback data; The preset weight list is optimized based on the session feedback data to obtain an optimized weight list.
[0012] Secondly, embodiments of the present invention provide an online customer service dispatching device, the device comprising: The processing module is used to perform feature modeling on the user requests currently to be assigned, and obtain request feature data; The identification module is used to identify at least one customer service representative who is online and to obtain the profile data of the customer service representative. The calculation module is used to calculate the matching degree between each customer service representative and the user request based on the request feature data and the profile data; The allocation module is used to allocate the user request to the corresponding target customer service personnel based on the matching degree.
[0013] Thirdly, embodiments of the present invention provide a computer device, including: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the method described in the first aspect or any corresponding embodiment thereof.
[0014] Fourthly, embodiments of the present invention provide a computer-readable storage medium storing computer instructions that cause a computer to perform the method described in the first aspect or any of its corresponding embodiments.
[0015] The method provided in this application has the following beneficial effects: The method provided in this application, by performing feature modeling on user requests, can extract the semantic category and urgency of the problem, thereby providing a structured and quantifiable data foundation for subsequent intelligent matching. By identifying online customer service representatives and obtaining their profile data, it is possible to comprehensively grasp the real-time status, skill tags, and historical processing data of each customer service representative, ensuring the information integrity of scheduling decisions. By calculating the matching degree based on request features and customer service profiles, multi-dimensional and dynamic intelligent evaluation is achieved, comprehensively considering key factors such as skill fit, load balancing, and service quality, significantly improving the accuracy and fairness of matching. By allocating requests based on the matching degree, user problems can be automatically routed to the most suitable customer service personnel, reducing invalid transfers and waiting time, and overall optimizing the utilization rate of customer service resources and improving the customer service experience. Attached Figure Description
[0016] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0017] Figure 1 This is a flowchart illustrating the online customer service dispatching method according to an embodiment of the present invention; Figure 2 This is a flowchart illustrating another online customer service dispatching method according to an embodiment of the present invention; Figure 3 This is a structural block diagram of an online customer service dispatching device according to an embodiment of the present invention; Figure 4 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0019] According to embodiments of the present invention, an online customer service dispatching method, apparatus, computer device, and storage medium are provided. It should be noted that the steps shown in the flowcharts in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0020] This embodiment provides an online customer service dispatching method. Figure 1 This is a flowchart of an online customer service dispatching method according to an embodiment of the present invention, such as... Figure 1 As shown, the process includes the following steps: Step S101: Perform feature modeling on the current user requests to be assigned to obtain request feature data.
[0021] In this embodiment, the text content of the request (such as direct text messages, text converted from images via OCR, or text converted from speech via ASR) is first extracted. Then, a pre-trained NLP model is used for semantic analysis, including intent recognition and classification, mapping the request to predefined question categories. Simultaneously, based on keywords in the request content, user history information, or preset rules, a quantified urgency score is evaluated and generated. When the request includes a screenshot, image recognition technology is integrated to extract text from the image to supplement the text content; or when the request comes from a high-value user, its urgency weight is automatically increased. Feature data is output, providing standardized input for subsequent customer service matching. For example, if a user sends the message "Why hasn't my order number 123456 been shipped yet?", NLP identifies the intent as "querying order status," the question category as "order-related," and the urgency is judged as "medium" based on words like "why hasn't it been shipped yet," thus generating request feature data containing these features.
[0022] Step S102: Identify at least one customer service representative who is online and obtain the representative's profile data.
[0023] In this embodiment, a real-time status monitoring service is used to filter out a set of currently available customer service personnel (i.e., those whose status is "online" and not unavailable such as "taking a break" or "busy"). For candidate customer service personnel, multi-dimensional capability and status information, i.e., profile data, is queried and integrated from the backend data system (such as a customer service archive, performance system, and real-time status database). Online status refers to a customer service representative being logged into the system, having an open conversation channel, and not being manually set to not accept new requests. Profile data includes at least: skill tags obtained from the skill matrix (such as "order processing" and "fee settlement"), business information obtained from real-time monitoring (such as whether they are currently providing service and the number of conversations in service), and historical processing data (such as average processing time, customer satisfaction, and resolution rate) statistically analyzed from historical records. Identifying online status can be achieved through a heartbeat mechanism or status push interface; obtaining profile data is accomplished through combined queries or separate calls to multiple microservice interfaces.
[0024] As an example, by polling the online status service, the currently online customer service representatives are identified as A, B, and C. Then, their profile data is queried: Customer Service A's skill tags are [Order Processing, Fee Settlement], business information is {Status: Idle, Current Service Count: 0}, and historical processing data is {Average Satisfaction: 4.8, Average Processing Time: 180 seconds}; Customer Service B's skill tag is [Complaint Handling], business information is {Status: Busy, Current Service Count: 2}, and historical processing data is {Average Satisfaction: 4.5, Average Processing Time: 300 seconds}; Customer Service C's skill tags are [Order Processing, Technical Consultation], business information is {Status: Idle, Current Service Count: 1}, and historical processing data is {Average Satisfaction: 4.9, Average Processing Time: 200 seconds}.
[0025] Step S103: Calculate the matching degree between each customer service representative and the user's request based on the request feature data and the profile data.
[0026] In this embodiment, request feature data and customer service personnel profile data are used as inputs. A matching score, representing the overall suitability of each candidate customer service representative in handling the current request, is generated using a pre-defined matching score calculation model (such as a multi-factor weighted scoring model). This matching score is a numerical result (typically within the range of 0 to 1 or 0 to 100). The calculation process essentially involves associating and fusing key information from the request feature data (such as problem category and urgency) with multi-dimensional information from the profile data (such as skill tags, real-time load status, and historical performance). First, the skill fit (i.e., the degree of match between the request's problem category and the customer service representative's skill tags) is evaluated. Then, load indicators reflecting the current busyness of the customer service representative and historical performance indicators reflecting their long-term service quality are combined, and priority weights are applied based on the urgency of the request or user value. Finally, the final matching score is calculated using a predefined algorithm (such as weighted summation of factors). The calculation process can employ dynamic weighting, automatically adjusting the weight ratio of each factor based on the current load rate or different problem categories; or it can introduce a predictive model that not only considers the current state but also predicts the impact of the allocation on the customer service representative's future load. To achieve the transformation from raw data into quantitative indicators for optimal decision-making.
[0027] As an example, for a user request with the request characteristics {problem category: fee settlement, urgency: high}, calculations were performed for two online customer service representatives: Customer Service Representative X's profile data shows that their skill tag includes fee settlement, their current workload is relatively light, and their historical performance score is high; Customer Service Representative Y's skill tag does not include fee settlement, they are currently idle but their historical performance is average. During the calculation, Customer Service Representative X scored very high in skill fit, and both their workload and performance factors were positive, resulting in a fit of 0.92; while Customer Service Representative Y, due to skill mismatch, even with a light workload, had a fit of only 0.45. This quantitative result distinguishes the degree of suitability between the two.
[0028] Step S104: Assign user requests to the corresponding target customer service personnel based on the matching degree.
[0029] In this embodiment, the matching scores of all candidate customer service representatives are first sorted, and the customer service representative with the highest matching score is identified as the target customer service representative. Then, by calling the allocation interface of the customer service workbench or session routing system, information such as the user's requested session identifier, user information, and parsed feature data is pushed to the target customer service representative's work queue, completing the process from algorithm calculation to actual service delivery. Furthermore, detailed logs of this allocation can be recorded, including the matching score, scores of each factor, and allocation timestamps, for subsequent analysis.
[0030] As an example, suppose the matching scores for three online customer service representatives are calculated based on a user request: Customer Service Representative A (0.85), Customer Service Representative B (0.72), and Customer Service Representative C (0.90). Customer Service Representative C (0.90), with the highest matching score, is selected as the target customer service representative. Subsequently, the internal routing interface is called to push the request's session ID, user basic information, and request characteristic data (such as the issue category being payment settlement) to Customer Service Representative C's pending queue. Customer Service Representative C's workbench interface then displays a session notification, completing the assignment. If Customer Service Representative C's status happens to change to "offline" at this point, an anomaly is detected, and the second-best performing representative, Customer Service Representative A (0.85), is selected as the new target customer service representative, and the assignment is re-executed.
[0031] In this embodiment of the application, feature modeling is performed on the currently pending user requests to obtain request feature data, including: Step A1: Extract the text content from the user request.
[0032] It should be noted that a user request refers to a consultation or service application initiated by a user through the online customer service system. Its raw data is a structured message package containing various data formats. The text content specifically refers to the sequence of language text within this message package that expresses the user's question, needs, or intentions; it is the direct input for semantic analysis and feature modeling.
[0033] Specifically, the first step is to parse the raw data of the user request. This raw data typically comes from a multi-channel access gateway and may contain metadata (such as user ID, session ID, timestamp, and channel source) and a payload. The core operation of this step is to extract the text content from the payload. Specific implementations may include the following: For plain text messages, the message body is directly obtained as the text content; for rich media or structured messages, such as messages containing images, files, or form options, the accompanying text description, filename, or user-selected option tags are extracted as the text content. If the message is primarily image-based (such as a screenshot), an optical character recognition module can be integrated to convert the text in the image into text content; if it is a voice message, it must first be converted to text using a speech recognition engine; for requests with accompanying metadata, the metadata used for routing and recognition (such as order numbers and product SKUs, which may exist in the form of tags) is stripped away, distinguishing it from the user-inputted question description text. Key information such as order numbers can be extracted and used as structured features in determining request priority.
[0034] Optionally, after extracting the core text string, basic text cleaning preprocessing can be performed, such as removing irrelevant special characters, standardizing encoding, correcting obvious typos (based on a preset dictionary), or filtering sensitive information.
[0035] Step A2 involves performing semantic analysis on the text content to obtain the user's intent.
[0036] Specifically, the pre-deployed NLP analysis module processes the input text content. A typical workflow includes: first, basic processing such as word segmentation, stop word removal, stemming, or lemmatization. Then, techniques like bag-of-words, TF-IDF, or word embeddings may be used to transform the text into machine-processable numerical feature vectors. Next, a trained intent classification model is used to analyze the feature vectors. This model can be built based on machine learning algorithms, such as support vector machines, random forests, or more common deep learning models like pre-trained language models based on the Transformer architecture. The model is trained on a large amount of labeled historical customer service dialogue data, learning to map text to one or more specific categories in a predefined set of intent categories. For example, the set might include "inquire about product features," "report transaction anomalies," "complain about logistics delays," and "seek technical guidance."
[0037] Intent recognition can be designed as single-label classification (one request corresponds to one main intent) or multi-label classification (one request contains multiple intents). Furthermore, the analysis process can be a cascaded or hybrid model: when dealing with highly standardized or domain-specific expressions, a pre-defined keyword list and regular expression rules can be combined for rapid matching, serving as a supplement to the statistical model or as pre-filtering; the analysis can consider not only the current text content but also previous dialogue history (if any) in the current conversation to eliminate ambiguity and more accurately understand referential relationships; the model outputs a confidence score along with the intent category. A threshold can be set, and the intent is only adopted when the confidence score is higher than the threshold; if it is lower than the threshold, a clarification process is triggered or it is classified as an "other / unrecognized" intent for further processing.
[0038] Step A3: Generate corresponding request feature data based on the user's intent. The request feature data includes at least the question category and urgency.
[0039] Specifically, firstly, there's the internal maintenance issue category list, a standardized classification of the customer service skills system and service catalog, including categories such as "Order Related," "Fee and Settlement," "Account Security," and "Logistics Complaints." This list, through a mapping table or rule engine, directly associates identified user intents (such as "Check Shipping Costs" or "Complain about a Courier") with one or more of the most relevant issue category tags. For example, the intent to "Check Shipping Costs" maps to the "Fee and Settlement" category.
[0040] Urgency is a quantitative score indicating the time-sensitive nature of a request's processing. Its calculation can consider the following factors: implicit urgency in intent (directly analyzing whether the user's intent or original text contains high-priority words such as "urgent," "as soon as possible," "malfunction," or "unusable"); user information association (combining user information associated with the request, such as user level and historical complaint records; requests from high-value users or users with recent complaint history may be assigned a higher base urgency); and preset rules (certain issue categories, such as "safety and emergency") automatically associate high urgency. Simple classification or scoring models can also be introduced, taking the above features (intent keywords, user tags, issue category) as input and outputting an urgency value within a preset range (e.g., 1-5 points). The output request feature data should include at least the determined issue category (e.g., "fees and settlement") and the calculated urgency score in its core fields.
[0041] By extracting the text content of user requests, an accurate raw data source is provided for subsequent analysis, ensuring the reliability of the modeling process. Semantic analysis of the text content enables a deep understanding of the core intent of the customer's problem, providing a cognitive foundation for classification and scheduling. Generating request feature data containing problem category and urgency based on user intent transforms abstract intent into structured objective features for scheduling calculations, achieving standardization of requests and explicit priority labeling, thereby improving the targeting and accuracy of subsequent matching processes.
[0042] In this embodiment of the application, the matching degree between each customer service representative and the user request is calculated based on request feature data and profile data, including: Step B1: Analyze the skill tags, business information, and historical processing data in the profile data.
[0043] Specifically, by accessing the customer service data center and related system interfaces, data from three core dimensions used for subsequent matching degree calculations are separated and extracted from structured profile data. First, the certified skill tag list (such as "order processing" and "fee settlement") is retrieved from the customer service representative's long-term profile and parsed into a program-usable data structure (such as a vector). Second, dynamic business information is queried and parsed from the real-time status management service, including the current "idle / busy" status and the number of sessions being processed, which forms the basis for assessing real-time load. Finally, historical processing data for the customer service representative is obtained from the processing data management system, and historical statistical indicators such as average processing time, problem resolution rate, and customer satisfaction are parsed. During the parsing process, preprocessing operations can be performed, such as converting statuses into enumerated values, converting the skill tag list into sparse vectors corresponding to the global skill set, or standardizing various historical processing data indicators to eliminate the influence of dimensions. The output consists of a separated set of skill tags, business information objects, and a set of historical processing data indicators, providing structured direct input for matching degree calculations.
[0044] Step B2: Calculate the skill matching degree between the question category and the skill tag in the request feature data.
[0045] Specifically, based on pre-defined matching rules or models, the problem categories in the request feature data are compared and evaluated with the customer service skill tag set, outputting a skill matching score to characterize the degree of fit between the two in the professional field. First, based on internally maintained mapping rules or correlation matrices, the correlation strength between each problem category and each skill tag is clarified (e.g., a perfect match is assigned a value of 1, partial relevance is assigned a value of 0.6, etc.). During calculation, matching is performed, directly checking whether there are tags in the customer service's skill tag list that are exactly the same as the problem category; and semantic similarity matching is performed, that is, by integrating a lightweight semantic model, the semantic relevance between tags is calculated to handle synonyms or near-synonyms; if the request involves multiple problem categories or the customer service has multiple related skill tags, strategies such as taking the highest value, average value, or weighted summation can be used for multi-tag comprehensive calculation. The output skill matching score, normalized to the 0-1 range, provides a key professional skill suitability indicator for subsequent multi-factor fusion calculations.
[0046] Step B3: Determine the load factor based on business information, and calculate the matching degree between customer service personnel and user requests based on skill matching degree, load factor, and historical processing data.
[0047] By analyzing skill tags, business information, and historical processing data from customer service profiles, multi-dimensional customer service capabilities and status information are decoupled into independent calculation factors, providing structured input for evaluation. Calculating the skill matching degree between problem categories and skill tags quantitatively measures the degree to which customer service personnel's professional abilities align with the current problem, ensuring accurate adaptation across professional skill dimensions. Determining load factors based on business information and calculating the final matching degree in conjunction with historical processing data introduces a dual adjustment mechanism of real-time load balancing and historical service quality. This ensures that the matching results consider both current resource utilization and long-term service efficiency, achieving a dynamic and comprehensive evaluation.
[0048] In this embodiment of the application, determining the load factor based on business information includes: Step B301: Obtain the customer service personnel's work data, which includes at least the number of service requests, the processing progress of each service request, and the duration.
[0049] Specifically, by calling the real-time monitoring interface or querying the session management database, detailed status information of all user sessions being processed by the target customer service representative at the time of calculation is actively collected. This information is collectively referred to as work data. The number of service requests refers to the total number of sessions currently assigned to the customer service representative and not yet closed; the processing progress of each service request describes the specific stage or state of each independent session (e.g., "waiting for the first response from customer service representative", "customer service representative has responded, awaiting user confirmation", "waiting for internal query results", "session is about to time out", etc.); the duration refers to the length of time each session has elapsed since its start. In addition to collecting instantaneous data, short-term time window sequences can be maintained to determine the dynamic trends of the number of service requests and the processing progress (e.g., the number of new sessions added in the past 5 minutes), providing a temporal context for subsequent predictions. The detailed data output, reflecting the instantaneous workload of customer service representatives, serves as the original basis for subsequent workload predictions.
[0050] Step B302: Based on the number of service requests, the processing progress of each service request, and the duration, predict the estimated remaining processing time for customer service personnel.
[0051] Specifically, using real-time work data and pre-built predictive models or empirical formulas, the total time required for a customer service representative to complete all currently processed service requests is estimated, i.e., the estimated remaining processing time. For each processing service request, considering its current processing progress (e.g., "responded and awaiting feedback," "inquiring") and duration, the individual remaining time is estimated by referring to the average completion time of similar historical scenarios or preset stage time standards. For example, a session in the "awaiting user response" stage that has lasted for 5 minutes is predicted to have a remaining processing time of 2 minutes; while a newly assigned session in the "awaiting first response" stage is predicted to have a remaining time of 10 minutes. The individual remaining times for each request are summed to obtain the total estimated remaining processing time for the customer service representative. Additionally, regression or machine learning models can be introduced, which predict based on progress, duration, the customer service representative's historical processing data (e.g., average processing speed), and the complexity of the request (which can be associated with the question category). The output, representing the future workload time, provides direct input for calculating the load factor.
[0052] Step B303: Calculate the load factor of customer service personnel based on the estimated remaining processing time, where the load factor is positively correlated with the estimated remaining processing time.
[0053] Specifically, the predicted remaining processing time (in absolute time units) is mapped to a standardized load factor value (usually between 0 and 1) using a pre-defined transformation function or rule. This load factor quantifies the current busy level of the customer service center or the expected load pressure in the future. The load factor is designed according to the principle of positive correlation with the predicted remaining processing time; that is, the longer the remaining time, the larger the factor value, representing a heavier load. A normalization function is defined, for example: setting a baseline maximum acceptable remaining time T_max. When the predicted remaining processing time is less than or equal to 0, the load factor is 0 (completely idle); when the time is equal to or exceeds T_max, the load factor is 1 (fully loaded). Within this range, the corresponding factor value is calculated using a linear or specific non-linear function (such as a logarithmic function with smooth growth). Personalized benchmark values can also be introduced, meaning T_max is not globally fixed but dynamically adjusted based on the customer service representative's historical processing data (such as average processing efficiency), making load assessment more personalized. Alternatively, the calculation can consider not only the sum of remaining time but also its variance (i.e., whether the time distribution of multiple tasks is uniform) to differentiate between scenarios with concentrated high pressure and smooth loads. The output load factor will directly serve as a negative adjustment indicator in the matching degree fusion calculation.
[0054] By acquiring work data including the number of service requests, processing progress, and duration, a comprehensive real-time snapshot of the current customer service workload is achieved, providing detailed evidence for load assessment. Based on this data, the estimated remaining processing time for customer service staff is predicted, enabling a proactive estimation of future workload and allowing for awareness of upcoming load pressure. Calculating a load factor positively correlated with the estimated remaining processing time transforms absolute time into a standardized pressure indicator, effectively preventing the assignment of new tasks to customer service staff already under pressure, thereby proactively promoting load balancing and improving the overall throughput and stability of the system.
[0055] In this embodiment of the application, the matching degree between customer service personnel and user requests is calculated based on skill matching degree, load factor, and historical processing data, including: Step B311: Extract the dispatch rating of customer service personnel from historical processing data.
[0056] Specifically, historical customer service processing data is acquired (including multiple performance indicators such as average processing time, problem resolution rate, and customer satisfaction). A comprehensive dispatch score is then read from or calculated in real time. This score is a quantitative summary of the historical service efficiency and quality of customer service personnel, used to reflect their long-term business processing level in the matching degree calculation. The dispatch score can be a static value pre-calculated and stored in the historical processing data, updated periodically by the backend based on various indicators; or it can be dynamically generated in real time. For example, it can be calculated using a preset weighted formula, normalizing key indicators such as average processing time (a negative indicator), problem resolution rate (a positive indicator), and customer satisfaction (a positive indicator), and then merging them into a total score according to business-defined weights (e.g., 40% for resolution rate, 40% for satisfaction, and 20% for processing efficiency). A time decay factor can also be introduced to give more weight to recent business processing data; or the indicator weights can be adjusted according to different problem categories (e.g., more emphasis on resolution rate for technical problems, and more emphasis on satisfaction for consultation problems), thereby extracting a more scenario-specific dispatch score. The output numerical scheduling score will serve as a positive incentive factor in subsequent matching degree fusion calculations.
[0057] Step B312: Determine the corresponding request priority based on the user information corresponding to the user request.
[0058] Specifically, based on user information associated with the current user request to be assigned (this information is parsed and attached to the request context during the request reception phase), a quantified request priority value is calculated using preset priority determination rules or models. This value is used to reflect the relative importance of the request in subsequent matching degree fusion calculations. User information typically includes static attributes (such as membership level, registration duration) and dynamic behavioral data (such as historical order amount, recent consultation or complaint frequency). In implementation, this information is input into a priority scoring card or rule engine. For example, VIP user requests automatically receive a higher basic priority; users with recent high-value orders or unresolved complaint history have their current requests prioritized; conversely, requests from ordinary users or low-activity users are assigned a standard priority. Additionally, when the overall load is high, the priority difference of high-value user requests is automatically amplified to ensure core customer experience; or it is determined whether the current session is the first of multiple requests initiated consecutively by the same user within a short period to distinguish between urgent recurring requests and ordinary consultations. The output request priority score, representing the relative importance of the request, will serve as a positive adjustment factor in the matching degree fusion calculation.
[0059] Step B313: Calculate the matching degree between customer service personnel and user requests by integrating skill matching degree, load factor, scheduling score and request priority according to the preset weight list.
[0060] Specifically, it is based on a predefined and configurable list of preset weights (which explicitly specifies the relative importance of four key factors—skill matching, load factor, scheduling score, and request priority—in the final decision-making process, for example...). , , , The four independently calculated factor values are integrated into a single comprehensive matching score using a defined mathematical fusion model (such as weighted linear summation or weighted synthesis with nonlinear transformation). Specifically, the calculation first ensures that each factor value is within a uniform dimension or standardized range (e.g., 0-1), and then the calculation is performed according to the following formula:
[0061] in, The degree of matching between customer service personnel and user requests; The weight corresponding to the skill matching degree; For skill matching; The weights corresponding to the load factor; It is a 1-load factor (the load factor is often converted to a 1-load factor because it is a negative indicator to maintain positive consistency). The weights corresponding to the scheduling score; Scoring for scheduling; The weight corresponding to the request priority; This determines the request priority.
[0062] In addition, the calculation process supports multiple preset weight lists and dynamically switches according to different problem categories or business periods (such as peak / off-peak) to achieve differentiated scheduling strategies; or, before fusion calculation, a threshold filtering mechanism is introduced for a certain factor (such as directly determining the total matching degree as 0 if the skill matching degree is lower than a certain minimum value) to ensure basic capability thresholds. The output is a matching degree score representing the overall suitability of a customer service representative in handling the current request, providing a direct basis for subsequent allocation decisions.
[0063] By extracting scheduling scores from historical processing data, customer service historical processing data is quantified into comparable scores, incentivizing high-quality service and ensuring that the matching score calculation reflects long-term service quality. Determining request priorities based on user information enables a differentiated service strategy, prioritizing the needs of high-value or urgent customers and optimizing the allocation of service resources. Skill matching, load factor, scheduling score, and request priority are integrated and calculated according to a preset weight list. Configurable weights achieve collaborative optimization and flexible balancing of multiple objectives (skill matching, load balancing, business processing incentives, and priority assurance), ensuring that the final matching score comprehensively and balancedly reflects the diverse needs of the business.
[0064] In this embodiment of the application, assigning user requests to corresponding target customer service personnel based on matching degree includes: Step C1: Compare the matching degree of each customer service representative with the preset matching degree to obtain the comparison result.
[0065] Specifically, the final matching score calculated for each candidate customer service representative is compared one by one with a predefined threshold (i.e., the preset matching score) to generate a comparison result. The preset matching score is a configurable threshold (e.g., 0.6) used to filter out customer service representatives whose overall suitability is below the basic requirement, ensuring the quality of allocation. The comparison result is a data structure containing the matching status judgment of each customer service representative. Typically, each customer service representative will receive a Boolean value ("pass" or "fail") or a category label (e.g., "qualified" or "unqualified"). In implementation, the matching score list of all candidate customer service representatives is traversed, and each value is compared with the preset matching score: if the customer service representative's matching score is greater than or equal to the preset matching score, it is marked as "meets the criteria"; otherwise, it is marked as "does not meet the criteria". The preset matching score can be dynamically adjusted, for example, by appropriately lowering the threshold to expand the candidate pool when customer service resources are scarce, or by raising the threshold to select the best customer service representatives when resources are abundant; or by performing parallel processing during the comparison process to improve the efficiency of traversal and comparison. The output comparison result divides the set of available and unavailable customer service representatives, providing a direct screening basis for allocation decisions.
[0066] Step C2: If the comparison result shows that there is a customer service representative with a matching degree greater than the preset matching degree, then the customer service representative with the highest matching degree is identified as the target customer service representative, and the user request is assigned to the target customer service representative.
[0067] Specifically, assuming the generated comparison results indicate that at least one customer service representative has a match score higher than the preset match score, the representative with the highest match score is selected from all eligible representatives and officially marked as the target customer service representative, triggering subsequent request allocation actions. First, the set of customer service representatives marked as "eligible" is sorted in descending order of their match score, and the representative with the highest score is selected as the target customer service representative. If multiple customer service representatives have the same highest match score, an auxiliary strategy (such as random selection or further comparison of their load factors, selecting the one with the lighter load) is used to determine a unique target. Then, by calling the customer service workbench allocation interface or updating the session routing status, the current user request (including all its context information) is officially associated and pushed to the target customer service representative, completing the allocation. Real-time status verification can be performed before allocation (such as a secondary confirmation that the customer service representative is still "online" and has not entered a "break" state) to prevent changes in status between calculation and execution; or detailed factor scores of this allocation decision can be recorded for subsequent optimization analysis.
[0068] Step C3: If the comparison result shows that there is no customer service representative with a matching degree greater than the preset matching degree, then the user request is moved to the waiting queue.
[0069] Specifically, when the comparison results show that the matching degree of all candidate customer service representatives does not reach the preset matching degree threshold set by the system, it is determined that there is no suitable customer service representative that can be directly assigned at present. A fallback processing procedure is then executed, storing the current user request (including its complete feature data and session context) in a dedicated buffer, namely the waitlist. The waitlist is an ordered list based on memory or persistent storage, used to temporarily hold user requests that cannot be immediately assigned. When a request is moved into the queue, it is tagged with a timestamp, request priority, and issue category. Requests in the waitlist are dynamically reordered based on their request priority and waiting time, ensuring that high-priority or long-waiting requests are given priority in the queue. Simultaneously, changes in customer service representative status (such as a customer service representative becoming idle or skill status being updated) are continuously monitored, or the scheduling calculation for requests in the queue is periodically retried. When a customer service representative's real-time conditions meet the requirements (e.g., the matching degree is higher than the threshold after calculation), the customer service representative is removed from the queue and assigned. This degradation and buffering mechanism ensures that user requests are not dropped when resources are temporarily insufficient, but instead enter a waiting state and are processed when the conditions are met, thus improving the robustness of the system and ensuring the processing of customer requests.
[0070] By comparing the matching degree of each customer service representative with a preset matching degree, a basic quality threshold is set, effectively filtering out customer service representatives with low overall suitability and ensuring basic allocation quality. If a matching customer service representative meets the criteria, the one with the highest matching degree is selected as the allocation target. This ensures that the optimal solution is always chosen from available resources, maximizing the overall efficiency of a single allocation. If no customer service representative meets the preset matching degree, the request is moved to a waiting queue. This provides a buffer mechanism for the system, avoiding the discarding or blind allocation of requests when resources are temporarily insufficient. It ensures that user requests are not lost and creates conditions for subsequent rescheduling or allocation after resource release, enhancing the robustness of the system and the continuity of customer experience.
[0071] In this embodiment of the application, after assigning user requests to corresponding target customer service personnel based on matching degree, such as Figure 2 As shown, the method also includes: Step S201: Detect the processing progress of the user request.
[0072] In this embodiment, after a user request is successfully assigned to a target customer service representative, the system continuously monitors and tracks the status of the corresponding customer service session to obtain its stage-by-stage status throughout its entire lifecycle, from start to finish. These status changes are collectively referred to as the processing progress. Specifically, by integrating with the customer service workbench or session management service, an event listening mechanism is established or periodic polling is performed to collect key status events and time points of the session. The processing progress is typically divided into multiple predefined nodes or stages, such as: "Assigned and awaiting processing," "First response from customer service," "Problem being processed," "Waiting for user feedback," "Waiting for internal collaboration," "Session about to time out," "Problem resolved," "Session closed," etc. By detecting status changes, the system determines the current stage of the session. It not only passively receives status change events but also actively calculates certain derived indicators, such as the duration of the current stage and whether it is approaching or has exceeded the preset recommended processing time for that stage, thus providing contextual information for feedback data collection (such as determining whether a processing delay has occurred). This enables real-time monitoring of the processing status of assigned requests, providing a basis for determining the end point of the session and collecting session feedback data.
[0073] Step S202: When the processing of the user request reaches the end node, obtain session feedback data.
[0074] In this embodiment, when the status of the customer service session corresponding to the user request is detected to have changed to a predefined final stage, i.e., the end node (usually "session closed" or "problem resolved"), a data collection process is automatically triggered. This process collects and summarizes multi-dimensional evaluation information about the service quality and outcome of the session from relevant systems or logs. This information constitutes the session feedback data. The determination of the end node is typically based on an explicit closing operation by the customer service workbench, automatic session timeout, or automatic marking of completion according to preset rules (such as no new messages from either party for a specific duration). After detecting this node, session feedback data is synchronously obtained from multiple sources. Its main components include: a satisfaction rating (such as a five-star rating) or evaluation tag actively submitted by the customer after the session ends; automatically calculated objective indicators, such as the total processing time of this session, message round trips, and whether the issue was successfully resolved (which can be determined based on whether subsequent inquiries about the same problem were related); and session notes or problem classification confirmations submitted by the customer service side. Additionally, lightweight evaluation requests can be proactively pushed near the end of a conversation to improve the feedback rate; or simple text sentiment analysis can be used to automatically determine the sentiment of the last few sentences of dialogue before the conversation ends, serving as an auxiliary feedback indicator. The output conversation feedback data, used to evaluate the effectiveness of a single allocation and processing, provides a data foundation for optimizing the scheduling model parameters.
[0075] Step S203: Optimize the preset weight list based on the session feedback data to obtain the optimized weight list.
[0076] Specifically, using session feedback data from a completed conversation (such as customer satisfaction, problem resolution indicators, and actual processing time), a pre-defined optimization algorithm or learning model is used to optimize a pre-defined weight list (i.e., ...) for matching score fusion calculation. , The system fine-tunes or updates the current weights of factors (such as [missing information]) to generate an optimized weight list, making future scheduling decisions more likely to produce results with higher customer satisfaction or better processing efficiency. In implementation, session feedback data (such as high satisfaction scores and short processing times) is used as incentive signals and correlated with the scores of various factors that led to the current allocation result (such as skill matching degree and load factor used in this calculation). The optimization method can be gradient descent: if the current allocation result is good (e.g., high satisfaction), the weights of those factors that contributed significantly to the matching are increased; conversely, if the feedback is poor, the weights of relevant factors are decreased or the weights of other factors are increased. After accumulating a certain batch of session feedback data, a batch learning algorithm (such as linear regression) is used to adjust the weights; or contextual information is introduced to maintain and optimize independent weight lists for sessions of different question categories, achieving strategy tuning.
[0077] By monitoring the processing progress of user requests, a closed-loop tracking of the lifecycle of assigned tasks is achieved, providing a complete context for performance evaluation. Session feedback data is acquired when the processing process reaches its end point, collecting outcome metrics including customer satisfaction and processing time, providing real and effective training data for algorithm optimization. Optimizing the preset weight list based on this session feedback data establishes a data-driven self-iterative mechanism, enabling the scheduling strategy to adaptively learn and adjust the weights of various influencing factors. This continuously improves the accuracy and fairness of future allocation decisions, achieving intelligent evolution and long-term performance assurance for the system.
[0078] This embodiment also provides an online customer service dispatch device, which is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0079] This embodiment provides an online customer service dispatch device, such as... Figure 3 As shown, it includes: Processing module 31 is used to perform feature modeling on the currently pending user requests to obtain request feature data; The identification module 32 is used to identify at least one customer service representative who is online and to obtain the profile data of the customer service representative. The calculation module 33 is used to calculate the matching degree between each customer service representative and the user's request based on the request feature data and the profile data. The allocation module 34 is used to allocate user requests to the corresponding target customer service personnel based on the matching degree.
[0080] In this embodiment of the application, the processing module 31 is specifically used to extract the text content in the user request; perform semantic analysis on the text content to obtain the user intent; and generate corresponding request feature data based on the user intent, wherein the request feature data includes at least the question category and urgency.
[0081] In this embodiment of the application, the calculation module 33 is specifically used to parse the skill tags, business information and historical processing data in the profile data; calculate the skill matching degree between the problem category and the skill tag in the request feature data; determine the load factor based on the business information; and calculate the matching degree between the customer service personnel and the user request based on the skill matching degree, the load factor and the historical processing data.
[0082] In this embodiment of the application, the calculation module 33 is specifically used to obtain the work data of the customer service personnel, wherein the work data includes at least the number of service requests, the processing progress of each service request, and the duration; predict the estimated remaining processing time of the customer service personnel based on the number of service requests, the processing progress of each service request, and the duration; calculate the load factor of the customer service personnel based on the estimated remaining processing time, wherein the load factor is positively correlated with the estimated remaining processing time.
[0083] In this embodiment of the application, the calculation module 33 is specifically used to extract the scheduling score of customer service personnel from historical processing data; determine the corresponding request priority based on the user information corresponding to the user request; and perform fusion calculation on skill matching degree, load factor, scheduling score and request priority according to a preset weight list to obtain the matching degree between customer service personnel and user requests.
[0084] In this embodiment of the application, the allocation module 34 is specifically used to compare the matching degree of each customer service personnel with the preset matching degree to obtain the comparison result; if the comparison result shows that there is a customer service personnel with a matching degree greater than the preset matching degree, then the customer service personnel with the highest matching degree is determined as the target customer service personnel, and the user request is allocated to the target customer service personnel; if the comparison result shows that there is no customer service personnel with a matching degree greater than the preset matching degree, then the user request is moved to the waiting queue.
[0085] In this embodiment of the application, the device further includes: a detection module, used to detect the processing progress of a user request; when the processing progress of the user request reaches the end node, to obtain session feedback data; and to optimize the preset weight list based on the session feedback data to obtain an optimized weight list.
[0086] Please see Figure 4 , Figure 4 This is a schematic diagram of the structure of a computer device provided in an optional embodiment of the present invention, such as... Figure 4 As shown, the computer device includes one or more processors 10, memory 20, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on external input / output devices (such as display devices coupled to the interfaces). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system).
[0087] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GDA), or any combination thereof.
[0088] The memory 20 stores instructions executable by at least one processor 10 to cause at least one processor 10 to perform the method shown in the above embodiments.
[0089] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device as shown by a landing page for an app. Furthermore, the memory 20 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, which can be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0090] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.
[0091] The computer device also includes a communication interface 30 for communicating with other devices or communication networks.
[0092] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.
[0093] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.
Claims
1. An online customer service dispatching method, characterized in that, The method includes: Perform feature modeling on the currently pending user requests to obtain request feature data; Identify at least one customer service representative who is online and obtain profile data of the customer service representative; The matching degree between each customer service representative and the user request is calculated based on the request feature data and the profile data. The user request is assigned to the corresponding target customer service personnel based on the matching degree.
2. The method according to claim 1, characterized in that, The process of performing feature modeling on the currently unassigned user requests to obtain request feature data includes: Extract the text content from the user request; Semantic analysis is performed on the text content to obtain the user's intent; Based on the user's intent, corresponding request feature data is generated, wherein the request feature data includes at least the question category and urgency.
3. The method according to claim 1, characterized in that, The step of calculating the matching degree between each customer service representative and the user request based on the request feature data and the profile data includes: Analyze the skill tags, business information, and historical processing data in the profile data; Calculate the skill matching degree between the question category and the skill tag in the request feature data; The load factor is determined based on the business information, and the matching degree between the customer service personnel and the user request is calculated based on the skill matching degree, the load factor, and the historical processing data.
4. The method according to claim 3, characterized in that, The determination of the load factor based on the business information includes: Obtain the customer service personnel's work data, wherein the work data includes at least the number of service requests, the processing progress of each service request, and the duration; Based on the number of service requests, the processing progress of each service request, and the duration, the estimated remaining processing time for the customer service personnel is predicted. The load factor of the customer service personnel is calculated based on the estimated remaining processing time, wherein the load factor is positively correlated with the estimated remaining processing time.
5. The method according to claim 3, characterized in that, The step of calculating the matching degree between the customer service representative and the user request based on the skill matching degree, the load factor, and the historical processing data includes: Extract the dispatch rating of the customer service personnel from the historical processing data; The corresponding request priority is determined based on the user information corresponding to the user request. The skill matching degree, the load factor, the scheduling score, and the request priority are fused and calculated according to a preset weight list to obtain the matching degree between the customer service personnel and the user request.
6. The method according to claim 1, characterized in that, The step of assigning the user request to the corresponding target customer service personnel based on the matching degree includes: The matching degree of each customer service representative is compared with the preset matching degree to obtain the comparison result; If the comparison result shows that there is a customer service representative with a matching degree greater than the preset matching degree, then the customer service representative with the highest matching degree is identified as the target customer service representative, and the user request is assigned to the target customer service representative. If the comparison result indicates that there is no customer service representative with a matching degree greater than the preset matching degree, the user request will be moved to the waiting queue.
7. The method according to claim 5, characterized in that, After assigning the user request to the corresponding target customer service representative based on the matching degree, the method further includes: Detect the processing progress of the user request; When the processing of the user request reaches the end node, obtain session feedback data; The preset weight list is optimized based on the session feedback data to obtain an optimized weight list.
8. An online customer service dispatching device, characterized in that, The device includes: The processing module is used to perform feature modeling on the user requests currently to be assigned, and obtain request feature data; The identification module is used to identify at least one customer service representative who is online and to obtain the profile data of the customer service representative. The calculation module is used to calculate the matching degree between each customer service representative and the user request based on the request feature data and the profile data; The allocation module is used to allocate the user request to the corresponding target customer service personnel based on the matching degree.
9. A computer device, characterized in that, include: A memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, the processor executing the computer instructions to perform the method of any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to perform the method of any one of claims 1 to 7.