A dialogue management method, system, terminal and storage medium

By drawing a taskflow flow chart and executing it in the dialogue management system, the problem of insufficient portability and flexibility of existing voice interaction methods is solved, which improves the flexibility and development efficiency of dialogue management, and reduces the difficulty.

CN113935337BActive Publication Date: 2025-06-17PING AN TECH (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111235000.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-22
Publication Date
2025-06-17
Estimated Expiration
2041-10-22

AI Technical Summary

Technical Problem

The existing voice interaction methods have problems such as poor transplantability and flexibility, difficult actual system development, and complex dialogue process writing and debugging.

Method used

By drawing a taskflow flow chart, including API interface node, SLOTS slot filling node, SCRIPT script node, NLG reply node and JUDGE judgment node, it is stored in the database, and the dialogue process is loaded and executed according to the user's intention during human-computer dialogue.

Benefits of technology

It improves the flexibility and development efficiency of dialogue management, reduces the difficulty of development and maintenance, and can cope with more complex dialogue management scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113935337B_ABST
    Figure CN113935337B_ABST
Patent Text Reader

Abstract

The present invention discloses a dialogue management method, system, terminal and storage medium. The method includes: drawing a taskflow flowchart according to the dialogue logic and storing the taskflow flowchart in a database; the taskflow flowchart is composed of API interface nodes, SLOTS filling nodes, SCRIPT script nodes, NLG reply nodes and JUDGE judgment nodes, and the taskflow flowchart includes at least one user intention in the dialogue process; during human-computer dialogue, identifying the user intention according to the user's voice stream data and obtaining the corresponding taskflow flowchart according to the user intention; parsing the taskflow flowchart to obtain the dialogue process; and executing the dialogue logic according to the dialogue process. The embodiments of the present invention improve the application flexibility of the TaskFlow flowchart, greatly reduce the development and maintenance difficulty, and can cope with more complex dialogue management scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of voice dialogue systems, and particularly to a dialogue management method, system, terminal and storage medium. Background Art

[0002] In recent years, with the continuous progress of related technologies such as intelligent voice and natural language processing, dialogue management systems have made great improvements in performance and user experience. Existing dialogue management systems all belong to rule-based methods, lacking a relatively general rule programming framework and platform. Usually, domain experts design dialogue scenarios that can be expressed by the dialogue management system, and management rules can be implemented by code logic or hidden in the dialogue tree structure and dialogue framework.

[0003] The currently popular voice interaction method is VoiceXML (a markup language applied to voice browsing), which mainly consists of a voice browser, speech recognition, speech synthesis, and a VoiceXML gateway, etc. Using VoiceXML, voice applications and services based on the WEB can be established. However, the portability and flexibility of this voice interaction method are poor, the actual system development is difficult, and the dialogue process writing and debugging are relatively complex. Summary of the Invention

[0004] The present invention provides a dialogue management method, system, terminal and storage medium, aiming to solve the technical problems existing in the existing voice interaction methods, such as poor portability and flexibility, great difficulty in actual system development, and relatively complex dialogue process writing and debugging.

[0005] To solve the above technical problems, the technical solution adopted by the present invention is as follows:

[0006] A dialogue management method includes:

[0007] Drawing a taskflow flowchart according to the dialogue logic, and storing the taskflow flowchart in a database; the taskflow flowchart consists of API interface nodes, SLOTS filling nodes, SCRIPT script nodes, NLG reply nodes, and JUDGE judgment nodes, and the taskflow flowchart includes at least one user intention in the dialogue process;

[0008] During human-machine dialogue, identifying the user intention according to the user's voice stream data, and obtaining the taskflow flowchart according to the user intention;

[0009] Parsing the taskflow flowchart to obtain the dialogue process;

[0010] Executing the dialogue logic according to the dialogue process, and returning a reply speech corresponding to the user intention.

[0011] The technical solution adopted in the embodiment of the present invention further includes: The drawing of the taskflow flowchart according to the dialogue logic includes:

[0012] Configuring the API interface node, the SLOTS filling node, the SCRIPT script node, the NLG reply node, and the JUDGE judgment node to their designated positions respectively, and connecting the nodes at different positions according to the dialogue logic to obtain the drawn taskflow flowchart;

[0013] The API interface node is used to obtain service information through remote calls in the dialogue process;

[0014] The SLOTS filling node is used to collect slot information and fill slots during the execution of the dialogue process;

[0015] The SCRIPT script node is used to obtain dialogue status information through an embedded groovy script during the execution of the dialogue process, and control and modify the dialogue status information;

[0016] The NLG reply node: is used to generate reply words in a templated manner during the execution of the dialogue process;

[0017] The JUDGE judgment node is used to control the direction of the dialogue process according to the configured conditional expression during the execution of the dialogue process.

[0018] The technical solution adopted in the embodiment of the present invention further includes: The drawing of the taskflow flowchart according to the dialogue logic further includes:

[0019] The taskflow flowchart is divided into a flowchart including the complete dialogue process and a sub-flowchart including at least one user intention.

[0020] The technical solution adopted in the embodiment of the present invention further includes: The storage of the taskflow flowchart in the database specifically is:

[0021] Storing the taskflow flowchart in the database in JSON format.

[0022] The technical solution adopted in the embodiment of the present invention further includes: The recognition of the user intention from the user's voice stream data includes:

[0023] Obtaining the user's voice stream data;

[0024] Performing speech-to-text transcription and recognition on the voice stream data through automatic speech recognition technology to obtain the corresponding text data;

[0025] Process the text data through a natural language understanding algorithm to obtain the user intention.

[0026] The technical solution adopted in the embodiment of the present invention further includes: The parsing of the taskflow flowchart includes:

[0027] Use Jackson to parse the JSON-format taskflow flowchart, generate java objects for each node, and obtain the dialogue process.

[0028] The technical solution adopted in the embodiment of the present invention further includes: The execution of the dialogue logic according to the dialogue process and the return of the response words corresponding to the user intention include:

[0029] Start from the first node in the taskflow flowchart, first push the root node of the TaskFlow flowchart onto the stack, start execution from the top node element of the stack, determine whether the current node is a non-leaf node. If the current node is a non-leaf node, continue to push a child node onto the stack; if the current node is a leaf node, execute the operation of the current node and return the dialogue status information;

[0030] Determine whether the current node needs to wait for the user's reply. If not, return the execution status information; if so, create the input status information of the user, and after recognizing the user's reply information, fill its slots.

[0031] Push the next triggered node in the TaskFlow flowchart onto the stack and execute the dialogue logic, clearing the nodes that have been executed in the stack.

[0032] Another technical solution adopted in the embodiment of the present invention is: A dialogue management system, including:

[0033] Process drawing module: Used to draw a taskflow flowchart according to the dialogue logic and store the taskflow flowchart in the database; the taskflow flowchart consists of API interface nodes, SLOTS slot filling nodes, SCRIPT script nodes, NLG reply nodes, and JUDGE judgment nodes, and the taskflow flowchart includes at least one user intention in the dialogue process;

[0034] Process acquisition module: Used to identify the user intention according to the user's voice stream data during human-computer dialogue and obtain the taskflow flowchart according to the user intention;

[0035] Process parsing module: Used to parse the taskflow flowchart to obtain the dialogue process;

[0036] Process execution module: used to execute the dialogue logic according to the dialogue process.

[0037] Another technical solution adopted in the embodiments of the present invention is: a terminal, the terminal includes a processor and a memory coupled to the processor, wherein,

[0038] The memory stores program instructions for implementing the above-mentioned dialogue management method;

[0039] The processor is used to execute the program instructions stored in the memory to perform the dialogue management operation.

[0040] Another technical solution adopted in the embodiments of the present invention is: a storage medium, storing program instructions that can be run by a processor, and the program instructions are used to execute the above-mentioned dialogue management method.

[0041] The beneficial effects of the present invention are as follows: The dialogue management method, system, terminal and storage medium in the embodiments of the present invention store the pre-drawn TaskFlow flowchart in the dialogue management module. During the dialogue process, the corresponding TaskFlow flowchart or sub-flowchart is loaded according to the user's intention and the dialogue process is executed, which improves the flexibility of dialogue management. At the same time, the present application designs nodes for drawing the TaskFlow flowchart. During the drawing process of the TaskFlow flowchart, each node is dragged to the specified position, and the nodes in different positions are connected according to the dialogue logic, which greatly improves the drawing efficiency. The embodiments of the present application can divide the dialogue process into multiple sub-processes according to different user intentions, draw corresponding TaskFlow flowcharts for each sub-process respectively, and the TaskFlow flowcharts of all sub-processes can be shared and reused, reducing the coupling degree with other modules, improving the application flexibility of the TaskFlow flowchart, greatly reducing the development and maintenance difficulty, and being able to handle more complex dialogue management scenarios. Description of the Drawings

[0042] Figure 1 is a flowchart of the dialogue management method according to the first embodiment of the present invention;

[0043] Figure 2 is a flowchart of the dialogue management method according to the second embodiment of the present invention;

[0044] Figure 3 is a structural diagram of the dialogue management system according to the embodiment of the present invention;

[0045] Figure 4 is a structural diagram of the terminal according to the embodiment of the present invention;

[0046] Figure 5 is a structural diagram of the storage medium according to the embodiment of the present invention. Detailed implementation manners

[0047] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0048] The terms "first", "second", and "third" in the present invention are only used for descriptive purposes, and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first", "second", and "third" may explicitly or implicitly include at least one of such features. In the description of the present invention, the meaning of "a plurality" is at least two, such as two, three, etc., unless otherwise specifically defined. All directional indications (such as up, down, left, right, front, back...) in the embodiments of the present invention are only used to explain the relative positional relationship and movement conditions between components in a specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indications will also change accordingly. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but optionally further includes steps or units not listed, or optionally further includes other steps or units inherent to these processes, methods, products, or devices.

