Method, apparatus, electronic device and readable medium for realizing groove filling

By introducing the scene slot filling configuration tree in multiple rounds of dialogue, and combining the forward and reverse traversal slot filling methods, the problem of lack of logic and poor user experience in the prior art is solved, and a higher slot filling accuracy and user experience is achieved.

CN111858864BActive Publication Date: 2025-06-20BEIJING JINGDONG SHANGKE INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201910360687.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-04-30
Publication Date
2025-06-20
Estimated Expiration
2039-04-30

AI Technical Summary

Technical Problem

The prior art lacks logic in the process of filling slots in multiple rounds of dialogue, resulting in complex filling process in scenarios with complex relationships between slots, reducing user experience.

Method used

By introducing a scene slot filling configuration tree, combining forward traversal and reverse traversal traversal to fill slots, fill slots according to the current input information, and supplement the slot value of the parent node during reverse traversal to achieve complete filling.

Benefits of technology

Improve the accuracy of filling slots, reduce unnecessary user interaction, and improve user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111858864B_ABST
    Figure CN111858864B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, apparatus, electronic device and readable medium for implementing slot filling. The method includes: obtaining current input information of a client identifier; obtaining a matching scenario slot filling configuration tree based on the current input information, where the scenario slot filling configuration tree includes multiple nodes; filling slots in the scenario slot filling configuration tree according to the current input information; if a parent node has not been filled, traversing the scenario slot filling configuration tree in reverse and determining and filling the slot value of the parent node according to the current input information; traversing and filling the scenario slot filling configuration tree in forward order. The method, apparatus, electronic device and readable medium for implementing slot filling in the present disclosure can improve the accuracy of slot filling, reduce unnecessary user interactions and improve the user experience by combining forward traversal and reverse traversal methods to implement slot filling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of artificial intelligence, and particularly to a method, apparatus, electronic device, and computer-readable medium for implementing slot filling. Background Art

[0002] There are numerous Internet services, and multi-turn conversations are used for interacting with users. In human-machine conversations, after initially clarifying the user's intention, necessary information is obtained to ultimately obtain a clear user instruction. User intentions include, for example, purchasing train tickets, ordering meals, etc. To complete a task, users often need to provide sufficient information. For example, in the scenario of purchasing train tickets, users need to provide the departure time, departure location, destination, etc. A slot corresponds to a piece of information required to complete a certain thing in the multi-turn conversation process. The slot filling process refers to the process of guiding users to complete information supplementation. Therefore, the slot filling function plays a very important role in the dialogue system.

[0003] The method for implementing slot filling in the related art checks the filling status of the slot corresponding to each node, and asks the user to fill in the slot value when the slot is not filled. However, this method lacks logic. In scenarios where the relationships between slots are relatively complex, the filling process is cumbersome, and the method of asking the user multiple times to fill in the slots reduces the user experience.

[0004] Therefore, a new method, apparatus, electronic device, and computer-readable medium for implementing slot filling are needed.

[0005] The above information disclosed in the background art section is only used to enhance the understanding of the background of the present disclosure, and thus it may include information that does not constitute the prior art known to those of ordinary skill in the art. Summary of the Invention

[0006] In view of this, the present disclosure provides a method, apparatus, electronic device, and computer-readable medium for implementing slot filling, which can improve the accuracy of slot filling, reduce unnecessary user interactions, and improve the user experience.

[0007] Other features and advantages of the present disclosure will become apparent through the following detailed description, or will be partially learned through the practice of the present disclosure.

[0008] According to the first aspect of the embodiments of the present disclosure, a method for implementing slot filling is proposed. The method includes: obtaining the current input information of the client identifier; obtaining a matching scenario slot filling configuration tree based on the current input information, where the scenario slot filling configuration tree includes multiple nodes, and each node corresponds to a slot; filling the slots in the scenario slot filling configuration tree according to the current input information; if the parent node has not been filled, traversing the scenario slot filling configuration tree in reverse, and determining and filling the slot value of the parent node according to the current input information; traversing and filling the scenario slot filling configuration tree in the forward direction.

[0009] In an exemplary embodiment of the present disclosure, traversing the scenario slot filling configuration tree in reverse and determining and filling the slot value of the parent node according to the current input information includes: traversing the scenario slot filling configuration tree in reverse, and filling the scenario slot filling configuration tree based on the current input information; supplementing and filling the slot value of its parent node based on each child node with a slot value.

[0010] In an exemplary embodiment of the present disclosure, filling the slots in the scenario slot filling configuration tree according to the current input information includes: traversing the scenario slot filling configuration tree in the forward direction to obtain at least one logical condition; when the current input information satisfies the at least one logical condition, filling the nodes corresponding to the at least one logical condition based on the input information.

