Customer service training robot generation method, message processing method, device and system
By mining the main process of dialogue based on historical customer service dialogue data in the cloud customer service environment, and generating and configuring customer service training robots, the problems of time-consuming and labor-intensive and shortage of mentors are solved, and fast and efficient customer service training deployment is achieved.
Patent Information
- Application Number
- CN202210448583.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-26
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2042-04-26
AI Technical Summary
The traditional Renren customer service training model is time-consuming and labor-intensive, resulting in high costs and high turnover rate of new customer service personnel. Especially in the cloud customer service environment, the shortage of tutors is serious.
By exploring the main process of the conversation based on the historical customer service dialogue table, configuring the robot configuration information of the customer service training robot, and instantiating the customer service training robot, achieving rapid training deployment and efficient training.
It realizes rapid deployment and efficient customer service training in the cloud customer service environment, reduces training costs, and improves the training efficiency and churn rate control of new customer service personnel.
Smart Images

Figure CN114819993B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this specification generally relate to the field of customer service training, and in particular, to a method and device for generating a customer service training robot, a method and device for message processing based on the customer service training robot, and a customer service training system. Background Art
[0002] With the development of e-commerce, customer service (hereinafter referred to as "customer service") has been applied to various fields, such as technical support, after-sales service, banking applications, etc. Customer service is closely related to customer satisfaction and affects the public's perception of the company. Satisfied customer service can create more market and sales opportunities for the company, making customer service satisfaction a key factor in the success of the company. In most business scenarios, newly recruited customer service personnel need to undergo a series of carefully designed customer service training courses and pass the certification exam before they can actually start service.
[0003] Most customer service training processes include a real-machine dialing test. In this stage, experienced customer service staff will play the role of coach to simulate real-life customers who have problems and need help, and new customer service staff need to accurately locate and solve the problems. Based on the performance of new customer service staff during the customer service training process, we can understand the current service level of the new customer service staff and judge whether the new customer service staff is truly capable of providing customer service to online customers.
[0004] With the large-scale deployment of distributed cloud customer service resources, the frequency of recruiting customer service personnel has gradually increased, which has led to the requirement for a shorter customer service training cycle. However, the traditional one-on-one training model is often time-consuming and labor-intensive, which requires high costs to maintain the willingness of experienced customer service personnel who act as mentors to participate in customer service training. Moreover, due to the large volume of cloud customer service, even if many customer service mentors are provided, the gap in customer service training mentors cannot be met, resulting in limited opportunities for new customer service personnel to receive coaching guidance, which leads to a high turnover rate for new customer service personnel. Summary of the invention
[0005] In view of the above, the embodiments of this specification provide a generation scheme of a customer service training robot and a customer service training scheme based on the customer service training robot. In the generation scheme of the customer service training robot, a dialogue main process set corresponding to a business scenario is mined based on historical customer service dialogue script data, the mined dialogue main process set is associated with a customer service training robot for the corresponding business scenario, and a designated dialogue main process is selected when the customer service training robot is instantiated to support customer service training for various different businesses / different scenarios, thereby achieving rapid training deployment and efficient customer service training for different businesses / different scenarios.
[0006] According to one aspect of an embodiment of the present specification, a method for generating a customer service training robot is provided, comprising: mining a conversation main process based on historical customer service conversation script data; configuring robot configuration information of each customer service training robot, the robot configuration information comprising basic configuration information and conversation configuration information, the basic configuration information comprising business scenario information, the conversation configuration information comprising conversation main process configuration information, the conversation main process configuration information comprising conversation main process association configuration information for associating the customer service training robot with a conversation main process set, each conversation main process set corresponding to a business scenario and comprising one or more mined conversation main processes; and instantiating the robot according to the robot configuration information of each customer service training robot to generate each customer service training robot.
[0007] Optionally, in an example of the above aspect, the method may further include: generating a dialogue sub-process set for execution by the customer service training robot, each dialogue sub-process in the dialogue sub-process set reflects additional execution intentions of the customer service training robot, the additional execution intentions include execution intentions other than the main dialogue process, and the dialogue configuration information also includes dialogue sub-process configuration information for associating the customer service training robot with a dialogue sub-process set, dialogue sub-process entry decision conditions, and dialogue sub-process exit decision conditions.
[0008] Optionally, in an example of the above aspect, mining the main flow of conversation based on historical customer service conversation script data may include: preprocessing the historical customer service conversation script data; and selecting high-quality customer service conversation script data from the preprocessed historical customer service conversation script data to mine the main flow of conversation.
[0009] Optionally, in an example of the above aspect, the method may further include: dividing the corpus in the customer service dialogue script data corresponding to each main dialogue process into single-round divisions according to dialogue turns to obtain divided corpus parts; and clustering the divided corpus parts to obtain intention corpus clusters and discourse corpus clusters.
[0010] Optionally, in an example of the above aspect, the dialogue main process configuration information includes speech association configuration information for associating the customer service training robot with one or more intent corpus clusters and / or speech corpus clusters.
[0011] Optionally, in an example of the above aspect, performing corpus clustering on the divided corpus parts to obtain intention corpus clusters and discourse corpus clusters may include: using the KMeans algorithm to perform a first corpus clustering on the divided corpus parts to obtain first corpus clusters; using the HDBSCAN algorithm to perform a second corpus clustering within each first corpus cluster to obtain second corpus clusters; and performing similar cluster merging on the second corpus clusters to obtain intention corpus clusters and discourse corpus clusters.
[0012] Optionally, in an example of the above aspect, merging similar clusters of the second corpus clusters to obtain intention corpus clusters and discourse corpus clusters may include: merging similar clusters of the second corpus clusters to obtain third corpus clusters; extracting summary information of each third corpus cluster from each third corpus cluster; and removing useless corpus clusters based on the summary information of each third corpus cluster to obtain intention corpus clusters and discourse corpus clusters.
[0013] Optionally, in an example of the above aspect, before performing corpus clustering on the divided corpus parts, the method may further include: performing vector encoding on the divided corpus parts.
[0014] Optionally, in an example of the above aspect, instantiating robots according to robot configuration information of each customer service training robot to generate each customer service training robot may include: obtaining robot configuration information of each customer service training robot; generating basic information of each customer service training robot according to basic training information in the obtained robot configuration information, the basic information including session identification information, the session identification information being generated at least in part based on a customer service training robot identification, an associated user of the customer service training robot, and a business scenario; selecting a conversation main flow of each customer service training robot from a conversation main flow set associated with the conversation main flow configuration information in the robot configuration information; and instantiating each customer service training robot by instantiating an algorithm implementation model of the selected conversation main flow and constructing a conversation flow stack, the bottom of the constructed conversation flow stack being the selected conversation main flow.
[0015] According to another aspect of an embodiment of the present specification, there is provided a message processing method for a customer service training robot, wherein the customer service training robot is generated according to the method as described above, and the message processing method comprises: in response to receiving a current dialogue message input by a user, obtaining a current dialogue process from a dialogue process stack; triggering execution of the obtained dialogue process to obtain a process processing result; determining a robot reply content according to the process processing result; and providing the determined robot reply content to the user as a robot dialogue content.
[0016] Optionally, in an example of the above aspect, the customer service training robot is associated with a dialogue sub-process set and a dialogue sub-process entry decision condition, and the process processing result includes a content field for recording the dialogue content and a process exit field for indicating whether to exit the current dialogue process. After triggering the execution of the acquired dialogue process to obtain the process processing result, the message processing method may also include: looping the following process until it is determined to exit the current dialogue process: judging whether to exit the current dialogue process according to the field value of the process exit field of the current process processing result; in response to the judgment that the current dialogue process is not exited, executing the process hit processing for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition; in response to hitting the dialogue sub-process, triggering the execution of the hit dialogue sub-process to obtain the process processing result, and the obtained process processing result is used as the current process processing result of the next round of the cycle process. Determining the robot reply content according to the dialogue process processing result may include: in response to the end of the loop process, determining the dialogue content in the content field of all the dialogue process processing results obtained as the robot reply content.
[0017] Optionally, in an example of the above aspect, the customer service training robot is associated with a dialog sub-process exit decision condition, and the process hit processing of the dialog sub-processes in the dialog sub-process set associated with the customer service training robot is performed in sequence. The message processing method may also include: in response to not hitting the dialog sub-process, performing a dialog sub-process exit decision condition analysis; and in response to the analysis result satisfying the dialog sub-process exit decision condition, determining to exit the current dialog process.
[0018] Optionally, in an example of the above aspect, the process processing result also includes a recommended sub-process field for indicating whether there is a recommended dialogue sub-process. Before performing process hit processing for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition, the message processing method may also include: in response to determining that the current dialogue process is not to be exited, judging whether there is a recommended dialogue sub-process according to the field value of the recommended sub-process field; and in response to the existence of a recommended dialogue sub-process, determining the recommended dialogue sub-process as a hit dialogue sub-process.
[0019] Optionally, in an example of the above aspect, the message processing method may further include: in response to receiving a sub-process trigger message for triggering a dialogue sub-process, performing a process hit processing for the dialogue sub-process associated with the customer service training robot. Accordingly, triggering the execution of the acquired dialogue process to obtain a process processing result may include: triggering the execution of the hit dialogue sub-process to obtain a process processing result.
[0020] Optionally, in an example of the above aspect, the message processing method may further include: in response to a judgment of exiting the current dialogue process, determining whether to perform a fallback processing; when it is determined to perform a fallback processing, determining the fallback reply content according to the fallback speech processing rules, and the fallback reply content is provided to the user as the robot dialogue content of the current round.
[0021] According to another aspect of an embodiment of the present specification, there is provided an apparatus for generating a customer service training robot, comprising: a knowledge production unit, which mines a conversation main process based on historical customer service conversation script data; a robot configuration unit, which configures robot configuration information of each customer service training robot, the robot configuration information comprising basic configuration information and conversation configuration information, the basic configuration information comprising business scenario information, the conversation configuration information comprising conversation main process configuration information, the conversation main process configuration information comprising conversation main process association configuration information for associating the customer service training robot with a conversation main process set, each conversation main process set corresponding to a business scenario and comprising one or more mined conversation main processes; and a robot instantiation unit, which performs robot instantiation according to the robot configuration information of each customer service training robot to generate each customer service training robot.
[0022] Optionally, in an example of the above aspect, the knowledge production unit also generates a dialogue sub-process set for execution by the customer service training robot, each dialogue sub-process in the dialogue sub-process set reflects additional execution intentions of the customer service training robot, the additional execution intentions include execution intentions other than the main dialogue process, and the dialogue configuration information also includes dialogue sub-process configuration information for associating the customer service training robot with a dialogue sub-process set, dialogue sub-process entry decision conditions, and dialogue sub-process exit decision conditions.
[0023] Optionally, in an example of the above aspect, the device may also include: a data preprocessing unit to preprocess historical customer service conversation script data, wherein the knowledge production unit selects high-quality customer service conversation script data from the preprocessed historical customer service conversation script data to mine the main conversation process.
[0024] Optionally, in an example of the above aspect, the device may also include: a corpus division unit, which divides the corpus in the customer service dialogue script data corresponding to each main dialogue process into single-round divisions according to dialogue turns to obtain divided corpus parts; and a corpus clustering unit, which clusters the divided corpus parts to obtain intention corpus clusters and discourse corpus clusters, wherein the main dialogue process configuration information includes speech association configuration information for associating the customer service training robot with one or more intention corpus clusters and / or discourse corpus clusters.
[0025] Optionally, in an example of the above aspect, the corpus clustering unit may include: a first corpus clustering module, which uses the KMeans algorithm to perform a first corpus clustering on the divided corpus parts to obtain first corpus clusters; a second corpus clustering module, which uses the HDBSCAN algorithm to perform a second corpus clustering within each first corpus cluster to obtain a second corpus cluster; and a corpus cluster merging module, which performs similar cluster merging on the obtained second corpus clusters to obtain intention corpus clusters and discourse corpus clusters.
[0026] Optionally, in an example of the above aspect, the device may further include: a vector encoding unit, which performs vector encoding on the divided corpus parts before performing corpus clustering on the divided corpus parts.
[0027] Optionally, in an example of the above aspect, the robot instantiation unit may include: a configuration information acquisition module, which acquires the robot configuration information of each customer service training robot; a basic information generation module, which generates basic information of each customer service training robot according to the basic training information in the robot configuration information, the basic information including session identification information, and the session identification information is generated at least in part based on the customer service training robot identification, the associated users of the customer service training robot, and the business scenario; a process selection module, which selects the dialogue main process of each customer service training robot from the dialogue main process set associated with the dialogue main process configuration information in the robot configuration information; and a robot instantiation module, which instantiates each customer service training robot by instantiating the algorithm implementation model of the selected dialogue main process and constructing a dialogue process stack, the bottom of the constructed dialogue process stack being the selected dialogue main process.
[0028] According to another aspect of an embodiment of the present specification, there is provided a message processing device applied to a customer service training robot, wherein the customer service training robot is generated according to the method as described above, and the message processing device comprises: a dialogue message acquisition unit, which acquires a current dialogue message input by a user; a dialogue process acquisition unit, which acquires the current dialogue process from a dialogue process stack; a dialogue process execution unit, which triggers execution of the acquired dialogue process to obtain a process processing result; a reply content determination unit, which determines the robot reply content according to the process processing result; and a dialogue content providing unit, which provides the determined robot reply content as the robot dialogue content to the user.
[0029] Optionally, in an example of the above aspect, the customer service training robot is associated with a dialogue sub-process set and a dialogue sub-process entry decision condition, and the process processing result includes a content field for recording the dialogue content and a process exit field for indicating whether to exit the current dialogue process. After triggering the execution of the acquired dialogue process to obtain the process processing result, the dialogue process execution unit is also configured to loop the following process until it is determined to exit the current dialogue process: judging whether to exit the current dialogue process according to the field value of the process exit field of the current process processing result; in response to the judgment that the current dialogue process is not exited, executing the process hit processing for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition; in response to hitting the dialogue sub-process, triggering the execution of the hit dialogue sub-process to obtain the process processing result, and the obtained process processing result is used as the current process processing result of the next round of the loop process, wherein, in response to the end of the loop process, the reply content determination unit determines the dialogue content in the content field of all the obtained dialogue process processing results as the robot reply content.
[0030] Optionally, in an example of the above aspect, the customer service training robot is associated with a dialog sub-process exit decision condition, and the process hit processing of the dialog sub-processes in the dialog sub-process set associated with the customer service training robot is performed in sequence. The dialog process execution unit is further configured to: in response to not hitting the dialog sub-process, perform dialog sub-process exit decision condition parsing; and in response to the parsing result satisfying the dialog sub-process exit decision condition, determine to exit the current dialog process.
[0031] Optionally, in an example of the above aspect, the process processing result also includes a recommended sub-process field for indicating whether there is a recommended dialogue sub-process. Before performing process hit processing for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition, the dialogue process execution unit is further configured to: in response to determining that the current dialogue process is not to be exited, determine whether there is a recommended dialogue sub-process according to the field value of the recommended sub-process field; and in response to the existence of a recommended dialogue sub-process, determine the recommended dialogue sub-process as a hit dialogue sub-process.
[0032] Optionally, in an example of the above aspect, the message processing device may also include: a sub-process trigger message receiving unit, which receives a sub-process trigger message for triggering a dialogue sub-process; in response to receiving the sub-process trigger message for triggering a dialogue sub-process, the dialogue process acquisition unit performs a process hit processing for the dialogue sub-process associated with the customer service training robot, and the dialogue process execution unit triggers the execution of the hit dialogue sub-process to obtain a process processing result.
[0033] Optionally, in an example of the above aspect, the message processing device may further include: a catch-all processing determination unit, which, in response to a judgment of exiting the current dialogue process, determines whether to perform a catch-all processing; when it is judged that a catch-all processing is to be performed, the reply content determination unit determines the catch-all reply content according to the catch-all speech processing rules as the robot reply content.
[0034] According to another aspect of an embodiment of the present specification, there is provided a customer service training system, comprising: the device for generating a customer service training robot as described above; and the message processing device as described above.
[0035] According to another aspect of an embodiment of the present specification, there is provided an apparatus for generating a customer service training robot, comprising: at least one processor, a memory coupled to the at least one processor, and a computer program stored in the memory, wherein the at least one processor executes the computer program to implement the method for generating a customer service training robot as described above.
[0036] According to another aspect of an embodiment of the present specification, a message processing device is provided, comprising: at least one processor, a memory coupled to the at least one processor, and a computer program stored in the memory, wherein the at least one processor executes the computer program to implement the message processing method as described above.
[0037] According to another aspect of an embodiment of the present specification, a computer-readable storage medium is provided, which stores executable instructions, which, when executed, cause a processor to execute the method for generating a customer service training robot as described above or to execute the message processing method as described above.
[0038] According to another aspect of an embodiment of the present specification, a computer program product is provided, including a computer program, wherein the computer program is executed by a processor to implement the method for generating a customer service training robot as described above or the message processing method as described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] A further understanding of the nature and advantages of the content of this specification may be achieved by referring to the following drawings. In the drawings, similar components or features may have the same reference numerals.
[0040] Figure 1 An exemplary application scenario of a customer service training robot according to an embodiment is shown.
[0041] Figure 2 An example architecture diagram of a customer service training system according to an embodiment of this specification is shown.
[0042] Figure 3An example flow chart of a generation process of a customer service training robot according to an embodiment of the present specification is shown.
[0043] Figure 4 An example schematic diagram of a customer service dialogue script according to an embodiment of the present specification is shown.
[0044] Figure 5 An example schematic diagram of a main flow of a conversation according to an embodiment of the present specification is shown.
[0045] Figure 6 An example flow chart of a corpus mining process according to an embodiment of the present specification is shown.
[0046] Figure 7 An example schematic diagram of a corpus partitioning result according to an embodiment of the present specification is shown.
[0047] Figure 8 An example flow chart of a corpus clustering process according to an embodiment of the present specification is shown.
[0048] Fig. 9 An example flow chart of a cluster elimination process according to an embodiment of the present specification is shown.
[0049] Fig.10 An example schematic diagram of a data mining process for customer service conversation script data according to an embodiment of the present specification is shown.
[0050] Fig.11 An example schematic diagram of a robot configuration process of a customer service training robot according to an embodiment of the present specification is shown.
[0051] Fig.12 An example flowchart of a robot instantiation process according to an embodiment of the present specification is shown.
[0052] Fig.13 A schematic diagram of the architecture of a customer service training robot according to an embodiment of this specification is shown.
[0053] Fig.14 An example flow chart of a message processing process based on a customer service training robot according to an embodiment of the present specification is shown.
[0054] Fig.15 An example of a flow processing result according to an embodiment of the present specification is shown.
[0055] Fig.16 An example schematic diagram of a customer service training process according to an embodiment of the present specification is shown.
[0056] Fig.17 An example block diagram of a customer service training robot generating device according to an embodiment of the present specification is shown.
[0057] Fig.18 An example block diagram of a corpus clustering unit according to an embodiment of the present specification is shown.
[0058] Fig.19 An example block diagram of a robot instantiation unit according to an embodiment of the present specification is shown.
[0059] Fig. 20 An exemplary block diagram of a message processing device according to an embodiment of the present specification is shown.
[0060] Fig.21 An example schematic diagram of a robot generating device implemented based on a computer system according to an embodiment of the present specification is shown.
[0061] Fig. 22 An example schematic diagram of a message processing device implemented based on a computer system according to an embodiment of the present specification is shown. DETAILED DESCRIPTION
[0062] The subject matter described herein will now be discussed with reference to example embodiments. It should be understood that the discussion of these embodiments is only to enable those skilled in the art to better understand and implement the subject matter described herein, and is not a limitation of the scope of protection, applicability or examples set forth in the claims. The functions and arrangements of the elements discussed can be changed without departing from the scope of protection of the contents of this specification. Various examples can omit, replace or add various processes or components as needed. For example, the described method can be performed in an order different from the described order, and various steps can be added, omitted or combined. In addition, the features described relative to some examples can also be combined in other examples.
[0063] As used herein, the term "including" and its variations represent open terms, meaning "including but not limited to". The term "based on" means "based at least in part on". The terms "one embodiment" and "an embodiment" mean "at least one embodiment". The term "another embodiment" means "at least one other embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other definitions may be included below, whether explicit or implicit. Unless the context clearly indicates otherwise, the definition of a term is consistent throughout the specification.
[0064] The following will describe a customer service training robot generating method, a customer service training robot generating device, a customer service training method, a message processing device, and a customer service training system according to an embodiment of the present specification with reference to the accompanying drawings.
[0065] Figure 1An exemplary application scenario 100 of a customer service training robot according to an embodiment is shown.
[0066] exist Figure 1 In the example, the network 110 is used to establish a communication connection between the terminal device 120 and the customer service training robot server 130.
[0067] The network 110 may be any type of network capable of interconnecting network entities. The network 110 may be a single network or a combination of various networks. In terms of coverage, the network 110 may be a local area network (LAN), a wide area network (WAN), etc. In terms of carrier media, the network 110 may be a wired network, a wireless network, etc. In terms of data exchange technology, the network 110 may be a circuit switching network, a packet switching network, etc.
[0068] The terminal device 120 may be any type of electronic computing device that can connect to the network 110, access a server or website on the network 110, process data or signals, etc. For example, the terminal device 120 may be a desktop computer, a laptop computer, a tablet computer, a smart phone, etc. Figure 1 Only one terminal device is shown in FIG. 1 , but it should be understood that a different number of terminal devices may be connected to the network 110 .
[0069] In one embodiment, the terminal device 120 can be used by a user. The terminal device 120 can be installed with a customer service training robot client 122 that can provide customer service training for the user. In some cases, the customer service training robot client 122 can interact with the customer service training robot server 130. For example, the customer service training robot client 122 can transmit a message input by the user to the customer service training robot server 130, and receive a response associated with the message from the customer service training robot server 130. The customer service training robot server 130 can be connected to or include a customer service training knowledge base 140. The customer service training knowledge base 140 can include information that can be used by the customer service training robot server 130 to generate a response.
[0070] However, it should be understood that in other cases, the customer service training robot client 122 may also generate a response to a message input by the user locally instead of interacting with the customer service training robot server 130. For example, when the customer service training robot and the customer service training knowledge base 140 are deployed at the terminal device 120, the customer service training robot client 122 may generate a response to a message input by the user locally. In this article, "message" may refer to any input information.
[0071] It should be understood that Figure 1 All network entities shown in the figure are exemplary. According to specific application requirements, the application scenario 100 may involve any other network entities.
[0072] Figure 2 An exemplary architecture diagram of a customer service training system 20 according to an embodiment of the present specification is shown.
[0073] like Figure 2 As shown, the customer service training system 20 includes a customer service training robot generating device 210 and a message processing device 220. The customer service training robot generating device 210 is configured to generate one or more customer service training robots (also referred to as customer service training robot instances), and the generated customer service training robots are deployed at a server (server end) or a terminal device (client end). The message processing device 220 is configured to provide reply information (response message) for a message input by a user based on the generated customer service training robot, thereby providing customer service training services for new customer service personnel, such as customer service training training, customer service training examination, etc.
[0074] Figure 3 An example flow chart of a generation process 300 of a customer service training robot according to an embodiment of the present specification is shown.
[0075] like Figure 3 As shown, at 310, the main flow of the conversation is mined based on the historical customer service conversation script data. The historical customer service conversation script refers to the conversation data between the customer service and the user that actually occurred in history. The term "script" refers to a complete conversation data between the customer service and the user, that is, it is composed of each sentence of the conversation between the customer service and the user, and there is a time sequence between the conversations. Figure 4 An example schematic diagram of a customer service dialogue script according to an embodiment of the present specification is shown.
[0076] In one example, the historical customer service dialogue script data can be preprocessed. Examples of preprocessing may include, but are not limited to: (1) invalid information cleaning, that is, cleaning useless noise information (symbols, rich text, etc.) from the corpus of the historical customer service dialogue script data; (2) word normalization processing, that is, normalizing the numbers (amount, interest rate, etc.), names, etc. in the corpus of the historical customer service dialogue script data and replacing them with unified symbols; (3) long sentence cutting, that is, cutting the long sentences in the corpus of the historical customer service dialogue script data into short sentences while ensuring the completeness of the meaning as much as possible. Then, the main dialogue process is constructed based on the preprocessed customer service dialogue script data. In another example, the historical customer service dialogue script data can be preprocessed, and then high-quality customer service dialogue script data can be selected from the preprocessed historical customer service dialogue script data to mine the main dialogue process.
[0077] In this specification, the term "main flow of dialogue" may refer to a dialogue script with a specified data structure. The customer service training robot may determine the response (reply content) of the message sent by the user according to the main flow of dialogue. In the main flow of dialogue, for each sentence of corpus, in addition to the corpus content (content), various attribute information is also included. Examples of attribute information may include, but are not limited to: role, extended attribute, name, and time. The role represents the role content of the dialogue. Examples of roles may include, for example, HUMAN / ROBOT, etc. The content input by HUMAN is used for real user semantic matching, and the content provided by ROBOT is used as the robot's reply to the user input content. Examples of extended attributes may include, but are not limited to: intent, match content (match_sent), node identifier (node_id), turn identifier (turn_id), node type (node_type), flexible range (flexible_range), etc. In this specification, the Q / A set of HUMAN and ROBOT for the same intent question can be regarded as a node. The same node is a dialogue for the same intent question, which may include a single-round dialogue or a multi-round dialogue. In some examples, persona and extended attributes are required, while name and timestamp are optional.
[0078] The intent attribute is used to indicate the intent of the sentence corpus, for example, "first question", "conclusion", "problem location", "solution", "verification link", "other", etc. The matching content is used to indicate similar sentences that match the meaning of the sentence corpus, and is used to match and locate sentences based on the similar sentences, that is, the similar sentences can be equivalent to the sentence corpus. In this specification, the matching content may also be referred to as a speech cluster or an intent cluster. The node identifier is used to indicate the node number where the sentence is located. The turn identifier is used to indicate the conversation turn where the sentence is located. The node type is used to indicate whether the node where the sentence corpus is located can be flexibly adjusted. Examples of node types may include, but are not limited to: fixed nodes, flexible nodes, non-essential nodes, etc. For example, for the dialogue "Hello, how can I help you?", this dialogue is the first question and is marked as a fixed node. When the main process locates this dialogue, it is not allowed to skip, and the dialogue must be output to the user. For example, for the dialogue "Please wait a moment", this dialogue is a non-essential speech in the process of problem location or problem solving, so it will be marked as a flexible node. When the main process locates this sentence of dialogue, it can skip the output or not skip it and output this sentence of dialogue to the user. The flexibility range is used to indicate the node range for answering the intent question. If the flexibility range is marked as 3-10, it means that the node range used to provide the answer to the intent question is from node 3 to node 10. When the main process is during it, there is no order restriction, and nodes 3 to node 10 can be executed sequentially to provide the reply content, or nodes 3 to node 10 can be executed non-sequentially to provide the reply content.
[0079] Figure 5 An example schematic diagram of a main flow of a conversation according to an embodiment of the present specification is shown. Figure 5 The main flow of the dialogue in Figure 4 The customer service dialogue script data shown in is mined. For example, for the first sentence in the dialogue script "Good afternoon, I am Aman, I am happy to serve you, how can I help you?", "content" is "Good afternoon, I am Aman, I am happy to serve you, how can I help you?", "role" is "HUMAN", "intent" is "first question", "match_sent" is "[\"Hello, happy to serve you\", \"Hello, how can I help you\", \"Hello, what problem have you encountered\"]", "node_id" is "0", "turn_id" is "0", "node_type" is "fixed node", "flexible_range" is "[0,0]", and "time" is "2022-01-0311:00:00". Similar data structures are constructed for other sentences in the dialogue script. After the above data structures are constructed for all corpora, these data structures are connected in sequence to construct the following Figure 5 The main flow of the conversation is shown.
[0080] Optionally, in some embodiments, when data mining is performed on historical dialogue script data, intention corpus clusters and discourse corpus clusters can also be mined. Intent corpus clusters refer to corpus clusters composed of corpus with the same or similar intentions, and discourse corpus clusters refer to corpus clusters composed of corpus with the same or similar semantics. For example, \"Hello, I am glad to serve you\", \"Hello, how can I help you\", \"Hello, what problem do you encounter\" constitute discourse corpus clusters.
[0081] Figure 6 The flowchart of an example of a corpus mining process 600 according to an embodiment of the present specification is shown. The corpus mining process 600 is used to mine intention corpus clusters and discourse corpus clusters.
[0082] like Figure 6 As shown, at 610, the corpus in the customer service dialogue script data corresponding to each dialogue main process is divided into single rounds according to the dialogue rounds to obtain the divided corpus parts. Figure 7 FIG. 1 shows an example schematic diagram of a corpus segmentation result according to an embodiment of the present specification. Figure 7 In the example, the two sentences in each dotted box are regarded as a round of dialogue, corresponding to a divided part of the corpus. It should be noted that for the sake of simplicity, Figure 7 The following table shows only Figure 4 Part of the corpus segmentation results of the historical dialogue script data are shown in .
[0083] At 620, vector encoding is performed on the divided corpus parts. The vector encoding of the corpus parts can be implemented by using various vector encoding technologies that have been proposed or will be proposed in the art.
[0084] At 630 , corpus clustering is performed on the divided corpus parts to obtain intention corpus clusters and discourse corpus clusters.
[0085] It should be noted that in other embodiments, when performing corpus clustering, vector encoding may not be performed on the divided corpus parts.
[0086] In one example, when clustering the divided corpus parts, the HDBSCAN algorithm can be used for clustering. However, simply using the HDBSCAN algorithm for clustering can easily result in too much corpus that cannot be clustered. Preferably, in another example, a three-stage clustering method can be used.
[0087] Figure 8 An example flow chart of a corpus clustering process 800 according to an embodiment of the present specification is shown.
[0088] like Figure 8 As shown, at 810, the KMeans algorithm is used to perform the first corpus clustering on the divided corpus parts to obtain the first corpus cluster. The purity of the corpus in the obtained first corpus cluster may not be high. Then, at 820, the HDBSCAN algorithm is used to perform the second corpus clustering in each first corpus cluster to obtain the second corpus cluster. After the second corpus clustering, many different second corpus clusters (subclusters of the first corpus cluster) will be obtained. The purity in the second corpus cluster is high, but there will be corpus clusters with high similarity. Then, at 830, the second corpus clusters are merged into similar clusters to obtain the intention corpus clusters and discourse corpus clusters. For example, the similarity of the corpus at the center position of each second corpus cluster can be calculated (for example, the vector distance or semantic similarity is calculated), and the similar clusters can be merged according to the corpus similarity, so as to obtain the final intention corpus clusters and discourse corpus clusters.
[0089] Optionally, in some embodiments, cluster screening processing may be performed on the intention corpus clusters and discourse corpus clusters obtained as above. Fig. 9 An example flow chart of a cluster elimination process 900 according to an embodiment of the present specification is shown.
[0090] like Fig. 9 As shown, at 910, the summary information of each third corpus cluster is extracted from each third corpus cluster. For example, the corpus keywords in the obtained third corpus cluster can be extracted by a tag mining method, and the extracted corpus keywords are used as the summary information of the corpus cluster.
[0091] At 920, useless corpus clusters are removed based on the summary information of each third corpus cluster to obtain intention corpus clusters and discourse corpus clusters. For example, useless corpus clusters can be removed based on the summary information of each third corpus cluster according to specific indicators of different businesses to obtain intention corpus clusters and discourse corpus clusters.
[0092] Fig.10 FIG. 1 is a schematic diagram showing an example of a data mining process for customer service dialogue script data according to an embodiment of the present specification. Fig.10 As shown, after collecting the historical dialogue script data, the collected historical dialogue script data can be screened to select high-quality dialogue script data. The screened dialogue script data is used to construct the corresponding dialogue main process. Then, the three-stage clustering method is used to cluster the corpus, and the clustered corpus clusters are clustered to obtain meaningful intention corpus clusters and discourse corpus graphs.
[0093] As above Figures 4 to 10The customer service conversation data mining process is described. The conversation main process obtained by the above data mining process constitutes the customer service training knowledge base of the customer service training robot, so the above data mining process can also be called a knowledge production process. The customer service training knowledge base may include multiple conversation main processes. Optionally, in some embodiments, the multiple conversation main processes in the customer service training knowledge base may constitute multiple conversation main process sets, each conversation main process set including multiple conversation main processes corresponding to the same business and the same scenario, so that each conversation main process set corresponds to a business scenario. For example, the business may be "customer service", and the scenario may be "Huabei", "Jiebei", "Alipay Wallet", etc.
[0094] Optionally, in some embodiments, the knowledge production process may further include generating a set of dialogue sub-processes for execution by the customer service training robot, each dialogue sub-process in the dialogue sub-process set reflects an additional execution intention of the customer service training robot, and the additional execution intention includes a sub-intention in addition to the main dialogue process. The generated dialogue sub-process is also stored in the customer service training knowledge base for use in subsequent customer service training robot generation processes and customer service training processes. The sub-process may be represented in the form of code or rules (e.g., regular expressions).
[0095] The sub-processes may include the following three types of sub-processes: (1) sub-processes implemented on the engineering side; (2) sub-processes implemented based on the algorithm model; and (3) sub-processes implemented based on Lingxi configuration DST.
[0096] The sub-processes implemented on the engineering side can be implemented through coding or script assembly. This type of sub-process can customize certain special logic to implement business data query. Examples of sub-processes implemented on the engineering side may include the verification sub-process, which pulls real verification data through real-time training of agents to increase the accuracy and realism of verification. Sub-processes implemented based on algorithm models can support dialogue processing in special scenarios, such as sub-scripts. Examples of sub-processes implemented based on algorithm models may include timeout sub-processes, in which when the waiting time is too long, the algorithm generates corresponding reply words based on historical user replies. Sub-processes based on Lingxi configuration DST can support dialogue processes in simple scenarios, such as scolding processes, threat processes, and stress testing processes. Examples of sub-processes based on Lingxi configuration DST may include emotional model sub-processes. By configuring DST, you can exhaust the user's angry processes, thereby providing stress testing capabilities.
[0097] By using the customer service training knowledge base including the dialogue sub-process, the features of the customer service training robot can be enriched by freely configuring sub-intents. For example, in a specific business scenario (such as a customer authentication scenario), by configuring sub-intents to the customer service training robot, the corresponding business training requirements can be met.
[0098] Back to Figure 3 After obtaining the customer service training knowledge base (conversation main process and conversation sub-process (if any)) as above, at 320, configure the robot configuration information of each customer service training robot. The robot configuration information may include basic configuration information and conversation configuration information. The basic configuration information may include business scenario information. Optionally, the basic configuration information may also include, for example, the robot name and / or business attributes, etc. The conversation configuration information includes conversation main process configuration information, and the conversation main process configuration information includes conversation main process association configuration information for associating the customer service training robot with a conversation main process set, each conversation main process set corresponding to a business scenario and including one or more mined conversation main processes. Through the above conversation configuration information, a customer service configuration robot applied to different business scenarios can be obtained.
[0099] Optionally, in some embodiments, the data mining process for historical customer service dialogue script data can mine out intent corpus clusters and discourse corpus clusters. Accordingly, the dialogue main process configuration information may also include speech association configuration information for associating the customer service training robot with one or more intent corpus clusters and / or discourse corpus clusters. For example, the speech cluster with the intent of "first question" includes the speech "Hello, it's a pleasure to serve you", "How can I help you", "Hello, I am customer service 12345, how can I help you". When the script content of the main process is "Hello, do you have any questions?", if the content entered by the user (HUMAN) during customer service training can match the script content of the main process or any discourse meaning in its associated speech cluster, it is judged as a hit, and the corresponding reply content can be queried based on the script content.
[0100] Optionally, in some embodiments, the customer service training knowledge base may include a dialogue sub-flow set. Accordingly, the dialogue configuration information may also include dialogue sub-flow configuration information for associating the customer service training robot with a dialogue sub-flow set and a decision factor. The decision factor includes a dialogue sub-flow entry decision condition and a dialogue sub-flow exit decision condition. The dialogue sub-flow entry decision condition and the dialogue sub-flow exit decision condition may be implemented by a regular expression.
[0101] The dialogue sub-process entry decision condition may include, for example, a decision type and an indicator type. Examples of decision types may include, for example, but are not limited to dialogue decisions (based on dialogue drive), tick time decisions (based on tick time drive, time polling), and examples of indicator types may include, but are not limited to: confidence, matching score, qualitative rules (dirty words, threats, rhetorical questions), main process recommendations, waiting time, etc. Conditional expressions may include equal to (=), greater than (>), less than (<), etc. For example, the rule expression of the dialogue sub-process entry decision condition may be: confidence <0.4 & waiting time >20s & emotion score <5 || main process recommendation. That is, logical operators are used to connect the conditional expressions of various indicator types. Here, the logical operator may be pre-selected.
[0102] The dialog sub-process exit decision condition may include, for example, an indicator type. Examples of indicator types may include, but are not limited to: number of interaction rounds, timeout period, sub-process self-determination, etc. Conditional expressions may include equal to (=), greater than (>), less than (<), etc. For example, the regular expression of the dialog sub-process exit decision condition may be: number of interaction rounds>10||dialogue duration>60s||sub-process self-determination.
[0103] Optionally, the robot configuration information may also include evaluation configuration information. The evaluation configuration information is used to set various relevant information of the evaluation scheme. For example, the evaluation configuration information may include evaluation dimension configuration information, evaluation weight configuration information, and evaluation formula configuration information. Fig.11 An example schematic diagram of a robot configuration process of a customer service training robot according to an embodiment of the present specification is shown.
[0104] By utilizing the above-mentioned robot configuration processing, the conversation main process abstracted based on the customer service conversation script and the conversation sub-process abstracted based on the business rules are dynamically associated with the customer service training robot. The conversation process (conversation capability) of the customer service training robot can be dynamically configured, thereby realizing a customer service training robot that can be applied to multiple modalities.
[0105] At 330 , robot instantiation is performed according to the robot configuration information of each customer service training robot to generate each customer service training robot.
[0106] Fig.12 An example flow chart of a robot instantiation process 1200 according to an embodiment of the present specification is shown.
[0107] like Fig.12As shown, at 1210, robot configuration information of each customer service training robot is obtained. The robot configuration information obtained may include basic configuration information and dialogue configuration information. The dialogue configuration information includes dialogue main process configuration information. The dialogue main process configuration information includes dialogue main process association configuration information for associating the customer service training robot with a dialogue main process set. In some embodiments, the dialogue main process configuration information may also include speech association configuration information for associating the customer service training robot with one or more intent corpus clusters and / or speech corpus clusters. In some embodiments, the dialogue configuration information may also include dialogue sub-process configuration information for associating the customer service training robot with a dialogue sub-process set, a dialogue sub-process entry decision condition, and a dialogue sub-process exit decision condition.
[0108] At 1220, a pre-verification is performed according to the basic configuration information to verify whether the switch of the customer service training robot is correct, whether it conforms to the current business scenario, etc. For example, the business scenario in the basic configuration information can be used to determine whether the customer service training robot conforms to the current business scenario. It should be noted that the pre-verification process is an optional process. In some other embodiments, the pre-verification process may not be performed. If the pre-verification fails, the robot instantiation process ends.
[0109] At 1230, basic information of each customer service training robot is generated based on the basic configuration information in the acquired robot configuration information, and the generated basic information includes session identification information. In one example, the session identification information is generated at least in part based on the customer service training robot identification, the associated user of the customer service training robot, and the business scenario. For example, the user of the customer service training robot can be associated, and the session identification information sessionId is generated by performing MD5 calculation on the robot ID, the associated user, and the business scenario (and the timestamp), and the session identification information is used to uniquely identify the customer service training robot (customer service training robot instance). In addition, each customer service training robot can also be associated with the robot configuration information, the running status, the conversation master map, and the server IP of the instantiated server as the basic information of the conversation context of the customer service training robot.
[0110] At 1240, the conversation main process of each customer service training robot is selected from the conversation main process set associated with the conversation main process configuration information in the robot configuration information. For example, the conversation main process can be selected by random selection, selection based on business type association, or specifying the main process.
[0111] Next, each customer service training robot is instantiated by instantiating the algorithm implementation model of the selected dialogue main process and constructing a dialogue process stack, and the bottom of the constructed dialogue process stack is the selected dialogue main process. Specifically, at 1250, the algorithm implementation model of the selected dialogue main process is instantiated, and at 1260, the dialogue process stack is constructed, and the selected dialogue main process is pushed into the selected dialogue main process as the bottom of the dialogue process stack.
[0112] Optionally, after instantiating each customer service training robot as above, the instantiated customer service training robot is deployed at 340. For example, the customer service training robot can be deployed (stored) locally (on the terminal device side / client side) or remotely (on the server side). For example, the locally deployed customer service training robot can be driven by a tick time, and the remotely deployed customer service training robot can be driven by a dialogue.
[0113] Fig.13 A schematic diagram showing an example architecture of a customer service training robot according to an embodiment of the present specification is shown.
[0114] exist Fig.13 In the customer service training robot architecture shown, the underlying architecture may include, for example, a cloud call architecture, an algorithm service framework, ODPS, and MySQL. Relying on cloud call to provide hotline capabilities, and relying on the algorithm service framework to provide algorithm call services. At the business layer, the knowledge production, robot configuration, and dialogue decision-making capabilities of the customer service training robot are realized. At the channel layer, hotline, online, and API access methods are provided. At the application layer, customer service training (virtual coach) and customer service training examinations (virtual instructors) are provided.
[0115] After the customer service training robot is generated and deployed as above, customer service training can be implemented based on the deployed customer service training robot.
[0116] Fig.14 An example flowchart of a message processing process 1400 based on a customer service training robot according to an embodiment of the present specification is shown. Fig.14 The example shown in FIG. 1 is an example of a message processing process for a single-round conversation.
[0117] like Fig.14 As shown, at 1401, the current user dialogue message input by the user (i.e., the user dialogue message of the current dialogue round) is obtained. For example, the user dialogue message input by the user can be received via the user interface of the training robot client deployed at the terminal device. The message can be in various multimedia forms, such as text, voice, image, video, etc.
[0118] At 1402, after receiving the user dialogue message, the current dialogue process corresponding to the user dialogue message is obtained from the dialogue process stack. When the robot is instantiated and stored, the storage space of the dialogue process stack is reserved. The stack structure of the dialogue process stack is as follows: main process (bottom of the stack) -> sub-process 1 -> sub-process 2 (top of the stack). The process at the top of the current stack is the current dialogue process.
[0119] At 1403, determine whether the current dialogue process is a dialogue main process or a dialogue sub-process. In response to the current dialogue process being a dialogue main process, at 1404, trigger the execution of the dialogue main process to obtain the process processing result, that is, use the main process algorithm model implemented when the robot is instantiated to obtain the process processing result. In response to the current dialogue process being a dialogue sub-process, at 1405, use the corresponding sub-process executor to execute the corresponding sub-process, thereby obtaining the process processing result. When the sub-process is executed, the sub-process type can be parsed to determine the sub-process type, for example, a sub-process implemented on the engineering side, a sub-process implemented based on an algorithm model, or a sub-process configured based on DST. After determining the sub-process type, use the corresponding sub-process executor to execute the corresponding sub-process, thereby obtaining the process processing result.
[0120] In this specification, the process processing result obtained after processing the main dialogue process and the dialogue sub-process includes at least a content field (e.g., a response field) for recording the dialogue content. In some embodiments, the process processing result may also include a process exit field (e.g., a hang-up field) for indicating whether to exit the current dialogue process. In some embodiments, the process processing result may also include a recommended sub-flow field (e.g., a subflows field) for indicating whether there is a recommended dialogue sub-flow. Fig.15 An example of the process processing result according to the embodiment of this specification is shown. Fig.15 In the example of , the process processing result includes three fields, namely, the content field (response field), the process exit field (hang-up field) and the recommended subflow field (subflows field). Each field includes a field id and a field value. Optionally, each field can also include a confidence score.
[0121] In some embodiments, the process processing result only includes the content field. After the process processing result is obtained as above, at 1409, the robot reply content is determined according to the process processing result, and at 1410, the determined robot reply content is provided to the user as the robot conversation content.
[0122] In some embodiments, the process processing result may include a content field and a process exit field. Fig.14The processes shown in 1405-1406 and 1411-1413 are performed until it is determined to exit the current dialog flow.
[0123] Specifically, in each loop process, at 1406, it is determined whether to exit the current dialog process according to the field value of the process exit field in the current process processing result. For example, if the "value" of the process exit field "hang_up" is 1, it is determined to exit the current dialog process. If the "value" of the process exit field "hang_up" is 0, it is determined not to exit the current dialog process.
[0124] If it is determined to exit the current dialogue process, the loop process ends and the process proceeds to 1409. In 1409, the dialogue content in the content field of all dialogue process processing results obtained is determined as the robot reply content. That is, the dialogue content in the content field of all process processing results obtained after receiving the current user dialogue message input by the user is extracted, and the extracted dialogue content is spliced as the robot reply content.
[0125] If it is determined not to exit the current dialogue process, the process proceeds to 1411. At 1411, the process hit processing for the dialogue sub-process set associated with the customer service training robot is performed according to the dialogue sub-process entry decision condition. Specifically, according to the robot configuration information, the dialogue sub-process set associated with the customer service robot when the robot is instantiated is obtained, and the obtained dialogue sub-processes are prioritized according to the processing priority of the dialogue sub-process. The processing priority of the dialogue sub-process can be preset when the robot is configured. Then, the dialogue sub-process obtained after the priority sorting is sequentially executed The process exit condition analysis is performed, and the hit judgment is performed according to the condition analysis result, thereby determining whether it is hit based on the dialogue sub-process.
[0126] The process hit processing for the dialogue sub-processes in the dialogue sub-process set is executed in sequence according to the priority processing order. For example, for a dialogue sub-process, the indicator type required for entering the decision judgment can be determined according to the dialogue sub-process entry decision condition of the dialogue sub-process. After determining the indicator type, the current value of each determined indicator type is obtained. For example, when the customer service training robot conducts customer service training, the dialogue process information during the customer service training process can be recorded, such as how many rounds of dialogue have been conducted, the dialogue duration since the first round of dialogue, the confidence, the waiting time, the user emotion score, etc. Therefore, the current value of the corresponding indicator type can be obtained from the recorded information of the customer service training robot. Then, according to the current values of each indicator type obtained, it is judged whether the rule expression of the dialogue sub-process entry decision condition is met. If the rule expression is met, it is determined that the dialogue sub-process is hit.
[0127] In response to hitting the dialog sub-flow, at 1412, the hit dialog sub-flow is pushed into the dialog flow stack, and then, at 1405, the corresponding sub-flow is executed by using the corresponding sub-flow executor, thereby obtaining a flow processing result as the current flow processing result. Then, at 1406, it is determined whether to exit the current dialog flow according to the current flow processing result. In response to not hitting the dialog sub-flow, it returns to 1411 and performs flow hit processing for the next dialog sub-flow until the dialog sub-flow is hit or the above processing is completed for all dialog sub-flows in the dialog sub-flow set.
[0128] Optionally, in some embodiments, in response to not hitting the dialog sub-flow, the dialog sub-flow exit decision condition analysis may be performed at 1413, and whether to exit the current dialog flow may be determined according to the analysis result. In response to the analysis result satisfying the dialog sub-flow exit decision condition, it is determined to exit the current dialog flow. In response to the analysis result not satisfying the dialog sub-flow exit decision condition, the process returns to 1411.
[0129] In some embodiments, the process processing result may include a content field, a process exit field, and a recommended sub-process field. Accordingly, after determining that the current dialog process is not to be exited at 1406, it is determined whether there is a recommended dialog sub-process according to the field value of the recommended sub-process field. In response to the existence of a recommended dialog sub-process, the recommended dialog sub-process is determined as a hit dialog sub-process. In response to the absence of a recommended dialog sub-process, the process proceeds to 1411 to perform process hit processing for the dialog sub-process in the dialog sub-process set.
[0130] Optionally, in some embodiments, the customer service training robot can also trigger the execution of a dialogue sub-process based on a tick time drive. In this case, when configuring the robot, some or all of the dialogue sub-processes in the associated dialogue sub-process set can be set to be driven based on the tick time. Tick time drive is to trigger execution by broadcasting a sub-process trigger message at a fixed time. For example, a sub-process trigger message can be broadcast by seconds. In response to receiving a sub-process trigger message for triggering a dialogue sub-process, a process hit processing for the dialogue sub-process associated with the customer service training robot is performed as described above. In response to hitting the dialogue sub-process, the hit dialogue sub-process is triggered to obtain a process processing result. Using this trigger mechanism, a scenario simulation in which the robot actively asks questions can be implemented.
[0131] Optionally, in some embodiments, in response to the judgment of exiting the current dialogue process, a fallback processing judgment may be performed at 1407 to determine whether to perform fallback processing. When it is judged that fallback processing is to be performed, at 1408, the fallback reply content is determined according to the fallback speech processing rules, and then, at 1409, the fallback reply content is determined as the robot reply content of the current round. When it is judged that fallback processing is not to be performed, at 1409, the robot reply content of the current round is determined according to the process processing result obtained based on the dialogue process. Then, at 1410, the determined robot reply content is provided to the user as the robot dialogue content.
[0132] The customer service training process according to the embodiments of this specification is described in detail below with specific examples. Fig.16 An example schematic diagram of a customer service training process according to an embodiment of this specification is shown. Fig.16 In the example, the business scenario of the customer service training robot is Huabei activation, the configured main dialogue process is the Huabei script set, the configured dialogue sub-processes are the timeout sub-process and the verification sub-process, the bottom-line processing is the swearing bottom-line processing, and the channel is the online channel.
[0133] like Fig.16 As shown in the figure, after receiving the dialogue input by the customer service, "Hello, I am customer service XXX, I am happy to serve you, what problem did you encounter?", the customer service training robot determines that the current dialogue process is the main dialogue process, and then performs dialogue hit processing according to the main dialogue process. After hit processing, the "first question" intent in the main dialogue process is hit, and the algorithm implementation model of the main dialogue process gives the first question slot data, that is, "Hello, why can't I activate my Huabei now?".
[0134] After receiving the dialogue input by the customer service, "Excuse me, is this the Alipay account starting with 185?", the customer service training robot hits the "verification phase" intention slot in the main dialogue process, which requires the use of the verification sub-process, and thus returns the verification sub-process recommended by the algorithm. After getting the verification sub-process recommended by the algorithm, add the verification sub-process to the main dialogue process, thereby jumping out of the main dialogue process and entering the verification sub-process recommended by the algorithm. The verification sub-process hits the "xxx account query" mode, outputs the dialogue "Yes, yes", and exits the verification sub-process.
[0135] After receiving the message "Huabei activation is subject to comprehensive evaluation by the system, which cannot be intervened manually", the customer service training robot hits the "question answering" intent in the main dialogue process. The algorithm implementation model of the main dialogue process returns the data of the current answer slot, that is, "What should I do? Can you do it?".
[0136] After waiting for 20 seconds without any conversation, the Tick time driver is started and the execution task is distributed to the client device. After receiving the driver information, the client device executes the sub-process parsing process of "local customer service training robot instance", and determines that the current customer service robot instance has a timeout sub-process, and the condition is "silent for 20 seconds". Therefore, the condition is hit, and the timeout sub-flow is executed, and the algorithm reply is called to get the reply content "Hello, hello, are you listening?".
[0137] After receiving the dialogue input by the customer service, "Can you please stop pushing me? I've already said it," the attitude risk processing of the main process of the dialogue is hit, so the fallback process processing is recommended and the hang-up command is given. After receiving the message, the executor outputs the fallback content, that is, "Your attitude is too bad, I want to complain about you", and executes the hang-up to end the current dialogue.
[0138] Fig.17 FIG. 1 shows an example block diagram of a customer service training robot generating device 1700 according to an embodiment of the present specification. Fig.17 As shown, the customer service training robot generating device 1700 includes a knowledge production unit 1710 , a robot configuration unit 1720 and a robot instantiation unit 1730 .
[0139] The knowledge production unit 1710 is configured to mine the main flow of the conversation based on the historical customer service conversation script data. The main flow of the conversation mining process of the knowledge production unit 1710 can refer to the above reference Figure 3 310 and Figure 4-Figure 10 Describes the operation.
[0140] Optionally, in some embodiments, the knowledge production unit 1710 may also be configured to generate a dialogue sub-process set for execution by the customer service training robot, each dialogue sub-process in the generated dialogue sub-process set reflecting the additional execution intention of the customer service training robot. Here, the additional execution intention includes an execution intention (sub-intention) other than the main dialogue process.
[0141] The robot configuration unit 1720 is configured to configure the robot configuration information of each customer service training robot. The robot configuration information includes basic configuration information and dialogue configuration information. The basic configuration information includes business scenario information, and the dialogue configuration information includes dialogue main process configuration information. The dialogue main process configuration information includes dialogue main process association configuration information for associating the customer service training robot with a dialogue main process set, each dialogue main process set corresponding to a business scenario and including one or more mined dialogue main processes. In the case where the knowledge production unit 1710 generates a dialogue sub-process set, the dialogue configuration information configured by the robot configuration unit 1720 also includes dialogue sub-process configuration information for associating the customer service training robot with a dialogue sub-process set and a decision factor. The operation of the robot configuration unit 1720 can refer to the above reference. Figure 3 320 and Fig.11 Describes the operation.
[0142] The robot instantiation unit 1730 is configured to instantiate the robot according to the robot configuration information of each customer service training robot to generate each customer service training robot. The operation of the robot instantiation unit 1730 can refer to the above reference Figure 3 330 and Fig.12 Describes the operation.
[0143] Optionally, in some embodiments, the customer service training robot generating device 1700 may further include a data preprocessing unit (not shown). The data preprocessing unit is configured to preprocess the historical customer service dialogue script data. Subsequently, the knowledge production unit 1710 selects high-quality customer service dialogue script data from the preprocessed historical customer service dialogue script data to mine the main dialogue process.
[0144] Optionally, in some embodiments, the customer service training robot generating device 1700 may further include a corpus division unit (not shown) and a corpus clustering unit (not shown). The corpus division unit is configured to divide the corpus in the customer service dialogue script data corresponding to each dialogue main process into single rounds according to the dialogue rounds to obtain the divided corpus parts. Then, the corpus clustering unit performs corpus clustering on the divided corpus parts to obtain intention corpus clusters and speech corpus clusters. Accordingly, the dialogue main process configuration information configured by the robot configuration unit 1720 may also include speech association configuration information for associating the customer service training robot with one or more intention corpus clusters and / or speech corpus clusters.
[0145] Optionally, in some embodiments, the customer service training robot generating device 1700 may further include a robot deployment unit (not shown). The robot deployment unit is configured to deploy the instantiated customer service training robot. For example, the robot deployment unit may deploy the customer service training robot locally (on the terminal device side / client side) or remotely (on the server side).
[0146] Fig.18 FIG. 1 shows an example block diagram of a corpus clustering unit 1800 according to an embodiment of the present specification. Fig.18 As shown, the corpus clustering unit 1800 includes a first corpus clustering module 1810 , a second corpus clustering module 1820 and a corpus cluster merging module 1830 .
[0147] The first corpus clustering module 1810 is configured to perform a first corpus clustering on the divided corpus parts using the KMeans algorithm to obtain first corpus clusters. Then, the second corpus clustering module 1820 performs a second corpus clustering on each first corpus cluster using the HDBSCAN algorithm to obtain second corpus clusters. Subsequently, the corpus cluster merging module 1830 performs similar cluster merging on the obtained second corpus clusters to obtain intention corpus clusters and discourse corpus clusters.
[0148] Optionally, in some embodiments, the customer service training robot generating device 1700 may further include a vector encoding unit (not shown). The vector encoding unit is configured to perform vector encoding on the divided corpus parts before performing corpus clustering on the divided corpus parts. Then, the corpus clustering unit performs corpus clustering on the divided corpus parts after vector encoding.
[0149] Fig.19 1 shows an example block diagram of a robot instantiation unit 1900 according to an embodiment of the present specification. Fig.19 As shown, the robot instantiation unit 1900 includes a configuration information acquisition module 1910 , a basic information generation module 1920 , a process selection module 1930 and a robot instantiation module 1940 .
[0150] The configuration information acquisition module 1910 is configured to acquire the robot configuration information of each customer service training robot. The operation of the configuration information acquisition module 1910 can refer to the above reference Fig.12 The operation described in 1210.
[0151] The basic information generation module 1920 is configured to generate basic information of each customer service training robot according to the basic training information in the robot configuration information. The generated basic information includes session identification information. The session identification information is generated at least in part based on the customer service training robot identification, the associated user of the customer service training robot, and the business scenario. The operation of the basic information generation module 1920 can refer to the above reference. Fig.12 The operation described in 1230.
[0152] The process selection module 1930 is configured to select the conversation main process of each customer service training robot from the conversation main process set associated with the conversation main process configuration information in the robot configuration information. The operation of the process selection module 1930 can refer to the above reference Fig.12 The operation described in 1240.
[0153] The robot instantiation module 1940 is configured to instantiate each customer service training robot by instantiating the algorithm implementation model of the selected dialogue main process and constructing a dialogue process stack, and the bottom of the constructed dialogue process stack is the selected dialogue main process. The operation of the robot instantiation module 1940 can refer to the above reference Fig.12 The operations described in 1250 and 1260.
[0154] Fig. 20 FIG. 2 shows an example block diagram of a message processing device 2000 according to an embodiment of the present specification. Fig. 20 As shown, the message processing device 2000 includes a dialogue message acquisition unit 2010, a dialogue flow acquisition unit 2020, a dialogue flow execution unit 2030, a reply content determination unit 2040 and a dialogue content providing unit 2050.
[0155] The dialog message acquisition unit 2010 is configured to acquire the current dialog message input by the user. The operation of the dialog message acquisition unit 2010 can refer to the above reference. Fig.14 The operation described in 1401.
[0156] The dialog flow acquisition unit 220 is configured to acquire the current dialog flow from the dialog flow stack. The operation of the dialog flow acquisition unit 220 can refer to the above reference. Fig.14 The operation described in 1402.
[0157] The dialog flow execution unit 2030 is configured to trigger the execution of the acquired dialog flow to obtain the flow processing result. The operation of the dialog flow execution unit 2030 can refer to the above reference Fig.14 The operations described in 1403-1406 and 1411-1413.
[0158] The reply content determination unit 2040 is configured to determine the robot reply content according to the process processing result. The operation of the reply content determination unit 2040 can refer to the above reference Fig.14 The operation described in 1409.
[0159] The dialogue content providing unit 2050 is configured to provide the determined robot reply content as the robot dialogue content of the current round to the user. The operation of the dialogue content providing unit 2050 can refer to the above reference. Fig.14 The operation described in 1410.
[0160] Optionally, in some embodiments, the customer service training robot is configured to be associated with a dialogue sub-process set and a dialogue sub-process entry decision condition, and the obtained process processing result includes a content field for recording the dialogue content and a process exit field for indicating whether to exit the current dialogue process. After triggering the execution of the acquired dialogue process to obtain the process processing result, the dialogue process execution unit 2030 can also be configured to execute a loop process until it is determined to exit the current dialogue process.
[0161] Specifically, in each loop, the dialogue process execution unit 2030 determines whether to exit the current dialogue process according to the field value of the process exit field of the current process processing result. In response to the judgment that the current dialogue process is not to be exited, the dialogue process execution unit 2030 performs process hit processing for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition. In response to hitting the dialogue sub-process, the dialogue process execution unit 2030 triggers the execution of the hit dialogue sub-process to obtain the process processing result, and the obtained process processing result is used as the current process processing result of the next cycle process. In response to the end of the loop process, the reply content determination unit 2040 determines the dialogue content in the content field of all the dialogue process processing results obtained as the robot reply content.
[0162] Optionally, in some embodiments, the customer service training robot is configured to be associated with a dialog sub-process exit decision condition, and the process hit processing of the dialog sub-process in the dialog sub-process set associated with the customer service training robot is performed in sequence. Specifically, in response to not hitting the dialog sub-process, the dialog process execution unit 2030 performs a dialog sub-process exit decision condition analysis. In response to the analysis result satisfying the dialog sub-process exit decision condition, the dialog process execution unit 2030 determines to exit the current dialog process.
[0163] Optionally, in some embodiments, the process processing result also includes a recommended sub-process field for indicating whether there is a recommended dialogue sub-process. Before executing the process hit processing for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition, in response to the judgment of not exiting the current dialogue process, the dialogue process execution unit 2030 determines whether there is a recommended dialogue sub-process according to the field value of the recommended sub-process field. In response to the existence of a recommended dialogue sub-process, the dialogue process execution unit 2030 determines the recommended dialogue sub-process as a hit dialogue sub-process. In response to the absence of a recommended dialogue sub-process, the dialogue process execution unit 2030 performs process hit processing for the dialogue sub-process in the dialogue sub-process set associated with the customer service training robot.
[0164] Optionally, in some embodiments, the message processing device 2000 may further include a sub-process trigger message receiving unit (not shown). The sub-process trigger message receiving unit receives a sub-process trigger message for triggering a dialog sub-process. In response to receiving a sub-process trigger message for triggering a dialog sub-process, the dialog process acquisition unit performs a process hit processing for the dialog sub-process associated with the customer service training robot, thereby acquiring the corresponding dialog sub-process when hitting the dialog sub-process. Then, the dialog process execution unit 2030 triggers the execution of the hit dialog sub-process to obtain a process processing result.
[0165] Optionally, in some embodiments, the message processing device 2000 may further include a catch-all processing determination unit (not shown). In response to the judgment of exiting the current dialogue process, the catch-all processing determination unit determines whether to perform a catch-all processing. When it is judged that a catch-all processing is to be performed, the reply content determination unit 2040 determines the catch-all reply content according to the catch-all speech processing rules as the robot reply content. When it is judged that a catch-all processing is not to be performed, the reply content determination unit 2040 determines the robot reply content according to the process processing result.
[0166] As above Figures 1 to 20 , a customer service training robot generation method, a customer service training robot generation device, a message processing method applied to a customer service training robot, a message processing device, and a customer service training system according to an embodiment of this specification are described. The above customer service training robot generation device and message processing device can be implemented by hardware, or by software, or by a combination of hardware and software.
[0167] Fig.21 FIG. 2 shows a schematic diagram of a customer service training robot generating device 2100 implemented based on a computer system according to an embodiment of the present specification. Fig.21As shown, the customer service training robot generating device 2100 may include at least one processor 2110, a memory (e.g., a non-volatile memory) 2120, a memory 2130, and a communication interface 2140, and the at least one processor 2110, the memory 2120, the memory 2130, and the communication interface 2140 are connected together via a bus 2160. At least one processor 2110 executes at least one computer-readable instruction stored or encoded in the memory (i.e., the above-mentioned element implemented in the form of software).
[0168] In one embodiment, computer executable instructions are stored in a memory, which when executed cause at least one processor 2110 to: mine a conversation main process based on historical customer service conversation script data; configure robot configuration information of each customer service training robot, the robot configuration information including basic configuration information and conversation configuration information, the basic configuration information including business scenario information, the conversation configuration information including conversation main process configuration information, the conversation main process configuration information including conversation main process association configuration information for associating the customer service training robot with a conversation main process set, each conversation main process set corresponding to a business scenario and including one or more mined conversation main processes; and instantiate the robot according to the robot configuration information of each customer service training robot to generate each customer service training robot.
[0169] It should be understood that the computer executable instructions stored in the memory, when executed, cause at least one processor 2110 to perform the above combined operations in various embodiments of the present specification. Figure 1-Figure 13 as well as Figure 17-Figure 19 Describes the various operations and functions.
[0170] Fig. 22 FIG. 2 shows a schematic diagram of a message processing device 2200 implemented based on a computer system according to an embodiment of the present specification. Fig. 22 As shown, the message processing device 2200 may include at least one processor 2210, a memory (e.g., a non-volatile memory) 2220, a memory 2230, and a communication interface 2240, and the at least one processor 2210, the memory 2220, the memory 2230, and the communication interface 2240 are connected together via a bus 2260. At least one processor 2210 executes at least one computer-readable instruction stored or encoded in the memory (i.e., the above-mentioned element implemented in the form of software).
[0171] In one embodiment, computer executable instructions are stored in a memory, which when executed cause at least one processor 2210 to: in response to receiving a current dialogue message input by a user, obtain a current dialogue process from a dialogue process stack; trigger execution of the obtained dialogue process to obtain a process processing result; determine a robot reply content based on the process processing result; and provide the determined robot reply content to the user as a robot dialogue content.
[0172] It should be understood that the computer executable instructions stored in the memory, when executed, cause at least one processor 2210 to perform the above combined Figure 14-16 as well as Fig. 20 Describes the various operations and functions.
[0173] According to one embodiment, a program product such as a machine-readable medium (e.g., a non-transitory machine-readable medium) is provided. The machine-readable medium may have instructions (i.e., the above-mentioned elements implemented in the form of software), which, when executed by a machine, causes the machine to perform the above-mentioned combination of various embodiments of this specification. Figure 1-Figure 20 Specifically, a system or device equipped with a readable storage medium may be provided, on which a software program code implementing the functions of any of the above-mentioned embodiments is stored, and a computer or processor of the system or device reads and executes the instructions stored in the readable storage medium.
[0174] In this case, the program code itself read from the machine-readable medium can realize the function of any one of the above-mentioned embodiments, and thus the machine-readable code and the machine-readable storage medium storing the machine-readable code constitute a part of the present invention.
[0175] Examples of readable storage media include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD-RW), magnetic tapes, non-volatile memory cards, and ROMs. Alternatively, the program code may be downloaded from a server computer or a cloud via a communication network.
[0176] According to one embodiment, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, the processor performs the above combination of the various embodiments of this specification. Figure 1-Figure 20 Describes the various operations and functions.
[0177] Those skilled in the art should understand that the various embodiments disclosed above can be modified and altered in various ways without departing from the essence of the invention. Therefore, the protection scope of the present invention should be defined by the appended claims.
[0178] It should be noted that not all steps and units in the above-mentioned processes and system structure diagrams are necessary, and some steps or units can be ignored according to actual needs. The execution order of each step is not fixed and can be determined as needed. The device structure described in the above-mentioned embodiments can be a physical structure or a logical structure, that is, some units may be implemented by the same physical entity, or some units may be implemented by multiple physical entities, or some components in multiple independent devices may be implemented together.
[0179] In the above embodiments, the hardware unit or module can be realized by mechanical or electrical means. For example, a hardware unit, module or processor can include permanent dedicated circuit or logic (such as special processor, FPGA or ASIC) to complete the corresponding operation. The hardware unit or processor can also include programmable logic or circuit (such as general-purpose processor or other programmable processor), which can be temporarily set by software to complete the corresponding operation. Specific implementation (mechanical method or dedicated permanent circuit or temporary circuit) can be determined based on cost and time consideration.
[0180] The specific embodiments described above in conjunction with the accompanying drawings describe exemplary embodiments, but do not represent all embodiments that can be implemented or fall within the scope of protection of the claims. The term "exemplary" used throughout this specification means "used as an example, instance or illustration" and does not mean "preferred" or "having advantages" over other embodiments. For the purpose of providing an understanding of the described technology, the specific embodiments include specific details. However, these technologies can be implemented without these specific details. In some instances, in order to avoid making the concepts of the described embodiments difficult to understand, well-known structures and devices are shown in block diagram form.
[0181] The above description of the present disclosure is provided to enable any person of ordinary skill in the art to implement or use the present disclosure. Various modifications to the present disclosure will be apparent to those of ordinary skill in the art, and the general principles defined herein may be applied to other variations without departing from the scope of protection of the present disclosure. Therefore, the present disclosure is not limited to the examples and designs described herein, but is consistent with the widest range of principles and novel features disclosed herein.
Claims
1. A method for generating a customer service training robot, comprising: Based on the historical customer service dialogue script data, the main dialogue process is mined. In the main dialogue process, each sentence of corpus includes corpus content and attribute information. The attribute information includes character roles and extended attributes. The extended attributes include intent, matching content, node identifier, turn identifier, node type and flexibility range. The node is used to represent the dialogue for the same intent question. The matching content is used to indicate similar sentences that match the meaning of the sentence of corpus. The node identifier is used to indicate the node number where the sentence of corpus is located. The turn identifier is used to indicate the dialogue turn where the sentence of corpus is located. The node type is used to indicate whether the node where the sentence of corpus is located can be flexibly adjusted. The flexibility range is used to indicate the node range for answering the intent question. Configuring robot configuration information of each customer service training robot, the robot configuration information including basic configuration information and dialogue configuration information, the basic configuration information including business scenario information, the dialogue configuration information including dialogue main process configuration information, the dialogue main process configuration information including dialogue main process association configuration information for associating the customer service training robot with a dialogue main process set, each dialogue main process set corresponding to a business scenario and including one or more mined dialogue main processes; as well as Robot instantiation is performed according to the robot configuration information of each customer service training robot to generate each customer service training robot.
2. The method of claim 1, further comprising: Generate a dialogue sub-process set for execution by the customer service training robot, each dialogue sub-process in the dialogue sub-process set reflects an additional execution intention of the customer service training robot, and the additional execution intention includes an execution intention other than the main dialogue process, The dialogue configuration information also includes dialogue sub-process configuration information for associating the customer service training robot with a dialogue sub-process set, a dialogue sub-process entry decision condition, and a dialogue sub-process exit decision condition.
3. The method of claim 1, wherein: The main process of data mining based on historical customer service dialogue scripts includes: Pre-process historical customer service conversation transcript data; and Filter out high-quality customer service conversation script data from the pre-processed historical customer service conversation script data to mine the main conversation process.
4. The method of claim 1, further comprising: The corpus in the customer service dialogue script data corresponding to each main dialogue process is divided into single rounds according to the dialogue rounds to obtain the divided corpus parts; as well as Corpus clustering is performed on the divided corpus parts to obtain intention corpus clusters and discourse corpus clusters.
5. The method of claim 4, wherein: The dialogue main process configuration information includes speech association configuration information for associating the customer service training robot with one or more intent corpus clusters and / or speech corpus clusters.
6. The method of claim 4, wherein: The divided corpus parts are clustered to obtain the intention corpus clusters and discourse corpus clusters including: Use the KMeans algorithm to perform the first corpus clustering on the divided corpus parts to obtain the first corpus cluster; Performing a second corpus clustering using the HDBSCAN algorithm in each first corpus cluster to obtain a second corpus cluster; and The second corpus clusters are merged into similar clusters to obtain intention corpus clusters and discourse corpus clusters.
7. The method of claim 6, wherein: The second corpus clusters are merged into similar clusters to obtain the intention corpus clusters and discourse corpus clusters including: performing similar cluster merging on the second corpus cluster to obtain a third corpus cluster; Extracting summary information of each third corpus cluster from each third corpus cluster; and Useless corpus clusters are removed based on the summary information of each third corpus cluster to obtain intention corpus clusters and discourse corpus clusters.
8. The method of claim 4, wherein: Before performing corpus clustering on the divided corpus parts, the method further includes: Perform vector encoding on the divided corpus parts.
9. The method of claim 1, wherein: Robot instantiation is performed according to the robot configuration information of each customer service training robot to generate each customer service training robot including: Get the robot configuration information of each customer service training robot; Generate basic information of each customer service training robot according to the basic training information in the acquired robot configuration information, wherein the basic information includes session identification information, and the session identification information is generated at least in part based on the customer service training robot identification, the associated user of the customer service training robot, and the business scenario; Selecting a conversation main process of each customer service training robot from the conversation main process set associated with the conversation main process configuration information in the robot configuration information; and Each customer service training robot is instantiated by instantiating the algorithm implementation model of the selected main dialogue process and constructing a dialogue process stack, and the bottom of the constructed dialogue process stack is the selected main dialogue process.
10. A message processing method applied to a customer service training robot, wherein the customer service training robot is generated according to the method of claim 9, and the message processing method comprises: In response to receiving a current dialog message input by a user, obtaining a current dialog flow from a dialog flow stack; Trigger the execution of the acquired dialogue process to obtain the process processing result; Determine the robot's reply content according to the processing result of the process; as well as The determined robot reply content is provided to the user as the robot conversation content.
11. The message processing method according to claim 10, wherein: The customer service training robot is associated with a dialogue sub-process set and a dialogue sub-process entry decision condition, and the process processing result includes a content field for recording the dialogue content and a process exit field for indicating whether to exit the current dialogue process. After triggering the execution of the acquired dialog process to obtain the process processing result, the message processing method further includes: The following process is executed repeatedly until it is determined to exit the current dialog flow: Determine whether to exit the current dialog process based on the field value of the process exit field of the current process processing result; In response to determining that the current dialogue process is not to be exited, executing a process hit process for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition; In response to hitting a dialog sub-flow, triggering execution of the hit dialog sub-flow to obtain a flow processing result, and the obtained flow processing result is used as the current flow processing result of the next cycle process; and The robot reply content is determined according to the result of the dialogue process, including: In response to the end of the loop process, the conversation contents in the content fields of all the obtained conversation process processing results are determined as robot reply contents.
12. The message processing method according to claim 11, wherein: The customer service training robot is associated with a dialog sub-process exit decision condition, and the process hit processing of the dialog sub-process in the dialog sub-process set associated with the customer service training robot is performed in sequence. The message processing method also includes: In response to not hitting the dialog sub-flow, performing dialog sub-flow exit decision condition parsing; and In response to the parsing result satisfying the dialog sub-process exit decision condition, it is determined to exit the current dialog process.
13. The message processing method according to claim 11, wherein: The process processing result also includes a recommended sub-process field for indicating whether there is a recommended dialogue sub-process. Before executing the process hit processing for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition, the message processing method further includes: In response to determining that the current dialog flow is not to be exited, determining whether there is a recommended dialog sub-flow according to the field value of the recommended sub-flow field; and In response to the existence of the recommended dialog sub-flow, the recommended dialog sub-flow is determined as a hit dialog sub-flow.
14. The message processing method according to claim 10, further comprising: In response to receiving a sub-process trigger message for triggering a dialogue sub-process, performing a process hit process for the dialogue sub-process associated with the customer service training robot, Triggering the execution of the acquired dialog flow to obtain the process processing results includes: Trigger the execution of the hit dialog sub-process to obtain the process processing result.
15. The message processing method according to any one of claims 10 to 14, further comprising: In response to determining that the current dialog flow is to be exited, determining whether to perform a fallback process; When it is determined that a catch-all processing is to be performed, the catch-all reply content is determined according to the catch-all speech processing rules, and the catch-all reply content is provided to the user as the robot dialogue content of the current round.
16. A device for generating a customer service training robot, comprising: The knowledge production unit mines the main flow of the conversation based on the historical customer service dialogue script data. In the main flow of the conversation, each sentence of the corpus includes the corpus content and attribute information. The attribute information includes the character role and extended attributes. The extended attributes include intent, matching content, node identifier, turn identifier, node type and flexibility range. The node is used to represent the conversation for the same intent question. The matching content is used to indicate similar sentences that match the meaning of the sentence of the corpus. The node identifier is used to indicate the node number where the sentence of the corpus is located. The turn identifier is used to indicate the conversation turn where the sentence of the corpus is located. The node type is used to indicate whether the node where the sentence of the corpus is located can be flexibly adjusted. The flexibility range is used to indicate the node range for answering the intent question. A robot configuration unit, configured with robot configuration information of each customer service training robot, wherein the robot configuration information includes basic configuration information and dialogue configuration information, wherein the basic configuration information includes business scenario information, and the dialogue configuration information includes dialogue main process configuration information, wherein the dialogue main process configuration information includes dialogue main process association configuration information for associating the customer service training robot with a dialogue main process set, wherein each dialogue main process set corresponds to a business scenario and includes one or more mined dialogue main processes; as well as The robot instantiation unit instantiates the robot according to the robot configuration information of each customer service training robot to generate each customer service training robot.
17. The device of claim 16, wherein: The knowledge production unit further generates a dialogue sub-process set for execution by the customer service training robot, each dialogue sub-process in the dialogue sub-process set reflects an additional execution intention of the customer service training robot, and the additional execution intention includes an execution intention other than the main dialogue process, and The dialogue configuration information also includes dialogue sub-process configuration information for associating the customer service training robot with a dialogue sub-process set, a dialogue sub-process entry decision condition, and a dialogue sub-process exit decision condition.
18. The apparatus of claim 16, further comprising: The data preprocessing unit preprocesses the historical customer service dialogue script data. The knowledge production unit selects high-quality customer service dialogue script data from pre-processed historical customer service dialogue script data to mine the main dialogue process.
19. The apparatus of claim 16, further comprising: The corpus division unit divides the corpus in the customer service dialogue script data corresponding to each main dialogue process into single-round divisions according to the dialogue rounds to obtain the divided corpus parts; as well as The corpus clustering unit performs corpus clustering on the divided corpus parts to obtain intention corpus clusters and discourse corpus clusters. The main dialogue process configuration information includes speech association configuration information for associating the customer service training robot with one or more intent corpus clusters and / or speech corpus clusters.
20. The device of claim 19, wherein: The corpus clustering unit comprises: The first corpus clustering module uses the KMeans algorithm to perform the first corpus clustering on the divided corpus parts to obtain the first corpus cluster; A second corpus clustering module, using the HDBSCAN algorithm to perform a second corpus clustering in each first corpus cluster to obtain a second corpus cluster; and The corpus cluster merging module performs similar cluster merging on the obtained second corpus clusters to obtain intention corpus clusters and discourse corpus clusters.
21. The apparatus of claim 19, further comprising: The vector encoding unit performs vector encoding on the divided corpus parts before performing corpus clustering on the divided corpus parts.
22. The apparatus of claim 16, wherein: The robot instantiation unit comprises: Configuration information acquisition module, which obtains the robot configuration information of each customer service training robot; A basic information generation module, which generates basic information of each customer service training robot according to the basic training information in the robot configuration information, wherein the basic information includes session identification information, and the session identification information is generated at least in part based on the customer service training robot identification, the associated user of the customer service training robot, and the business scenario; A process selection module selects a conversation main process of each customer service training robot from the conversation main process set associated with the conversation main process configuration information in the robot configuration information; and The robot instantiation module instantiates each customer service training robot by instantiating the algorithm implementation model of the selected main dialogue process and building a dialogue process stack. The bottom of the constructed dialogue process stack is the selected main dialogue process.
23. A message processing device applied to a customer service training robot, wherein the customer service training robot is generated according to the method of claim 9, and the message processing device comprises: A conversation message acquisition unit, which acquires the current conversation message input by the user; A dialog flow acquisition unit, which acquires the current dialog flow from the dialog flow stack; A dialog process execution unit triggers the execution of the acquired dialog process to obtain the process processing result; A reply content determination unit, which determines the robot reply content according to the process processing result; as well as The dialogue content providing unit provides the determined robot reply content as the robot dialogue content to the user.
24. The message processing device according to claim 23, wherein: The customer service training robot is associated with a dialogue sub-process set and a dialogue sub-process entry decision condition, and the process processing result includes a content field for recording the dialogue content and a process exit field for indicating whether to exit the current dialogue process. After triggering the execution of the acquired dialog flow to obtain the process processing result, the dialog flow execution unit is further configured to execute the following process in a loop until it is determined to exit the current dialog flow: Determine whether to exit the current dialog process based on the field value of the process exit field of the current process processing result; In response to determining that the current dialogue process is not to be exited, executing a process hit process for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition; In response to hitting a dialog sub-process, the hit dialog sub-process is triggered to execute to obtain a process processing result, and the obtained process processing result is used as the current process processing result of the next cycle process. In response to the end of the loop process, the reply content determination unit determines the dialogue content in the content field of all the dialogue process processing results obtained as the robot reply content.
25. The message processing device according to claim 24, wherein: The customer service training robot is associated with a dialog sub-process exit decision condition, and the process hit processing of the dialog sub-processes in the dialog sub-process set associated with the customer service training robot is performed in sequence. The dialog process execution unit is further configured to: In response to not hitting the dialog sub-flow, performing dialog sub-flow exit decision condition parsing; and In response to the parsing result satisfying the dialog sub-process exit decision condition, it is determined to exit the current dialog process.
26. The message processing device according to claim 24, wherein: The process processing result also includes a recommended sub-process field for indicating whether there is a recommended dialogue sub-process. Before executing the process hit processing for the dialogue sub-process set associated with the customer service training robot according to the dialogue sub-process entry decision condition, the dialogue process execution unit is further configured to: In response to determining that the current dialog flow is not to be exited, determining whether there is a recommended dialog sub-flow according to the field value of the recommended sub-flow field; as well as In response to the existence of the recommended dialog sub-flow, the recommended dialog sub-flow is determined as a hit dialog sub-flow.
27. The message processing device according to claim 24, further comprising: The sub-process trigger message receiving unit receives a sub-process trigger message for triggering a dialog sub-process. In response to receiving a sub-process trigger message for triggering a dialogue sub-process, the dialogue process acquisition unit performs process hit processing for the dialogue sub-process associated with the customer service training robot, and the dialogue process execution unit triggers execution of the hit dialogue sub-process to obtain a process processing result.
28. The message processing device according to any one of claims 23 to 27, further comprising: A fallback processing determination unit, in response to determining that the current dialog flow is exited, determines whether to perform fallback processing; When it is determined that a catch-all processing is to be performed, the reply content determination unit determines the catch-all reply content according to the catch-all speech processing rule as the robot reply content.
29. A customer service training system, comprising: The device for generating a customer service training robot as claimed in any one of claims 16 to 22; as well as A message processing device as claimed in any one of claims 23 to 28.
30. A device for generating a customer service training robot, comprising: at least one processor, a memory coupled to the at least one processor, and A computer program stored in the memory, wherein the at least one processor executes the computer program to implement the method according to any one of claims 1 to 9.
31. A message processing device, comprising: at least one processor, a memory coupled to the at least one processor, and The computer program stored in the memory, and the at least one processor executes the computer program to implement the message processing method according to any one of claims 10 to 15.
32. A computer-readable storage medium storing executable instructions, which, when executed, cause a processor to perform the method according to any one of claims 1 to 9 or the message processing method according to any one of claims 10 to 15.
33. A computer program product, comprising a computer program, wherein the computer program is executed by a processor to implement the method according to any one of claims 1 to 9 or the message processing method according to any one of claims 10 to 15.
Citation Information
Patent Citations
Method and device for determining customer service verbal skill cluster
CN111353028A
Construction method and device of intelligent customer service robot, equipment and storage medium
CN113486166A
Voice conversation processing method and device based on intelligent process framework, and storage medium
CN114257691A