[0049] Referring to... means that the specific features, structures, or characteristics described in connection with the embodiments may be included in at least one embodiment of the present invention. The phrase appears at various positions in the specification and does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein may be combined with other embodiments.

[0050] Please refer to Figure 1 , which is a schematic flowchart of the dialogue management method according to the first embodiment of the present invention. The dialogue management method according to the first embodiment of the present invention includes the following steps:

[0051] S10: Draw a taskflow flowchart according to the dialogue logic, and store the taskflow flowchart in the database;

[0052] In this step, the taskflow flowchart is the pre-drawn dialogue logic. In the embodiments of the present application, in order to improve the drawing efficiency, five nodes for implementing different functions are designed, namely: API interface node, SLOTS filling node, SCRIPT script node, NLG response node, and JUDGE judgment node. The functions of each node are as follows:

[0053] API interface node: It is used to obtain service information through remote call in the dialogue process. By configuring the URL (Uniform Resource Locator) of the remote service, the interface input parameters (in key-value format), and the output parameters, an API interface node can be created. In the embodiments of the present invention, when drawing the taskflow flowchart, the API interface node shields the detailed information of the remote call through the API gateway service, without caring about the differences of different remote callers, which greatly improves the user experience and the editing efficiency of the dialogue process.

[0054] SLOTS filling node: It is used to collect slot information (i.e., the key information that needs to be collected from the user) during the execution of the dialogue process and perform multi-slot filling through NLU empowerment. During the execution of the dialogue process, the SLOTS filling node continuously traverses all slots. When an unfilled slot is found, the clarification words corresponding to the slot are output to TTS (Text To Speech). The user inputs information under the guidance of the TTS voice, and after the user intention is extracted from the user input information by the NLU entity, the unfilled slot is filled by the SLOTS filling node.