[0011] In an exemplary embodiment of the present disclosure, the scenario slot filling configuration tree includes at least one required slot. Traversing and filling the scenario slot filling configuration tree in the forward direction includes: traversing the scenario slot filling configuration tree in the forward direction to obtain at least one unfilled required slot; filling the at least one unfilled required slot in an interrogative manner.

[0012] In an exemplary embodiment of the present disclosure, filling the slots in the scenario slot filling configuration tree according to the current input information includes: extracting the current input information to obtain entity information; filling the corresponding slots in the scenario slot filling configuration tree according to the entity information.

[0013] In an exemplary embodiment of the present disclosure, filling the slots in the scenario slot filling configuration tree according to the current input information further includes: when it is determined that the slot in the scenario slot filling configuration tree has an ambiguous value, obtaining updated input information of the client identifier in an interrogative manner; eliminating the ambiguous value of the slot according to the updated input information.

[0014] In an exemplary embodiment of the present disclosure, filling the slots in the scenario slot filling configuration tree according to the current input information further includes: when the filling of the slots in the scenario slot filling configuration tree fails, filling the corresponding slots in the scenario slot filling configuration tree in a predictive slot filling manner.

[0015] In an exemplary embodiment of the present disclosure, filling the slots in the scenario slot filling configuration tree according to the current input information further includes: when it is predicted that slot filling fails, filling the scenario slot filling configuration tree in a rhetorical way.

[0016] According to a second aspect of the embodiments of the present disclosure, a device for implementing slot filling is provided. The device includes: a dialogue information acquisition module, configured to acquire the current input information of the client identifier; a configuration tree acquisition module, configured to acquire a matching scenario slot filling configuration tree based on the current input information, where the scenario slot filling configuration tree includes multiple nodes, and each node corresponds to a slot; a slot filling module, configured to fill the slots in the scenario slot filling configuration tree according to the current input information; a reverse logic module, configured to, if the parent node has not been filled, traverse the scenario slot filling configuration tree in reverse, and determine and fill the slot value of the parent node according to the current input information; a forward logic module, configured to traverse and fill the scenario slot filling configuration tree in forward.

[0017] According to a third aspect of the embodiments of the present disclosure, an electronic device is provided. The electronic device includes: one or more processors; a storage device, configured to store one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the method for implementing slot filling described in any one of the above.

[0018] According to a fourth aspect of the embodiments of the present disclosure, a computer-readable medium is provided, on which a computer program is stored, characterized in that when the program is executed by a processor, the method for implementing slot filling described in any one of the above is implemented.

[0019] According to the method, device, electronic device and computer-readable medium for implementing slot filling provided by some embodiments of the present disclosure, the concept of a scenario slot filling configuration tree is proposed, which includes all the slots that need to be filled in a specific task scenario, and can clearly show the logical relationship between each slot; based on the current input information, the forward traversal and reverse traversal slot filling methods are combined for slot filling, which can improve the accuracy of slot filling; at the same time, when traversing and filling slots in reverse, by supplementing the slot value of the parent node, the complete filling of the scenario slot filling configuration tree can be realized while reducing repeated interactions, which can improve the user experience. The method for implementing slot filling in the present disclosure combines the forward traversal and reverse traversal methods to implement slot filling, which can improve the accuracy of slot filling, reduce unnecessary user interactions at the same time, and improve the user experience.

[0020] It should be understood that the above general description and the following detailed description are only exemplary and do not limit the present disclosure. Description of the Drawings

[0021] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure. The accompanying drawings described below are only some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0022] Figure 1 is a system block diagram of a method and apparatus for implementing slot filling shown according to an exemplary embodiment.

[0023] Figure 2 is a flowchart of a method for implementing slot filling shown according to an exemplary embodiment.

[0024] Figure 3 is a schematic diagram of a scenario slot filling configuration tree shown according to an exemplary embodiment.

[0025] Figure 4 is a flowchart of a method for implementing slot filling shown according to an exemplary embodiment.

[0026] Figure 5 is according to Figure 4 a flowchart of an embodiment of step S402 in

[0027] Figure 6 is a schematic diagram of a scenario slot filling configuration tree shown according to an exemplary embodiment.

[0028] Figure 7 is a schematic diagram of a scenario slot filling configuration tree shown according to an exemplary embodiment.

[0029] Figure 8 is a schematic diagram of a scenario slot filling configuration tree shown according to an exemplary embodiment.

[0030] Figure 9 is a block diagram of an apparatus for implementing slot filling shown according to an exemplary embodiment.

[0031] Figure 10 is a block diagram of an electronic device shown according to an exemplary embodiment.

[0032] Figure 11 is a schematic diagram of a computer-readable storage medium shown according to an exemplary embodiment. Detailed implementation manners

