Semantic slot filling method and device, equipment and storage medium
By constructing slot dependency rules and analyzing historical data, the slot filling method was optimized, which solved the problem of intelligent interaction failure caused by incomplete slot information and achieved more efficient slot filling and interaction.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- DONGFENG MOTOR GRP
- Filing Date
- 2026-01-05
- Publication Date
- 2026-05-01
AI Technical Summary
In unstable network scenarios such as in-vehicle systems, existing semantic slot filling methods suffer from incomplete slot information, leading to failed intelligent interactions. Furthermore, the slot judgment methods in offline systems are prone to missed detections, resulting in low adaptability and increased user understanding costs.
By constructing slot dependency rules, slots in the voice input are extracted and missing slots are inferred. Default values are filled by combining the usage frequency and timeliness weights of historical data, or by combining filled slots with the scene context to dynamically ask follow-up questions based on the corpus, thus optimizing the slot filling process.
It improves the accuracy of slot filling, reduces invalid follow-up questions, and enhances the efficiency, adaptability, and user experience of intelligent interaction.
Smart Images

Figure CN121963712A_ABST
Abstract
Description
Semantic slot filling methods, apparatus, equipment and storage media Technical Field
[0001] This invention relates to the field of intelligent interaction technology, and in particular to a semantic slot filling method, apparatus, device, and storage medium. Background Technology
[0002] Natural Language Understanding (NLU) technology aims to parse the semantic intent and slots of text. In unstable network scenarios such as in-vehicle environments, semantic systems often fail to achieve intelligent interaction due to incomplete slot information.
[0003] Currently, offline systems mostly use static rules to determine slots. This method is prone to missing some necessary slots, leading to invalid follow-up questions and failed conversations. Furthermore, during follow-up questioning, offline systems rely on fixed default values for slot settings, resulting in low compatibility; they also use fixed follow-up question templates, increasing the user's understanding cost. Moreover, existing systems must consider the limited computing and storage capabilities available in offline environments.
[0004] Therefore, there is an urgent need to propose a more comprehensive solution for semantic slot filling and follow-up question optimization to address the problem of multi-turn dialogue interruption in offline environments. Summary of the Invention
[0005] The present invention aims to solve at least one of the technical problems existing in the prior art, and proposes a semantic slot filling method, apparatus, device and storage medium.
[0006] In a first aspect, embodiments of the present invention provide a semantic slot filling method, including:
[0007] Receive voice input from the target object, and after recognizing the voice intent, load the corresponding slot dependency rules;
[0008] Based on the slot dependency rules, each slot in the voice input is extracted and filled, and the missing slots are inferred.
[0009] By combining the usage frequency and timeliness weight of historical data, the missing slots are filled with default values; and / or, by combining the filled slots and the scene context, the missing slots are dynamically questioned using corpus.
[0010] In some embodiments, the process of establishing the slot dependency rule specifically includes:
[0011] Construct a directed graph using slots as nodes and dependencies as directed edges;
[0012] Based on the necessity of slots, define required slots, conditionally required slots, and optional slots, and set the necessity weight of slots.
[0013] The dependencies in the directed graph are transformed into structured triples of "current slot - prerequisite condition - downstream slot" and stored.
[0014] In some embodiments, in the structured triplet, there is a general dependency or a value-related dependency between the downstream slot and the current slot.
[0015] In some embodiments, the process of filling the missing slots with default values specifically includes:
[0016] Acquire historical data within a preset time range, and extract the usage frequency and most recent usage time of candidate fill values for any missing slot from the historical data;
[0017] Calculate the timeliness weight of any candidate fill value based on its most recent usage time;
[0018] Based on the usage frequency and timeliness weight of any candidate fill value, a comprehensive score for that candidate fill value is calculated, and the candidate fill value with the highest comprehensive score is selected to fill any missing slot.
[0019] In some embodiments, after filling the missing slots with default values, the method further includes:
[0020] Verify the validity of the default values;
[0021] If the default value is valid, then the default value will be filled in;
[0022] If the default value is invalid, then check if there is an alternative value;
[0023] If alternative values exist, they will be used as the new default values, and their validity will be verified.
[0024] If no alternative value is found, dynamic corpus follow-up questions are triggered for the missing slot.
[0025] In some embodiments, the process of dynamically querying the missing slots using corpus data specifically includes:
[0026] Layered construction of the questioning corpus, including sentence types and interaction styles;
[0027] Based on the scene context, dynamically select the appropriate sentence type; based on the number of filled slots, dynamically select the appropriate interaction style.
[0028] Based on dynamically selected sentence types and interaction styles, or based on the sentence types and interaction styles of the target object's historical voice interactions, follow-up question corpus is generated.
[0029] In some embodiments, it also includes:
[0030] The slot dependency rules are compressed and stored, and a prefix tree index is used.
[0031] Slots and default values that are used more frequently than a preset frequency in the historical data are cached in memory.
[0032] The slots and default values used less frequently than the preset frequency in the historical data are written to the local disk and periodically cleared.
[0033] Secondly, embodiments of the present invention provide a semantic slot filling device, comprising:
[0034] The rule loading module is used to receive voice input from the target object and load the corresponding slot dependency rules after recognizing the voice intent.
[0035] The slot inference module is used to extract each slot in the voice input and fill it according to the slot dependency rules, and infer the missing slots.
[0036] The slot filling module is used to fill the missing slots with default values by combining the usage frequency and timeliness weight of historical data; and / or, to perform dynamic corpus follow-up questions on the missing slots by combining the already filled slots and the scene context.
[0037] Thirdly, embodiments of the present invention provide an electronic device, the electronic device comprising:
[0038] At least one processor; and a memory communicatively connected to the at least one processor;
[0039] The memory stores a computer program that can be executed by at least one processor, such that the at least one processor is able to perform the steps of the method according to any embodiment of the present invention.
[0040] Fourthly, embodiments of the present invention provide a computer-readable storage medium storing computer instructions that, when executed by a processor, implement the steps of a method according to any embodiment of the present invention.
[0041] Compared with the prior art, the present invention has the following advantages:
[0042] The semantic slot filling method provided by this invention first receives the voice input of the target object, and after recognizing the voice intent, loads the corresponding slot dependency rules; then, based on the slot dependency rules, extracts and fills each slot in the voice input, and infers the missing slots; finally, combining the usage frequency and timeliness weight of historical data, the missing slots are filled with default values; and / or, combining the filled slots and the scene context, the missing slots are dynamically questioned using corpus. Through the technical solution of this invention, the user's semantic slots are identified more accurately, invalid questioning processes are reduced, and the efficiency of intelligent interaction is improved. Attached Figure Description
[0043] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only preferred embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0044] Figure 1 is a flowchart illustrating a semantic slot filling method provided in an embodiment of the present invention;
[0045] Figure 2 is a schematic diagram of a process for establishing slot dependency rules according to an embodiment of the present invention;
[0046] Figure 3 is a flowchart illustrating a default value exception handling mechanism provided in an embodiment of the present invention;
[0047] Figure 4 is a flowchart illustrating a multi-turn corpus probing mechanism provided in an embodiment of the present invention;
[0048] Figure 5 is a structural block diagram of a semantic slot filling device provided in an embodiment of the present invention;
[0049] Figure 6 is a structural block diagram of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0050] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0051] To enable those skilled in the art to better understand the technical solutions of the present invention, exemplary embodiments of the present invention are described below in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to aid understanding. These should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0052] Where there is no conflict, the various embodiments of the present invention and the features thereof may be combined with each other.
[0053] As used herein, the term “and / or” includes any and all combinations of one or more related enumerated entries.
[0054] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used herein, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that when the terms “comprising” and / or “made of” are used in this specification, the presence of the stated feature, integral, step, operation, element, and / or component is specified, but the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof is not excluded. Terms such as “connected” or “linked” are not limited to physical or mechanical connections but can include electrical connections, whether direct or indirect.
[0055] Unless otherwise specified, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having the meaning consistent with their meaning in the context of the relevant art and the invention, and will not be interpreted as having an idealized or overly formal meaning unless expressly so defined herein.
[0056] In the technical solution of this invention, the collection, storage, use, processing, transmission, provision, and disclosure of user personal information all comply with relevant laws and regulations and do not violate public order and good morals. The use of user data in this technical solution follows relevant national laws and regulations (e.g., the "Information Security Technology - Personal Information Security Specification"). For example: appropriate measures are taken for personal information access control; restrictions are imposed on the display of personal information; the purpose of using personal information does not exceed the scope of direct or reasonable association; and explicit identity targeting is eliminated when using personal information to avoid precisely locating a specific individual.
[0057] Figure 1 is a flowchart illustrating a semantic slot filling method provided by an embodiment of the present invention. This method is particularly suitable for scenarios requiring offline interaction, such as in-vehicle intelligent assistants and smart homes. This method can be executed by a semantic slot filling device, which can be implemented in software and / or hardware and can be configured in an electronic device.
[0058] As shown in Figure 1, the method specifically includes:
[0059] S1 receives the voice input from the target object and, after recognizing the voice intent, loads the corresponding slot dependency rules.
[0060] In offline interaction scenarios for in-vehicle intelligent assistants, the voice intent of the target object may include navigation, etc.; in offline interaction scenarios for smart homes, the voice intent of the target object may include air conditioning control, etc. After receiving the user's voice input, the in-vehicle intelligent assistant or smart home assistant converts the voice input into standard text using Automatic Speech Recognition (ASR) technology. Then, it uses Natural Language Understanding technology to perform intent recognition and slot extraction on the standard text. After obtaining the voice intent of the target object, it loads the corresponding slot dependency rules to fill in the slots and infer the missing slots.
[0061] Slot dependency rules refer to dependency relationship models constructed based on the dynamic logical associations between slots. In existing offline systems, it is difficult to fully consider the associations between slots. For example, after receiving a user's navigation intent, existing offline systems often only consider the "destination" slot, and fail to further consider the dependency relationship between "destination" and "route preference," ignoring the filling or follow-up questioning of the "route preference" slot.
[0062] Figure 2 is a flowchart illustrating the process of establishing slot dependency rules according to an embodiment of the present invention. As shown in Figure 2, in some embodiments, the process of establishing slot dependency rules specifically includes:
[0063] S1011, construct a directed graph with slots as nodes and dependencies as directed edges.
[0064] A directed graph is a graph structure where edges have directionality, and each edge connects two vertices to form an ordered pair, representing a relationship from one vertex to another. In semantic slot filling, slots are treated as nodes in the directed graph, and connections between nodes are made based on the dependencies between slots. For example, there is a dependency between "destination" and "route preference," and filling "route preference" depends on the existence of the "destination" slot.
[0065] S1012, based on the necessity of slots, define required slots, conditionally required slots, and optional slots, and set the necessity weight of slots.
[0066] Required slots refer to the core prerequisites for starting a task; if they are missing, the task cannot be executed, and the necessity weight of required slots can be set to 1. Conditional required slots refer to slots that must be filled after the prerequisites are met; they affect the fine-grained execution of the task, and the necessity weight of conditional required slots can be set to 0.8. Optional slots refer to slots that optimize the task experience after being filled, but whose absence does not affect the basic execution of the task, and the necessity weight of optional slots can be set to 0.5.
[0067] In addition, the data types for filling slots can be divided into POI class, enumeration class and numeric class.
[0068] POI-type data points to specific geographical locations or entities and needs to be matched against a POI database. For example, the "Destination" slot in a navigation task might be populated with data like "Company" or "Home." Enumerated data takes values from a predefined set and requires enumeration value validation. For example, the "Route Preference" slot in a navigation task (which requires a destination) might be populated with values from "Highway Priority" and "Avoid Congestion." Numerical data takes values that are numbers or numerical ranges and requires numerical validity validation. For example, the "Temperature" slot in an air conditioning adjustment task might be populated with values from the 18-30 degree Celsius range.
[0069] S1013 transforms the dependencies in the directed graph into structured triples of "current slot - prerequisite condition - downstream slot" and stores them.
[0070] The current slot refers to the slot node currently to be defined. Preconditions refer to the constraints that trigger the current slot to be filled. Downstream slots refer to undefined slots that, after the current slot is filled, have a dependency on the current slot and require interaction with it.
[0071] In the structured triplet, the downstream slot and the current slot have a general dependency relationship or a value-related dependency relationship.
[0072] A normal dependency means that when the current slot is filled, the downstream slot is also filled. For example, the current slot "Destination" and the downstream slot "Route Preference" have a one-to-many trigger relationship. Whenever "Destination" is filled, it is necessary to check whether "Route Preference" is missing.
[0073] Value-based dependency refers to a specific value triggering a specific dependency when the current slot is filled. For example, when the current slot "Route Preference" is filled with "Avoid Highway", it triggers the downstream slot to be filled with "Alternative Route".
[0074] For example, the structured triples can be stored in JSON format as follows:
[0075] {
[0076] "intent": "navigation",
[0077] "slots": {
[0078] "destination": {
[0079] "type": "required", / / Necessity: Required slot (weight 1.0)
[0080] "data_type": "POI", / / Data type: POI class
[0081] "dependents": ["route preference"] / / Normal dependency: destination → triggers route preference slot
[0082] },
[0083] "Route preference": {
[0084] "type": "conditional", / / Necessity: Required (weight 0.8)
[0085] "condition": "Destination exists", / / Triggering condition
[0086] "dependents": {"Avoid Highway": ["Alternative Route"]} / / Value-related dependencies: Specific value → triggers downstream slot
[0087] }
[0088] }}
[0089] Understandably, in the structured triples stored in the aforementioned JSON format, when the received voice intent of the target object is navigation, "Destination" is a necessary slot with a necessity weight of 1, and its data type is POI. "Destination" also serves as the current slot in the triple. When "Destination" exists, the downstream slot with a normal dependency relationship with "Destination," namely "Route Preference," is directly triggered. Subsequently, after "Route Preference" is filled, it becomes a conditionally necessary slot with a necessity weight of 0.8. "Route Preference" also serves as the current slot in the new triple. When "Route Preference" is filled with "Avoid Highways," the downstream slot with a value-related dependency relationship with the current slot, namely "Alternative Routes," is triggered.
[0090] In some embodiments, the slot dependency rules established by the structured triples can be stored in JSON format; the slot dependency rules can also be compressed and stored in protobuf format, which can reduce storage space by about 40% compared to JSON format; the slot dependency rules can also be hashed and encrypted, and when loading the slot dependency rules, a query can be performed by starting an in-memory hash table, and the query time can be less than 10ms.
[0091] To break the isolation of slot filling and make the dependencies between slots definable, computable, and inferable, especially suitable for task-oriented dialogues in offline environments (without real-time cloud computing support) (such as navigation, smart home appliance control, and industrial equipment command issuance), this embodiment is based on dynamic dependency modeling using directed graphs and weight rules. It supports slot association reasoning in offline environments, can accurately identify mandatory slots and conditionally mandatory slots, and solves the problem of static dependencies and inability to adapt to different scenarios in traditional slot filling.
[0092] S2 extracts and fills each slot in the voice input using slot dependency rules, and infers the missing slots.
[0093] When the voice intent is identified and the corresponding slot dependency rules are loaded, the filled slots are extracted and the missing slots are inferred.
[0094] For example, in an offline interaction scenario of an in-vehicle intelligent assistant, after a user inputs "navigate to the company" via voice, the in-vehicle intelligent assistant recognizes the voice intent as navigation and loads slot dependency rules adapted to navigation. Based on the slot dependency rules, it extracts the mandatory slot "destination" from the voice input and fills it with the value "company". At the same time, based on the slot dependency rules, it infers that the voice input lacks a downstream slot "route preference" that has a normal dependency relationship with "destination", triggering subsequent filling or follow-up questions on "route preference".
[0095] After inferring the missing slots, the process also includes: sorting the missing slots according to their necessity weight, and outputting the sorted list of missing slots to provide a basis for subsequent filling or follow-up questions.
[0096] S3, combining the usage frequency and timeliness weight of historical data, fill the missing slots with default values; and / or, combining the filled slots and the scene context, perform dynamic corpus follow-up questions on the missing slots.
[0097] After reasoning to find the missing slots in the voice input, the local database can be used to retrieve the historical dialogue data of the past three months. For any missing slot, one or more filler values can be queried, and the recent usage time and usage frequency of each filler value in the past three months can be recorded. A comprehensive score is then calculated, and the filler value with the highest comprehensive score is used as the filler value for this missing slot.
[0098] After reasoning to obtain the missing slots in the speech input, the system can combine the filled slots and the scene context to adapt the corpus for any missing slot, generate a corresponding follow-up question corpus, and dynamically adjust the follow-up question order of each missing slot according to the slot weight and dependency relationship.
[0099] Alternatively, after reasoning to determine the missing slots in the voice input, a combination of the two methods can be used.
[0100] In some embodiments, the process of filling missing slots with default values specifically includes:
[0101] S3011, Obtain historical data within a preset time range, and extract the usage frequency and most recent usage time of the candidate fill value for any missing slot from the historical data.
[0102] S3012, calculate the timeliness weight of any candidate fill value based on the most recent usage time of any candidate fill value.
[0103] The formula for calculating the timeliness weight is: Q = 1 - (t1 - t2) / T, where Q represents the timeliness weight, t1 represents the current time, t2 represents the most recent usage time, and T represents the preset time range.
[0104] Table 1 shows the relevant information of candidate fill values for missing slots extracted from historical data in the local database. Taking the missing "Destination" slot as an example, the candidate fill values for "Destination" in the historical data can be queried, including "Company" and "Home". The frequency of use and the most recent use time of each candidate fill value can be recorded, and the timeliness weight of each candidate fill value can be calculated.
[0105] Table 1: Relevant Information on Candidate Fill Values
[0106]
[0107] S3013. Based on the usage frequency and timeliness weight of any candidate fill value, calculate the comprehensive score of the candidate fill value, and select the candidate fill value with the highest comprehensive score to fill the missing slot.
[0108] The formula for calculating the overall score is: S=P*Q, where S represents the overall score, P represents the frequency of use, and Q represents the timeliness weight.
[0109] The process of filling missing slots with default values described above can be represented by Python code, as follows:
[0110] def calculate_default(slot_name):
[0111] # Timeliness weight = 1 - (Current time - Last used time) / 90 days
[0112] candidates = query_history(slot_name)
[0113] For candidate c:
[0114] c["score"] = c["frequency of use"] * c["timeliness weight"]
[0115] return max(candidates, key=lambda x: x["score"])["filler value"]
[0116] Figure 3 is a flowchart illustrating a default value exception handling mechanism provided in an embodiment of the present invention. As shown in Figure 3, after filling the missing slots with default values, the mechanism further includes:
[0117] Verify the validity of the default values;
[0118] If the default value is valid, then fill in the default value;
[0119] If the default value is invalid, check if there is an alternative value;
[0120] If alternative values exist, they will be used as the new default values, and their validity will be validated.
[0121] If no alternative value is found, dynamic corpus probing is triggered for the missing slot.
[0122] During the validity verification process, local verification can be performed using offline resources. For example, for POI slots, an offline map POI library can be matched; for enumerated slots, it can be verified whether they are in a preset value list, such as the "route preference" value needing to be in the list of ["high-speed priority", "avoid congestion"].
[0123] For example, in a car navigation scenario, if a user says "Navigate to the company" in an offline environment, the entire semantic slot filling process of the car's intelligent assistant is as follows:
[0124] 1) Slot extraction: The offline NLU module extracted the slot {Destination:Company}, but did not extract "Route Preference";
[0125] 2) Dependency reasoning: The slot dependency module determines that "route preference" is a required slot based on the rules, because "destination" has already been filled;
[0126] 3) Default value filling: Query historical data, the high-frequency value of "Route Preference" is "Avoid Congestion", which is used 28 times and has a timeliness weight of 0.9; verify that "Avoid Congestion" is a valid enumeration value, and complete the filling;
[0127] 4) Semantic parsing: Generate complete semantics {Intent: Navigation, Destination: Company, Route preference: Avoid congestion};
[0128] 5) Execution response: Call the vehicle control interface to plan the route, and TTS will announce "A route to avoid congestion has been planned for you".
[0129] For example, in a smart home scenario, if a user says "turn on the air conditioner" in an offline environment, the entire semantic slot filling process of the smart home assistant is as follows:
[0130] 1) Slot extraction: Slot {Equipment: Air Conditioner} was extracted, but "Temperature" was not extracted;
[0131] 2) Dependency reasoning: "Temperature" is a mandatory slot (weight 1), triggering the filling process;
[0132] 3) Default value filling: The most frequent value of "temperature" in historical data is 24℃, with a timeliness weight of 0.95; after verification that it is a valid value (within the range of 5-30℃), the filling is completed;
[0133] 4) Execution response: Call the air conditioning control interface, and TTS broadcasts "Air conditioning is turned on, temperature set to 24℃".
[0134] In some embodiments, the process of dynamically querying the missing slots using corpus data specifically includes:
[0135] S3021, hierarchical construction of the sentence types and interaction styles of the questioning corpus.
[0136] S3022 dynamically selects the appropriate sentence type based on the scene context; and dynamically selects the appropriate interaction style based on the number of filled slots.
[0137] S3023, generate follow-up question corpus based on dynamically selected sentence type and interaction style, or based on the sentence type and interaction style of the target object's historical voice interaction.
[0138] A layered design is used to construct a corpus containing a base layer and a scenario layer. The sentence type of the base layer corpus is set to a general sentence type, while the sentence type of the scenario layer corpus is set to an intentional sentence type. For example, when asking follow-up questions about "destination," the general sentence type is set to "Please tell me the destination," while the intentional sentence type is set to "Where do I need navigation to?". Interaction styles include simple and detailed interaction styles, and both the base layer and scenario layer corpora can use any interaction style. For the initial interaction, a detailed interaction style can be used; while after multiple interactions, a simple interaction style can be used.
[0139] The process of dynamically querying the missing slots described above can be represented by Python code, as follows:
[0140] def select_prompt(slot, filled_slots, user_style):
[0141] if len(filled_slots) > 0:
[0142] # When there are ≥1 filled slots, use a concise sentence structure.
[0143] return the scene-level corpus [slot][user_style]["concise"]
[0144] else:
[0145] # Use detailed sentences during the first interaction.
[0146] return base layer corpus [slot][user_style]["details"]
[0147] In some embodiments, the method further includes dynamically adjusting the order of follow-up questions based on the necessity weight of the missing slots and the dependencies in the directed graph. For example, in a navigation scenario, the weight of "destination" is 1, the weight of "route preference" is 0.8, and the weight of "departure time" is 0.5.
[0148] Figure 4 is a flowchart illustrating a multi-turn corpus probing mechanism provided in an embodiment of the present invention. Referring to Figure 4, for example, in a vehicle navigation scenario, when a user says "navigation" in an offline environment, the in-vehicle intelligent assistant performs the entire semantic slot filling process through multi-turn probing as follows:
[0149] 1) No valid slot was extracted;
[0150] 2) Dependency reasoning: "Destination" is a mandatory slot (weight 1), and is prioritized for follow-up questions;
[0151] 3) Dynamic corpus selection: Since there are no filled slots, select the detailed sentence "Where do you want to navigate to?";
[0152] 4) User response: The user says "XXX", and the destination is filled in as XXX;
[0153] 5) Secondary reasoning: Trigger the "route preference" follow-up question, choose the concise sentence "Do you need to avoid traffic jams?";
[0154] 6) User response: If the user says "no", the route preference is set to high speed priority;
[0155] 7) Execution response: Plan and announce the high-speed priority route.
[0156] In some embodiments, it also includes:
[0157] Slot dependency rules are compressed and stored, and a prefix tree index is used.
[0158] Slots and their default values that are used more frequently than the preset frequency in historical data are cached in memory.
[0159] Slots used less frequently than the preset frequency in historical data are written to the local disk along with their default values, and are periodically cleared.
[0160] To address the computational and storage limitations of offline environments, a lightweight design and caching mechanism are employed. A rule compression and indexing mechanism is implemented: slot dependency rules utilize prefix tree indexes, improving query efficiency by 60%; the corpus employs the LZ77 compression algorithm, reducing storage usage by 50%. A default value caching mechanism is also implemented: recently active slot default values are cached in memory (TTL=24 hours), with access time ≤5ms; low-frequency data is written to local disk, and expired data is evicted using the LRU algorithm. A computational power allocation mechanism is implemented: slot inference and verification tasks have higher priority than corpus generation, ensuring core logic response time ≤100ms; a thread pool design is used to process multi-slot verification in parallel.
[0161] In some embodiments, the method further includes: introducing user profile tags during the default value population process.
[0162] For example, tags such as "commuter" and "energy-saving preference" can be used to illustrate this. For users whose profile is "commuter", the default navigation destination weight is increased by 20%. By using user profile tagging technology to fill in default values, the default value adaptation rate is increased from 65% to 82%.
[0163] In some embodiments, the method further includes: periodically updating slot dependency rules via OTA.
[0164] For example: Incremental rule packages are generated in the cloud (containing only newly added / modified dependencies); the vehicle downloads and decompresses them when connected to the network, replacing the old local rules; rule updates are performed via OTA technology, reducing time by 70% and data consumption by ≤100KB.
[0165] The technical solution in this invention constructs slot dependency rules based on the dependencies between slots, enabling more comprehensive slot detection and reducing invalid follow-up questions and dialogue failures. During slot filling, methods such as default value filling and dynamic corpus follow-up questions are used to improve the efficiency of slot filling and optimize user interaction efficiency, resulting in shorter response times. Furthermore, a lightweight design and caching mechanism are proposed to further reduce overall response latency. Rule compression and caching mechanisms reduce offline storage usage, support local verification and OTA updates, and adapt to different scenario expansion needs.
[0166] Based on the same inventive concept, this embodiment of the invention also provides a semantic slot filling device. Figure 5 is a structural block diagram of a semantic slot filling device provided by an embodiment of the invention. As shown in Figure 5, the device specifically includes:
[0167] The rule loading module 100 is used to receive the voice input of the target object and load the corresponding slot dependency rule after recognizing the voice intent;
[0168] The slot reasoning module 200 is used to extract each slot in the voice input and fill it according to the slot dependency rules, and to reason out the missing slots.
[0169] The slot filling module 300 is used to fill missing slots with default values by combining the usage frequency and timeliness weight of historical data; and / or, to perform dynamic corpus follow-up questions on missing slots by combining the already filled slots and the scene context.
[0170] Based on the same inventive concept, this invention also provides an electronic device. Figure 6 is a structural block diagram of an electronic device provided by an embodiment of this invention. As shown in Figure 6, the electronic device provided by this invention includes: one or more processors 101, a memory 102, and one or more I / O interfaces 103. The memory 102 stores one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement any of the semantic slot filling methods described in the above embodiments; the one or more I / O interfaces 103 are connected between the processor and the memory, configured to enable information interaction between the processor and the memory.
[0171] The processor 101 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 102 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read / write interface) 103 is connected between the processor 101 and the memory 102, and can realize information interaction between the processor 101 and the memory 102, including but not limited to a data bus (BUS).
[0172] In some embodiments, the processor 101, memory 102, and I / O interface 103 are interconnected via bus 104, and thus connected to other components of the computing device.
[0173] In some embodiments, the one or more processors 101 include a field-programmable gate array.
[0174] This invention also provides a computer-readable medium. The computer-readable medium stores a computer program, which, when executed by a processor, implements the steps of any of the semantic slot filling methods described in the above embodiments. The computer-readable storage medium may be volatile or non-volatile.
[0175] This invention also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code is run in the processor of an electronic device, the processor in the electronic device executes the above-described semantic slot filling method.
[0176] Those skilled in the art will understand that all or some of the steps, systems, and apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software can be distributed on a computer-readable storage medium, which may include computer storage media (or non-transitory media) and communication media (or transient media).
[0177] As is known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable program instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), flash memory or other memory technologies, portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, it is known to those skilled in the art that communication media typically contain computer-readable program instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0178] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0179] The computer program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing state information from the computer-readable program instructions. This electronic circuitry can execute the computer-readable program instructions to implement various aspects of the invention.
[0180] The computer program product described herein can be implemented specifically through hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0181] Various aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0182] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0183] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0184] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0185] Example embodiments have been disclosed herein, and while specific terminology has been used, it is for illustrative purposes only and should be construed as such, and is not intended to be limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in conjunction with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of the invention as set forth in the appended claims.
Claims
1. A semantic slot filling method, characterized in that, include: Receive voice input from the target object, and after recognizing the voice intent, load the corresponding slot dependency rules; Based on the slot dependency rules, each slot in the voice input is extracted and filled, and the missing slots are inferred; combined with the usage frequency and timeliness weight of historical data, the missing slots are filled with default values. And / or, by combining the filled slots and the scene context, dynamic corpus follow-up questions are performed on the missing slots.
2. The method according to claim 1, characterized in that, The process of establishing the slot dependency rules specifically includes: constructing a directed graph with slots as nodes and dependency relationships as directed edges; defining mandatory slots, conditionally mandatory slots, and optional slots based on the necessity of slots, and setting the necessity weight of slots; converting the dependency relationships in the directed graph into structured triples of "current slot - prerequisite condition - downstream slot", and storing them.
3. The method according to claim 2, characterized in that, In the structured triple, there is a general dependency relationship or a value-related dependency relationship between the downstream slot and the current slot.
4. The method according to claim 1, characterized in that, The process of filling the missing slots with default values specifically includes: acquiring historical data within a preset time range, and extracting the usage frequency and recent usage time of candidate filling values for any missing slot from the historical data; calculating the timeliness weight of any candidate filling value based on the recent usage time of any candidate filling value; calculating the comprehensive score of any candidate filling value based on the usage frequency and timeliness weight of any candidate filling value, and selecting the candidate filling value with the highest comprehensive score to fill any missing slot.
5. The method according to claim 1 or 4, characterized in that, After filling the missing slots with default values, the process further includes: verifying the validity of the default values; if the default values are valid, filling them with the default values; if the default values are invalid, querying whether there are alternative values; if there are alternative values, using the alternative values as the new default values and verifying their validity; if there are no alternative values, triggering dynamic corpus follow-up questions on the missing slots.
6. The method according to claim 1, characterized in that, The process of dynamically questioning the missing slots includes: constructing the sentence types and interaction styles of the questioning corpus in layers; dynamically selecting the appropriate sentence type based on the scene context; dynamically selecting the appropriate interaction style based on the number of filled slots; and generating the questioning corpus based on the dynamically selected sentence type and interaction style, or based on the sentence type and interaction style of the target object's historical voice interactions.
7. The method according to claim 1, characterized in that, Also includes: The slot dependency rules are compressed and stored, and a prefix tree index is used. Slots and default values that are used more frequently than a preset frequency in the historical data are cached in memory. The slots and default values used less frequently than the preset frequency in the historical data are written to the local disk and periodically cleared.
8. A semantic slot filling device, characterized in that, The apparatus is configured to implement the method according to any one of claims 1-7, the apparatus comprising: a rule loading module for receiving voice input from a target object and, after recognizing the voice intent, loading corresponding slot dependency rules; a slot inference module for extracting and filling each slot in the voice input using the slot dependency rules, and inferring missing slots; a slot filling module for filling the missing slots with default values by combining the usage frequency and timeliness weight of historical data; and / or, performing dynamic corpus follow-up questions on the missing slots by combining the filled slots and the scene context.
9. An electronic device, characterized in that, The electronic device includes: at least one processor, and a memory communicatively connected to the at least one processor; the memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the steps of the method according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to perform the steps of the method according to any one of claims 1-7.