[0055] SCRIPT script node: It is used to obtain the dialogue status information through the embedded groovy script during the execution of the dialogue process and control and modify the dialogue status information to meet the customized requirements of the dialogue process. That is, the execution logic of the general dialogue management engine is developed using static Java language and TaskFlow editing, while the processing of the specific domain business logic is carried out by the groovy script embedded in the SCRIPT script node, so as to decouple the system operation and the business domain. Specifically, the groovy script can obtain the dialogue status information through the session.get('key') statement. After processing, the updated dialogue status information is set through the session.set('key', value) statement. Taking the recognition of the user's gender status information as an example:

[0056] def g = session.get('gender')

[0057] session.set('gender', g == 0? 'female':'male')

[0058] NLG reply node: Used to generate reply words by templatizing and endowing dynamically changing data during the execution of the dialogue flow. The sentence template includes several short sentences containing variables, and the variables are dynamically updated by data information and generated by relevant business rules, and finally spliced into a well-structured complete speech.

[0059] JUDGE decision node: Used to control the direction of the dialogue flow according to the configured conditional expression during the execution of the dialogue flow. The JUDGE decision node supports configuring multiple conditional expressions with priorities. The variables supported by the conditional expressions are provided by the current dialogue state information. When the node runs, the conditional expressions are executed according to the priorities. If the value of the conditional expression is true, the direction of the dialogue flow is controlled to jump to this branch and the dialogue flow continues to execute.