[0033] Example embodiments will now be described more fully with reference to the accompanying drawings. However, the example embodiments can be implemented in various forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. Like reference numerals in the figures denote like or similar parts, and thus their repetitive description will be omitted.

[0034] The features, structures, or characteristics described may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of the embodiments of the present invention. However, those skilled in the art will realize that the technical solutions of the present invention may be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. may be employed. In other cases, well-known methods, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of the present invention.

[0035] The accompanying drawings are merely schematic illustrations of the present invention, and like reference numerals in the figures denote like or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the drawings do not necessarily have to correspond to physically or logically independent entities. These functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0036] The flowcharts shown in the accompanying drawings are merely illustrative examples and do not necessarily include all the contents and steps, nor do they necessarily have to be executed in the order described. For example, some steps may be decomposed, while some steps may be combined or partially combined, so the actual execution order may change according to the actual situation.

[0037] In the related art, during the interaction with the user, after initially identifying the user's intention, the task scenario corresponding to the intention is determined. Each task scenario requires the user to provide at least one piece of information, and each piece of information corresponds to a slot to be filled, and all the slots to be filled form a slot set. During the multi-round conversation, the user is guided to answer relevant questions, and the slots are filled according to the user's answers.

[0038] In the multi-round conversation, by traversing the slot set to determine whether at least one slot has been filled. When an unfilled slot is found, the user is asked to obtain the slot value of the slot to achieve slot filling. When all the slots are filled, the system enters the response state or the task execution state.

[0039] The above method for realizing slot filling lacks logic and cannot be applied to complex task scenarios; and during the slot filling process, it is necessary to continuously ask the user questions, which reduces the user experience.

[0040] The exemplary embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0041] Figure 1 FIG. is a system block diagram of a method and apparatus for implementing slot filling according to an exemplary embodiment.

[0042] The server 105 may be a server that provides various services. For example, it may be a background management server (only for example) that supports the implementation slot filling system for operations performed by users using the terminal devices 101, 102, and 103. The background management server may analyze and process data such as the received implementation slot filling requests, and feedback the processing results (such as a scenario slot filling configuration tree - only for example) to the terminal devices.

[0043] The server 105 may, for example, obtain the current input information of the client identifier; the server 105 may, for example, obtain a matching scenario slot filling configuration tree based on the current input information. The scenario slot filling configuration tree includes multiple nodes, and each node corresponds to a slot; the server 105 may, for example, fill the slots in the scenario slot filling configuration tree according to the current input information. The server 105 may, for example, if the parent node has not been filled, traverse the scenario slot filling configuration tree in reverse, and determine and fill the slot value of the parent node according to the current input information; the server 105 may, for example, traverse and fill the scenario slot filling configuration tree in forward.

[0044] The server 105 may be a physical server, or may also be composed of multiple servers for example. A part of the server 105 may, for example, be the implementation slot filling task submission system in the present disclosure for obtaining tasks to execute the implementation slot filling commands; and a part of the server 105 may also, for example, be the implementation slot filling system in the present disclosure for obtaining the current input information of the client identifier; obtaining a matching scenario slot filling configuration tree based on the current input information, the scenario slot filling configuration tree includes multiple nodes, and each node corresponds to a slot; filling the slots in the scenario slot filling configuration tree according to the current input information; if the parent node has not been filled, traversing the scenario slot filling configuration tree in reverse, and determining and filling the slot value of the parent node according to the current input information; traversing and filling the scenario slot filling configuration tree in forward.

[0045] According to the method and apparatus for implementing slot filling of the present disclosure, by combining the forward traversal and reverse traversal methods to implement slot filling, the slot filling accuracy can be improved, while reducing unnecessary user interactions and improving the user experience.

[0046] Figure 2It is a flowchart of a method for realizing slot filling shown according to an exemplary embodiment. The method for realizing slot filling provided by the embodiments of the present disclosure can be executed by any electronic device with computing and processing capabilities, such as terminal devices 101, 102, 103, and / or server 105. In the following embodiments, the server executing the method is taken as an example for illustration, but the present disclosure is not limited thereto. The method 20 for realizing slot filling may include steps S201 to S209.

[0047] As Figure 2 shown, in step S201, the current input information of the client identifier is obtained.

[0048] Among them, when the user uses the client for multi-round conversations, the client, such as a mobile phone, a tablet, a computer, etc., receives the user's conversation voice information and integrates it into the current input information through voice conversion. The current input information may include the text-format text information of the user's conversation in multi-round conversations. The client identifier here may include the user name, mobile phone number, etc. when the user logs in to the client, which can uniquely distinguish it from other users.

[0049] In step S203, a matching scenario slot filling configuration tree is obtained based on the current input information. The scenario slot filling configuration tree includes multiple nodes, and each node corresponds to a slot.

[0050] Among them, the schematic diagram of the scenario slot filling configuration tree is as Figure 3 shown in Figure 6 the figure. Figure 3 Taking the scenario of modifying an order as an example, the scenario of modifying an order needs to know the order number to be modified, the modification type, and the result value of the modification (such as but not limited to telephone number, delivery address, consignee, etc.). Figure 3 The shown scenario slot filling configuration tree has multiple slot values, corresponding to the above examples respectively.

[0051] In one embodiment, there may be at least one logical condition between at least one parent node and its child node among the multiple nodes. For example Figure 3 shown, there are logical conditions between the node of the modification type and the telephone number, delivery address, and consignee respectively. For example, there is a logical condition between the modification type and the telephone number: modification type = telephone number; there is a logical condition between the modification type and the delivery address: modification type = delivery address; there is a logical condition between the modification type and the consignee: modification type = consignee. When it is judged that the current logical condition is satisfied, the slot value of its corresponding node is a required slot; when it is judged that the current logical condition is not satisfied, the slot of its corresponding node is a non-required slot.

[0052] In step S205, the slots in the scenario slot filling configuration tree are filled according to the current input information.

[0053] Among them, the current input information is segmented and the necessary information is filled into the scene slot filling configuration tree. After this step is executed, the filling result of the scene slot filling configuration tree can be as follows Figure 7 shown.

[0054] In one embodiment, the scene slot filling configuration tree may be forward traversed to obtain at least one logical condition; when the current input information satisfies the at least one logical condition, the node corresponding to the at least one logical condition is slot filled based on the input information. Among them, all slots to be filled may be forward traversed, and first filled according to the current input information. If the filling is successful, a certain slot to be filled is marked as successful, otherwise it is marked as failed. If all slots to be filled are filled successfully, the method for implementing slot filling in this embodiment ends.

[0055] Another example Figure 3 As shown, the current input information is: Please change the consignee to Zhang San. During the traversal process, first fill in the slot of the modification type: Consignee. When traversing its child nodes, first determine whether the current input information satisfies: Modification type = telephone, and the judgment result is not satisfied. Then continue to determine whether it satisfies: Modification type = delivery address, and the judgment result is not satisfied. Then continue to determine whether it satisfies: Modification type = consignee. After satisfying the logical condition: Modification type = consignee, fill in the slot of the consignee: Zhang San according to the current input information.

[0056] In one embodiment, the current input information may be extracted to obtain entity information; and corresponding slots of the scene slot filling configuration tree may be filled in according to the entity information.

[0057] For example, the current input information is: Please change the consignee to Zhang San. Then, through word segmentation, nouns such as consignee and Zhang San can be obtained. Nouns such as consignee and Zhang San are entity information.

[0058] In one embodiment, when it is determined that a slot in the scene slot filling configuration tree has an ambiguous value, a reverse question method is used to obtain updated input information of the client identifier; and the ambiguous value of the slot is eliminated according to the updated input information.

[0059] Among them, when a slot contains multiple slot values, it may have ambiguous values. For example, if the current input information is: Please change the consignee to Zhang San and Li Si. Then the slot corresponding to the consignee may contain "Zhang San" and "Li Si". At this time, the user can be confirmed through a rhetorical question about the specific parameters that should be included in the slot corresponding to the consignee. The updated input information is the user's reply information after a rhetorical question is sent to the user. For example, the user can be rhetorically asked: Do you want to change the consignee to "Zhang San" or "Li Si"? The updated input information can be: Zhang San. Then, according to the updated input information, "Li Si" in the consignee is deleted, leaving "Zhang San". In some embodiments, for example, the current input information is: Please change the consignee to Zhang San and the phone number to 123456. Then the modification types may include "consignee" and "phone number". However, the slot corresponding to the modification type is a slot group that can be filled with multiple slot values, so the slot corresponding to the modification type does not need to be disambiguated.

[0060] In one embodiment, when the slot filling of the scenario slot filling configuration tree fails, a pre-judgment slot filling method may also be used to fill the corresponding slot of the scenario slot filling configuration tree. Among them, the pre-judgment slot filling method does not need to analyze the current input information. For example, in the scenario of modifying an order, the current input information is: Please change the consignee to Zhang San. When filling the scenario slot filling configuration tree, for the slot corresponding to the order number, the current input information does not mention it. At this time, the order number of the order to be delivered of this user can be found from the order database according to the user information, and the order number is filled into the slot corresponding to the order number node.

[0061] In one embodiment, when the pre-judgment slot filling fails, a rhetorical question method may also be used to fill the scenario slot filling configuration tree.