[0060] In the embodiments of the present application, the taskflow flowchart is divided into two types according to the complexity of the dialogue task: the flowchart including the complete dialogue flow and the sub-flowchart including at least one user intention; among them, the flowchart including the complete dialogue flow is for dialogue tasks with relatively simple business logic and fewer flowchart nodes. In actual applications, task-based dialogues often require multiple rounds of interaction to collect more information. The more complex the business logic, the more nodes there will be in the drawn TaskFlow flowchart, resulting in a higher development difficulty of the TaskFlow flowchart. Therefore, in the embodiments of the present application, for dialogue tasks with relatively complex business logic, the dialogue flow is divided into multiple (at least two) sub-flows according to the user intention, so that each sub-flow corresponds to at least one user intention, and the sub-flowcharts corresponding to each sub-flow are drawn. When a sub-flow is needed, the sub-flowchart corresponding to the user intention is dragged to the editing interface for sharing and reuse, avoiding meaningless repetitive labor and greatly reducing the development and maintenance difficulty.

[0061] Further, the drawing method of the TaskFlow flowchart (including the flowchart and the sub-flowchart) in the embodiments of the present application is: drag the above five nodes to the specified positions in the editing interface, configure each node, and then connect the nodes at different positions according to the dialogue logic to obtain the drawn TaskFlow flowchart, and store the drawn TaskFlow flowchart in the database of the dialogue management module in JSON (JavaScript Object Notation, a lightweight data exchange format) format for the dialogue management module to read when executing the dialogue task.

[0062] S11: During human-computer dialogue, identify the user intention according to the user's voice stream data, and obtain the taskflow flowchart according to the user intention;

[0063] In this step, after obtaining the user's speech stream data, the speech stream data is transcribed from speech to text through ASR (Automatic Speech Recognition), and the corresponding text data is obtained. Then, the text data is processed through the NLU (Natural Language Understanding) algorithm to obtain the user's intention.

[0064] S12: Parse the taskflow flowchart to obtain the dialogue process;

[0065] In this step, the Jackson tool is used to parse the taskflow flowchart to obtain the dialogue process.

[0066] S13: Execute the dialogue logic according to the dialogue process;

[0067] In this step, the specific process of executing the dialogue logic is as follows: First, push the root node of the TaskFlow flowchart onto the stack, and then start to execute: First, execute the top node element of the stack, and determine whether the current node is a non-leaf node (control node). If the current node is a non-leaf node, continue to push a child node onto the stack; if the current node is a leaf node, execute the specific operation of the node and return the dialogue status information. At the same time, determine whether the current node needs to wait for the user's reply. If not, return the execution status information; if so, create a status information object for the user input, and after recognizing the user input, fill its slots. After the input is completed, push the next triggered node in the TaskFlow flowchart onto the task stack, re-execute the above process for this node, and clear the nodes that have been executed in the stack. Loop through the above process until the dialogue task is completed.

[0068] Based on the above, the dialogue management method of the first embodiment of the present invention stores the pre-drawn TaskFlow flowchart in the dialogue management module. During the dialogue process, the corresponding TaskFlow flowchart is loaded according to the user's intention and the dialogue process is executed, which improves the flexibility of dialogue management and greatly improves the drawing efficiency.

[0069] Please refer to Figure 2 , which is a schematic flowchart of the dialogue management method of the second embodiment of the present application. The dialogue management method of the second embodiment of the present application includes the following steps:

[0070] S20: Obtain the user's speech stream data through the dialogue engine;

[0071] S21: Perform speech-to-text transcription and recognition on the speech stream data through ASR to obtain the corresponding text data, process the text data through the NLU algorithm to obtain the user intention, and pass the user intention to the dialogue management module;

[0072] S22: The dialogue management module loads the taskflow flowchart according to the user intention, and uses the Jackson tool to parse the taskflow flowchart to obtain the dialogue process;

[0073] In this step, the taskflow flowchart is the pre-drawn dialogue logic. In the embodiments of the present application, in order to improve the drawing efficiency, five nodes for implementing different functions are designed, namely: API interface node, SLOTS filling node, SCRIPT script node, NLG response node, and JUDGE judgment node. The functions of each node are as follows:

[0074] API interface node: Used to obtain business information through remote call in the dialogue process. An API interface node can be created by configuring the URL (Uniform Resource Locator) of the remote service, the interface input parameters (key-value format), and the output parameters. In the embodiments of the present invention, when drawing the taskflow flowchart, the API interface node shields the detailed information of the remote call through the API gateway service, without caring about the differences of different remote callers, which greatly improves the user experience and the editing efficiency of the dialogue process.

[0075] SLOTS filling node: Used to collect slot information (i.e., the key information that needs to be collected from the user) during the execution of the dialogue process, and perform multi-slot filling through NLU empowerment. During the execution of the dialogue process, the SLOTS filling node continuously traverses all slots. When an unfilled slot is found, the clarification words corresponding to the slot are output to the TTS (Text To Speech). The user inputs information under the guidance of the TTS voice, and after the NLU entity extracts the user intention according to the user input information, the unfilled slot is filled by the SLOTS filling node.

[0076] SCRIPT Script Node: It is used to obtain the dialogue status information through the embedded groovy script during the execution of the dialogue process, and control and modify the dialogue status information to meet the customized requirements of the dialogue process. That is, the execution logic of the general dialogue management engine is developed in static Java language and edited in TaskFlow, while the processing of specific domain business logic is carried out by the groovy script embedded in the SCRIPT script node, so as to decouple the system operation and the business domain. Specifically, the groovy script can obtain the dialogue status information through the session.get('key') statement. After processing, the updated dialogue status information is set through the session.set('key', value) statement. Taking the identification of the user's gender status information as an example:

[0077] def g = session.get('gender')

[0078] session.set('gender', g == 0? 'female':'male')

[0079] NLG Reply Node: It is used to generate reply words by templating and endowing dynamic data during the execution of the dialogue process. The sentence template includes several short sentences containing variables. The variables are dynamically updated by data information and generated by relevant business rules, and finally spliced into a well-structured complete speech.

[0080] JUDGE Judgment Node: It is used to control the direction of the dialogue process according to the configured conditional expression during the execution of the dialogue process. The JUDGE judgment node supports configuring multiple conditional expressions with priorities. The variables supported by the conditional expressions are provided by the current dialogue status information. When the node runs, the conditional expressions are executed according to the priority. If the value of the conditional expression is true, the direction of the dialogue process is controlled to jump to this branch and the dialogue process continues to execute.

[0081] In the embodiments of the present application, the taskflow flowchart is divided into two types according to the complexity of the dialogue task, namely, the flowchart including the complete dialogue process and the sub-flowchart including at least one user intention. Among them, the flowchart including the complete dialogue process is for dialogue tasks with relatively simple business logics and fewer flowchart nodes. In actual applications, task-based dialogues often require multiple rounds of interaction to collect more information. The more complex the business logic is, the more nodes there will be in the drawn TaskFlow flowchart, resulting in a higher development difficulty for the TaskFlow flowchart. Therefore, in the embodiments of the present application, for dialogue tasks with relatively complex business logics, the dialogue process is divided into multiple (at least two) sub-processes according to user intentions, so that each sub-process corresponds to at least one user intention, and the sub-flowcharts corresponding to each sub-process are drawn. When a sub-process needs to be used, the sub-flowchart corresponding to the user intention can be dragged to the editing interface for sharing and reuse, avoiding meaningless repetitive labor and greatly reducing the development and maintenance difficulties.