[0062] In step S207, if the parent node has not been filled, traverse the scenario slot filling configuration tree in reverse, and determine and fill the slot value of the parent node according to the current input information. The reverse traversal is used to supplement the filling of the scenario slot filling configuration tree. For example, the current input information is: Please change it to be received by Zhang San. In step S205, through word segmentation, "Zhang San" is recognized as a person's name and can be filled into the consignee node. However, since the information of the modification type is not recognized in the current input information, the slot of the modification type is not filled. In this step, through reverse traversal, when it is recognized that the slot of the consignee has a slot value, it can be deduced in reverse that the slot value of its parent node, that is, the modification type, is "consignee". The filling result of the scenario slot filling configuration tree after this step is as Figure 8 shown.

[0063] In one embodiment, reverse traversing the scenario slot filling configuration tree and determining and filling the slot value of the parent node according to the current input information may include: reverse traversing the scenario slot filling configuration tree, and filling the scenario slot filling configuration tree based on the current input information; supplementing and filling the slot value of the parent node based on each child node having a slot value. The method for implementing slot filling according to this embodiment can reduce unnecessary user interactions and improve the user experience.

[0064] In step S209, traverse and fill the scenario slot filling configuration tree in the forward direction. Among them, the scenario slot filling configuration tree can be verified by forward traversing to determine whether the scenario slot filling configuration tree is filled out.

[0065] In one embodiment, the scenario slot filling configuration tree may include at least one required slot. The scenario slot filling configuration tree can be traversed in the forward direction to obtain at least one unfilled required slot; the at least one unfilled required slot is filled in an interrogative manner. For example, required information is missing in the current input information. For example, the current input information is: Please change the consignee. When filling the slot, only the modification category can be filled. The consignee needs to ask the user in an interrogative way to obtain the input information again, and fill the slot corresponding to the consignee according to the input information obtained again.

[0066] According to the method for implementing slot filling provided by the embodiments of the present disclosure, the concept of a scenario slot filling configuration tree is proposed, which contains all the slots that need to be filled in a specific task scenario, and can clearly show the logical relationship between each slot; based on the current input information, combining the forward traversal and reverse traversal slot filling methods for slot filling can improve the accuracy of slot filling; at the same time, when filling the slot in reverse traversal, by supplementing the slot value of the parent node, the complete filling of the scenario slot filling configuration tree can be achieved while reducing repeated interactions, and the user experience can be improved. The method for implementing slot filling of the present disclosure combines the forward traversal and reverse traversal methods to implement slot filling, which can improve the accuracy of slot filling, reduce unnecessary user interactions, and improve the user experience.

[0067] Figure 4 is a flowchart of a method for implementing slot filling shown according to an exemplary embodiment. The method 40 for implementing slot filling may include steps S402 to S406.

[0068] As Figure 4 shown, in step S402, fill the slot in the forward traversal manner, where the slot filling method may include filling the slot according to the current input information, predictive slot filling, and interrogative slot filling.

[0069] Figure 5 is Figure 4 a flowchart of an embodiment of step S402 in Figure 5As shown, the above step S402 may further include steps S502 to S506.

[0070] In step S502, fill in the slots according to the current input information.

[0071] Among them, traverse the scenario slot filling configuration tree in a loop. First, fill in the slots through the current input information. If the slot filling is successful, mark a certain slot to be filled as successful; otherwise, mark it as failed. If all the slots to be filled are filled successfully, the slot filling of this scenario slot filling configuration tree is successful, and respond to the slot filling result; otherwise, use the pre-judgment slot filling method to fill in the slots.

[0072] In step S504, perform pre-judgment to jump slots.

[0073] Among them, traverse the scenario slot filling configuration tree in a loop. Obtain the slot value by calling the pre-judgment service. If the acquisition is successful, mark the current slot as successfully filled; otherwise, mark the slot filling as failed. If all the slots to be filled are filled successfully, the slot filling of this scenario slot filling configuration tree is successful, and respond to the slot filling result; otherwise, use the rhetorical question slot filling method to fill in the slots.

[0074] In step S506, fill in the slots by the rhetorical question slot filling method.

[0075] Among them, generate a rhetorical question according to the unfilled slot to obtain the input information of the user in response to this rhetorical question, and fill in the slot to be filled according to the input information in response to this rhetorical question.

[0076] In step S508, when there is more than one value for a certain slot, eliminate the ambiguous values by asking rhetorical questions.

[0077] For example, a confirmation message can be sent to the user and wait for the user's reply. Then, eliminate the ambiguous values according to the user's reply information.

[0078] In step S404, traverse the nodes of the scenario slot filling configuration tree in reverse, and supplement the slot values and statuses of all parent nodes through negative logic according to the depth-first order from left to right.

[0079] Among them, logical conditions do not need to be considered during reverse traversal. According to the slot filling result of the current node, modify and deduce the slot value information of the parent node. As Figure 3 shown in the slot filling scenario, if the current input information is "The order was filled in wrongly. Please change it to be received by Zhang San", and the user does not specify the modification type, it can be recognized and confirmed that "Zhang San" is a person's name, and further deduce that the modification type is "consignee". Therefore, according to the slot filling result of the consignee node, deduce that the slot value of the parent node should be filled as "consignee".

[0080] In step S406, traverse all the nodes of the scenario slot filling configuration tree from the root node, and sequentially perform slot filling actions through positive logic.

[0081] If the entire slot filling action is completed, the system enters the response state or the task execution state. Among them, the slot filling method of step S402 can be used in sequence from top to bottom and from left to right starting from the root node of the scenario slot filling configuration tree. However, the difference between this step and step S402 is that when a logical condition is encountered, it is judged whether the logical condition is satisfied. Only the nodes that satisfy the logical condition are executed in this step, and the nodes that do not satisfy are abandoned.

[0082] It should be clearly understood that the present disclosure describes how to form and use specific examples, but the principles of the present disclosure are not limited to any details of these examples. On the contrary, based on the teachings of the content disclosed in the present disclosure, these principles can be applied to many other embodiments.

[0083] Those skilled in the art can understand that all or part of the steps of implementing the above embodiments are implemented as a computer program executed by a central processing unit CPU. When the computer program is executed by the central processing unit CPU, the above functions defined by the above method provided by the present disclosure are executed. The said program can be stored in a computer-readable storage medium, and the storage medium can be a read-only memory, a magnetic disk or an optical disc, etc.

[0084] In addition, it should be noted that the above drawings are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present disclosure, rather than for limiting purposes. It is easy to understand that the processes shown in the above drawings do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be executed synchronously or asynchronously in, for example, multiple modules.

[0085] The following is an embodiment of the apparatus of the present disclosure, which can be used to execute the embodiment of the method of the present disclosure. For the details not disclosed in the embodiment of the apparatus of the present disclosure, please refer to the embodiment of the method of the present disclosure.

[0086] Figure 9 is a block diagram of an apparatus for implementing slot filling shown according to an exemplary embodiment. Referring to Figure 9 , the apparatus 90 for implementing slot filling provided by the embodiment of the present disclosure may include: a dialogue information acquisition module 902, a configuration tree acquisition module 904, a slot filling module 906, a reverse logic module 908, and a forward logic module 910.

[0087] In the apparatus for implementing slot filling, the dialogue information acquisition module 902 can be used to acquire the current input information of the client identifier. Among them, when the user uses the client for multi-round conversations, the client, such as a mobile phone, a tablet, a computer, etc., receives the user's dialogue voice information and integrates it into the current input information through voice conversion. The current input information may include the text format information of the user's conversations in multi-round conversations, and may also include the identity information of the user bound to the client identifier.

[0088] The configuration tree acquisition module 904 can be used to obtain a matching scenario slot-filling configuration tree based on the current input information. The scenario slot-filling configuration tree includes multiple nodes, and each node corresponds to a slot.

[0089] The slot filling module 906 can be used to fill the slots in the scenario slot-filling configuration tree according to the current input information. Among them, by performing word segmentation on the current input information and filling the necessary information into the scenario slot-filling configuration tree.

[0090] In one embodiment, the slot filling module 906 can be used to traverse the scenario slot-filling configuration tree forward to obtain at least one logical condition; when the current input information satisfies the at least one logical condition, fill the slots of the nodes corresponding to the at least one logical condition based on the input information.

[0091] In one embodiment, the slot filling module 906 can be used to extract the current input information to obtain entity information; fill the corresponding slots of the scenario slot-filling configuration tree according to the entity information.

[0092] In one embodiment, the slot filling module 906 can also be used to, when it is determined that the slot in the scenario slot-filling configuration tree has an ambiguous value, obtain updated input information of the client identifier in a rhetorical way; eliminate the ambiguous value of the slot according to the updated input information.

[0093] In one embodiment, the slot filling module 906 can also be used to, when the slot filling of the scenario slot-filling configuration tree fails, fill the corresponding slot of the scenario slot-filling configuration tree in a pre-judgment slot-filling manner.

[0094] In one embodiment, the slot filling module 906 can also be used to, when the pre-judgment slot-filling fails, fill the scenario slot-filling configuration tree in a rhetorical way.

[0095] The reverse logic module 908 can be used to, if the parent node has not been filled yet, traverse the scenario slot-filling configuration tree in reverse and determine and fill the slot value of the parent node according to the current input information.

[0096] In one embodiment, the reverse logic module 908 can be used to traverse the scenario slot-filling configuration tree in reverse and determine and fill the slot value of the parent node according to the current input information may include: traversing the scenario slot-filling configuration tree in reverse and filling the scenario slot-filling configuration tree based on the current input information; supplementing and filling the slot value of its parent node based on each child node with a slot value.

[0097] The forward logic module 910 can be used to traverse forward and fill in the scenario slot-filling configuration tree. Among them, the scenario slot-filling configuration tree can be verified by forward traversal to determine whether the scenario slot-filling configuration tree is filled out completely.