[0082] Further, the drawing method of the TaskFlow flowchart (including the flowchart and the sub-flowchart) in the embodiments of the present application is as follows: Drag the above five types of nodes to the specified positions in the editing interface, configure each node, and then connect the nodes at different positions according to the dialogue logic to obtain the drawn TaskFlow flowchart, and store the drawn TaskFlow flowchart in the database of the dialogue management module in JSON (JavaScript Object Notation, a lightweight data exchange format) format for the dialogue management module to read when executing the dialogue task.

[0083] When the dialogue management module obtains the taskflow flowchart from the database, it needs to parse it into an execution object that the dialogue management module can recognize. In the embodiments of the present application, the Jackson tool is used to parse the JSON-format taskflow flowchart to generate java objects for each node, obtain the dialogue process for the dialogue management module to use, and save the dialogue process in a tree structure. The node information in the tree structure is shown in Table 1:

[0084] Table 1: Node Information of the Tree Structure

[0085]

[0086]

[0087] S23: Execute the dialogue logic according to the dialogue process of the taskflow flowchart: Starting from the first node in the taskflow flowchart, push each node onto the stack and run them in sequence;

[0088] In this step, the specific execution process of the dialogue logic is as follows: first push the root node of the TaskFlow flowchart into the stack, and then start execution: first execute the top node element of the stack, and determine whether the current node is a non-leaf node (control node). If the current node is a non-leaf node, continue to push a child node into the stack; if the current node is a leaf node, execute the specific operation of the node and return the dialogue status information. At the same time, determine whether the current node needs to wait for the user's reply. If not, return the execution status information; if necessary, create a user input status information object, and fill its slot after identifying the user input. After the input is completed, push the next triggered node in the TaskFlow flowchart into the task stack, re-execute the above process for the node, and clear the executed nodes in the stack. Execute the above process in a loop until the dialogue task is completed.

[0089] S24: Determine whether the operation reaches the SLOTS slot filling node. If the operation reaches the SLOTS slot filling node, execute S25; otherwise, re-execute S23;

[0090] S25: Pause the execution of the dialogue logic, and return a reply corresponding to the user's intention through the dialogue engine;

[0091] S26: converting the reply words into voice stream data through the TTS technology and outputting them to the user through the telephone platform;

[0092] S27: Determine whether the dialogue task is completed. If not, execute S20 again. Otherwise, execute S280.

[0093] S280: End of conversation.

[0094] Based on the above, the dialogue management method of the second embodiment of the present invention improves the flexibility of dialogue management by storing the pre-drawn TaskFlow flowchart in the dialogue management module. During the dialogue process, the corresponding TaskFlow flowchart or sub-flowchart is loaded according to the user's intention and the dialogue process is executed. At the same time, the present application greatly improves the drawing efficiency by designing nodes for drawing TaskFlow flowcharts. During the drawing process of the TaskFlow flowchart, each node is dragged to a specified position and the nodes at different positions are connected according to the dialogue logic. The embodiment of the present application can divide the dialogue process into multiple sub-processes according to different user intentions, and draw corresponding sub-flowcharts for each sub-process. All sub-flowcharts can be shared and reused, which reduces the coupling degree with other modules, improves the application flexibility of the TaskFlow flowchart, greatly reduces the difficulty of development and maintenance, and can cope with more complex dialogue management scenarios.

[0095] In an optional embodiment, it is also possible to upload the result of the above-mentioned dialogue management method to a blockchain.

[0096] Specifically, corresponding summary information is obtained based on the result of the dialogue management method. Specifically, the summary information is obtained by performing a hashing process on the result of the dialogue management method, for example, by using the sha256s algorithm. Uploading the summary information to the blockchain can ensure its security and fairness and transparency to users. Users can download the summary information from the blockchain to verify whether the result of the dialogue management method has been tampered with. The blockchain mentioned in this example is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithms. Blockchain, in essence, is a decentralized database, a string of data blocks generated by using cryptographic methods. Each data block contains information about a batch of network transactions, which is used to verify the validity of the information (anti-counterfeiting) and generate the next block. The blockchain can include a blockchain underlying platform, a platform product service layer, and an application service layer, etc.

[0097] Please refer to Figure 3 , which is a schematic structural diagram of the dialogue management system according to an embodiment of the present invention. The dialogue management system 40 according to an embodiment of the present invention includes:

[0098] A process drawing module 41: configured to draw a taskflow flowchart according to the dialogue logic and store the taskflow flowchart in a database; the taskflow flowchart is composed of API interface nodes, SLOTS filling nodes, SCRIPT script nodes, NLG reply nodes, and JUDGE judgment nodes, and the taskflow flowchart includes at least one user intention in the dialogue process;

[0099] A process obtaining module 42: configured to identify the user intention according to the user's voice stream data during the human-machine dialogue and obtain the corresponding taskflow flowchart according to the user intention;

[0100] A process parsing module 43: configured to parse the taskflow flowchart to obtain the dialogue process;

[0101] A process execution module 44: configured to execute the dialogue logic according to the dialogue process.

[0102] Please refer to Figure 4 , which is a schematic structural diagram of the terminal according to an embodiment of the present invention. The terminal 50 includes a processor 51 and a memory 52 coupled to the processor 51.

[0103] The memory 52 stores program instructions for implementing the above-mentioned dialogue management method.

[0104] The processor 51 is configured to execute program instructions stored in the memory 52 to perform dialogue management operations.

[0105] Among them, the processor 51 can also be referred to as a CPU (Central Processing Unit). The processor 51 may be an integrated circuit chip with signal processing capabilities. The processor 51 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc.

[0106] In the embodiment of the present application, the terminal quantifies the manifestation degree of each acoustic feature on each emotion label by executing the program instructions stored in the memory by the processor and controlling the dialogue management method stored in the memory. Then, when the emotion label changes, the sensitivity of each acoustic feature changing with the emotion label conversion is calculated according to the quantization index, and the acoustic features with sensitivity less than the sensitivity threshold are filtered out, and dialogue management is performed according to the filtered acoustic features. The embodiment of the present invention takes into account the flexibility of the application, can improve the accuracy of dialogue management, and at the same time reduces the workload in the actual application scenario.

[0107] Please refer to Figure 5 , which is a schematic structural diagram of the storage medium according to the embodiment of the present invention. The storage medium according to the embodiment of the present invention stores a program file 61 capable of implementing all the above methods. Among them, the program file 61 can be stored in the above storage medium in the form of a software product, including several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods according to the various embodiments of the present invention. The foregoing storage medium includes: various media that can store program codes such as a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk, or an optical disc, or a terminal device such as a computer, a server, a mobile phone, or a tablet.

[0108] The storage medium of the embodiment of the present application executes a dialogue management method through program instructions in a stored processor to quantify the performance degree of each acoustic feature on each emotion label. Then, when the emotion label changes, the sensitivity of each acoustic feature changing with the emotion label conversion is calculated according to the quantization index, and the acoustic features with sensitivity less than the sensitivity threshold are filtered out, and dialogue management is performed according to the filtered acoustic features. The embodiment of the present invention takes into account the flexibility of the application, can improve the accuracy of dialogue management, and at the same time reduces the workload in the actual application scenario.

[0109] In several embodiments provided by the present invention, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the system embodiments described above are only illustrative. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point, the displayed or discussed mutual coupling or direct coupling or communication connection can be through some interfaces, indirect coupling or communication connection of devices or units, and can be in electrical, mechanical or other forms.

[0110] In addition, each functional unit in each embodiment of the present invention can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. The above is only the embodiment of the present invention, and does not limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made by using the specification and drawings of the present invention, or directly or indirectly applied to other related technical fields, is equally included in the patent protection scope of the present invention.

Claims