[0098] In one embodiment, the scenario slot-filling configuration tree may include at least one required slot. The forward logic module 910 can be used to traverse the scenario slot-filling configuration tree forward to obtain at least one unfilled required slot, and fill in the at least one unfilled required slot in a rhetorical way.

[0099] According to the device for implementing slot filling provided by the embodiments of the present disclosure, the concept of a scenario slot-filling configuration tree is proposed, which contains all the slots that need to be filled in a specific task scenario and can clearly show the logical relationship between each slot. Based on the current input information, by combining the forward traversal and reverse traversal slot-filling methods for slot filling, the accuracy of slot filling can be improved. At the same time, when filling slots by reverse traversal, by supplementing the slot values of the parent nodes, the complete filling of the scenario slot-filling configuration tree can be achieved with reduced repeated interactions, which can improve the user experience. The device for implementing slot filling of the present disclosure combines the forward traversal and reverse traversal methods to achieve slot filling, which can improve the accuracy of slot filling, reduce unnecessary user interactions, and improve the user experience.

[0100] Figure 10 is a block diagram of an electronic device shown according to an exemplary embodiment.

[0101] Next, refer to Figure 10 to describe the electronic device 200 according to this embodiment of the present disclosure. Figure 10 The electronic device 200 shown is only an example and should not impose any limitation on the functions and usage scope of the embodiments of the present disclosure.

[0102] As Figure 10 shown, the electronic device 200 is presented in the form of a general computing device. The components of the electronic device 200 may include but are not limited to: at least one processing unit 210, at least one storage unit 220, a bus 230 connecting different system components (including the storage unit 220 and the processing unit 210), a display unit 240, etc.

[0103] Among them, the storage unit stores program code, and the program code can be executed by the processing unit 210, so that the processing unit 210 executes the steps according to various exemplary embodiments of the present disclosure described in the above part of the electronic prescription transfer processing method in this specification. For example, the processing unit 210 can execute steps such as Figure 2 , Figure 4 , Figure 5 shown.

[0104] The storage unit 220 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 2201 and / or a cache storage unit 2202, and may further include a read-only storage unit (ROM) 2203.

[0105] The storage unit 220 may also include a program / utilities 2204 having a set (at least one) of program modules 2205. Such program modules 2205 include, but are not limited to: an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment.

[0106] The bus 230 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus structures.

[0107] The electronic device 200 may also communicate with one or more external devices 300 (such as a keyboard, a pointing device, a Bluetooth device, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 200, and / or may communicate with any device that enables the electronic device 200 to communicate with one or more other computing devices (such as a router, a modem, etc.). Such communication may be through an input / output (I / O) interface 250. Moreover, the electronic device 200 may also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 260. The network adapter 260 may communicate with other modules of the electronic device 200 through the bus 230. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 200, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0108] Through the description of the above embodiments, those skilled in the art can easily understand that the exemplary embodiments described herein can be implemented by software, or can be implemented by a combination of software and necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, or a network device, etc.) to execute the above method according to the embodiments of the present disclosure.

[0109] Figure 11Schematically shows a schematic diagram of a computer-readable storage medium in an exemplary embodiment of the present disclosure.

[0110] Referring Figure 11 As shown, a program product 400 for implementing the above method according to an embodiment of the present disclosure is described. It can use a portable compact disc read-only memory (CD-ROM) and include program code, and can run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited to this. In this document, a readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, device, or apparatus.

[0111] The program product can adopt any combination of one or more readable media. The readable media can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any combination of the above. More specific examples (non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0112] The computer-readable storage medium can include a data signal propagated in a baseband or as part of a carrier wave, in which the readable program code is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable storage medium can also be any readable medium other than the readable storage medium, and this readable medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, device, or apparatus. The program code contained on the readable storage medium can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination of the above.

[0113] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and also including conventional procedural programming languages such as the "C" language or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's device, executed as a stand-alone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., connected through the Internet using an Internet service provider).

[0114] The above computer-readable medium carries one or more programs, which when executed by the device, cause the computer-readable medium to implement the following functions: obtaining the current input information of the client identifier; obtaining a matching scenario slot-filling configuration tree based on the current input information, the scenario slot-filling configuration tree including a plurality of nodes, each node corresponding to a slot; filling the slots in the scenario slot-filling configuration tree according to the current input information; if the parent node has not been filled, traversing the scenario slot-filling configuration tree in reverse, and determining and filling the slot value of the parent node according to the current input information; traversing and filling the scenario slot-filling configuration tree in the forward direction.

[0115] Those skilled in the art can understand that the above-mentioned modules can be distributed in the device according to the description of the embodiments, or can be correspondingly changed and distributed in one or more devices that are uniquely different from this embodiment. The modules of the above embodiments can be combined into one module, or can be further split into multiple sub-modules.

[0116] Through the description of the above embodiments, those skilled in the art can easily understand that the exemplary embodiments described here can be implemented by software, or can be implemented by the way of software combined with necessary hardware. Therefore, the technical solutions according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0117] The above specifically illustrates and describes the exemplary embodiments of the present disclosure. It should be understood that the present disclosure is not limited to the detailed structures, settings or implementation methods described here; on the contrary, the present disclosure is intended to cover various modifications and equivalent settings included within the spirit and scope of the appended claims.

Claims

1. A method for implementing slot filling, characterized in that, including: obtaining the current input information of the client identifier; obtaining a matching scenario slot-filling configuration tree based on the current input information, where the scenario slot-filling configuration tree includes all slots that need to be filled in the task scenario and shows the logical relationship between each slot. The scenario slot-filling configuration tree includes multiple nodes, each node corresponding to a slot, and there is at least one logical condition between at least one parent node and its child node among the multiple nodes; filling the slots in the scenario slot-filling configuration tree according to the current input information, which includes: traversing the scenario slot-filling configuration tree forward to obtain at least one logical condition; when the current input information satisfies the at least one logical condition, filling the slots of the nodes corresponding to the at least one logical condition based on the current input information; when the filling of the slots in the scenario slot-filling configuration tree fails, using a pre-judgment slot-filling method to fill the corresponding slots in the scenario slot-filling configuration tree, and the pre-judgment slot-filling method does not need to analyze the current input information; when the pre-judgment slot-filling fails, using a rhetorical question method to fill the scenario slot-filling configuration tree; if the parent node has not been filled, traversing the scenario slot-filling configuration tree backward, and determining and filling the slot value of the parent node according to the current input information, which includes: traversing the nodes of the scenario slot-filling configuration tree backward, and based on each child node with a slot value, supplementing and filling the slot value of its parent node through negative logic according to the depth-first order from left to right; traversing and filling the scenario slot-filling configuration tree forward.

2. The method according to claim 1, characterized in that, The scenario slot-filling configuration tree includes at least one required slot. Traversing and filling the scenario slot-filling configuration tree forward includes: traversing the scenario slot-filling configuration tree forward to obtain at least one unfilled required slot; using a rhetorical question method to fill the at least one unfilled required slot.

3. The method according to claim 1, characterized in that, Filling the slots in the scenario slot-filling configuration tree according to the current input information includes: extracting the current input information to obtain entity information; filling the corresponding slots in the scenario slot-filling configuration tree according to the entity information.

4. The method according to claim 3, characterized in that, Filling the slots in the scenario slot-filling configuration tree according to the current input information further includes: when it is determined that the slot in the scenario slot-filling configuration tree has an ambiguous value, using a rhetorical question method to obtain the updated input information of the client identifier; eliminating the ambiguous value of the slot according to the updated input information.

5. A device for implementing slot filling, characterized in that, including: a dialogue information acquisition module for obtaining the current input information of the client identifier; a configuration tree acquisition module for obtaining a matching scenario slot-filling configuration tree based on the current input information, where the scenario slot-filling configuration tree includes all slots that need to be filled in the task scenario and shows the logical relationship between each slot. The scenario slot-filling configuration tree includes multiple nodes, each node corresponding to a slot, and there is at least one logical condition between at least one parent node and its child node among the multiple nodes; A slot filling module is used to fill in the slots in the scene slot filling configuration tree according to the current input information, which includes: forward traversing the scene slot filling configuration tree to obtain at least one logical condition; when the current input information satisfies the at least one logical condition, filling in the slots of the nodes corresponding to the at least one logical condition based on the current input information; when the slot filling of the scene slot filling configuration tree fails, filling in the corresponding slots of the scene slot filling configuration tree in a predictive slot filling manner, the predictive slot filling manner does not require analysis of the current input information; when the predictive slot filling fails, filling in the scene slot filling configuration tree in a reverse question manner; A reverse logic module is used to reversely traverse the scene slot filling configuration tree if the parent node has not been filled in, and determine and fill in the slot value of the parent node according to the current input information, which includes: reversely traversing the nodes of the scene slot filling configuration tree, and supplementing the slot value of its parent node based on each child node with a slot value through negative logic according to the depth-first order from left to right; The forward logic module is used to forwardly traverse and fill in the scenario slot filling configuration tree.

6. An electronic device, characterized in that, include: one or more processors; as well as A storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 4.

7. A computer-readable storage medium, on which a computer program is stored, characterized in that, When the program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.

Citation Information

Patent Citations

  • Data storage and query method based on classification characteristics and balanced binary tree

    CN102521334A

  • Man-machine conversation method and system based on semantic framework

    CN108932278A