1. A dialogue management method, characterized in that, Including: Drawing a taskflow flowchart according to the dialogue logic and storing the taskflow flowchart in a database; The taskflow flowchart consists of API interface nodes, SLOTS filling nodes, SCRIPT script nodes, NLG reply nodes and JUDGE judgment nodes, and the taskflow flowchart includes at least one user intention in the dialogue process; During human-machine dialogue, identifying the user intention according to the user's voice stream data and obtaining the corresponding taskflow flowchart according to the user intention; Parsing the taskflow flowchart to obtain the dialogue process; Executing the dialogue logic according to the dialogue process; The drawing of the taskflow flowchart according to the dialogue logic includes: Configuring the API interface node, SLOTS filling node, SCRIPT script node, NLG reply node and JUDGE judgment node to their specified positions respectively, and connecting the nodes at different positions according to the dialogue logic to obtain the drawn taskflow flowchart; The API interface node is used to obtain service information through remote call in the dialogue process; The SLOTS filling node is used to collect slot information and fill the slots during the execution of the dialogue process; The SCRIPT script node is used to obtain the dialogue status information through the embedded groovy script during the execution of the dialogue process and control and modify the dialogue status information; NLG reply node: used to generate reply words in a templated manner during the execution of the dialogue process; The JUDGE judgment node is used to control the direction of the dialogue process according to the configured conditional expression during the execution of the dialogue process; The execution of the dialogue logic according to the dialogue process includes: Starting from the first node in the taskflow flowchart, first pushing the root node of the TaskFlow flowchart onto the stack, starting from the top node element of the stack to execute, and judging whether the current node is a non-leaf node. If the current node is a non-leaf node, continue to push a child node onto the stack; if the current node is a leaf node, execute the operation of the current node and return the dialogue status information; Judging whether the current node needs to wait for the user's reply. If not, return the execution status information; if so, create the input status information of the user, and fill the slots after recognizing the user's reply information; Pushing the next triggered node in the TaskFlow flowchart onto the stack and executing the dialogue logic, and clearing the nodes that have been executed in the stack.

2. The dialogue management method according to claim 1, characterized in that, The drawing of the taskflow flowchart according to the dialogue logic further includes: The taskflow flowchart is divided into a flowchart including the complete dialogue process and a sub-flowchart including at least one user intention.

3. The dialogue management method according to claim 2, characterized in that, The storing of the taskflow flowchart in the database specifically is: Storing the taskflow flowchart in the database in JSON format.

4. The dialogue management method according to claim 1, characterized in that, The identifying of the user intention according to the user's voice stream data includes: Obtaining the user's voice stream data; Performing speech-to-character transcription and recognition on the speech stream data through automatic speech recognition technology to obtain corresponding text data; Processing the text data through natural language understanding algorithms to obtain the user intent.

5. The dialogue management method according to claim 2, characterized in that, The parsing of the taskflow flowchart includes: Using Jackson to parse the JSON-format taskflow flowchart to generate Java objects for each node and obtain the conversation flow.

6. A dialogue management system, characterized in that, The system is used to implement the conversation management method according to any one of claims 1-5, including: A process drawing module: used to draw a taskflow flowchart according to the conversation logic and store the taskflow flowchart in a database; the taskflow flowchart consists of API interface nodes, SLOTS filling nodes, SCRIPT script nodes, NLG reply nodes, and JUDGE judgment nodes, and the taskflow flowchart includes at least one user intent in the conversation flow; A process acquisition module: used to identify the user intent according to the user's speech stream data during a human-machine conversation and obtain the taskflow flowchart according to the user intent; A process parsing module: used to parse the taskflow flowchart to obtain the conversation flow; A process execution module: used to execute the conversation logic according to the conversation flow.

7. A terminal, characterized in that, The terminal includes a processor and a memory coupled to the processor, where The memory stores program instructions for implementing the conversation management method according to any one of claims 1 to 5; The processor is used to execute the program instructions stored in the memory to execute the conversation management method.

8. A storage medium, characterized in that, Stored with program instructions that can be run by the processor, and the program instructions are used to execute the conversation management method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Task type dialogue interaction processing method and device based on artificial intelligence

    CN110704594A