Speech recognition method, electronic equipment and vehicle

By real-time part-of-speech division and template filling of newly added keywords in user voice, voice commands are generated, the recognition lag problem in traditional dialogue systems in streaming natural semantic understanding is solved, and user experience and interaction efficiency are improved.

CN119763575APending Publication Date: 2025-04-04GREAT WALL MOTOR CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411988257.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

In the prior art, traditional dialogue systems have recognition lag when processing streaming natural semantic understanding, and cannot recognize user's voice commands in real time, affecting user experience.

Method used

Through the speech recognition method, in response to determining that there are new keywords in the speech text obtained through speech recognition, these keywords are divided into part-of-speech, and the pre-constructed templates are filled with these keywords to generate real-time voice commands.

Benefits of technology

This method avoids the omission of keywords, improves the processing efficiency of keywords, reduces the difficulty of generating voice commands, and ensures the timeliness of generating voice commands, and improves the naturalness and efficiency of interaction between users and vehicles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119763575A_ABST
    Figure CN119763575A_ABST
Patent Text Reader

Abstract

The invention provides a voice recognition method, electronic equipment and a vehicle, and is applied to the field of intelligent vehicle control, and the method comprises the steps: carrying out the part-of-speech division of a keyword in response to the determination that a new keyword exists in a voice text obtained through voice recognition, and obtaining a first part-of-speech division result; based on the first part-of-speech division result, filling a preset position in a pre-constructed template by utilizing the keyword; and in response to determining that the target predetermined position in the filled template is not empty, generating a first voice instruction based on the filled template, thereby solving the technical problem of hysteresis of voice instruction recognition in the prior art, and improving the satisfaction degree of interaction between a user and a vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of intelligent vehicle control, and in particular to a speech recognition method, electronic equipment and a vehicle. Background Art

[0002] In the prior art, traditional dialogue systems do not handle streaming natural semantics well, and can only recognize a few commands in a continuous voice stream, while ignoring other commands, which affects the user's satisfaction and efficiency in interacting with the system. In addition, traditional dialogue systems have a significant lag in speech recognition, that is, they require users to express the entire sentence completely before the traditional dialogue system responds, which is particularly inconvenient in fast-paced real-time communication scenarios, resulting in a decline in user experience. Summary of the invention

[0003] In view of this, the purpose of the present application is to propose a speech recognition method, an electronic device and a vehicle to overcome the technical problem of lag in the recognition of voice commands in the prior art.

[0004] Based on the above purpose, the present application provides a speech recognition method, including: in response to determining that there are newly added keywords in the speech text obtained through speech recognition, the keywords are divided into parts of speech to obtain a first part of speech division result. When it is determined that there are newly added keywords, the keywords are divided into parts of speech, which avoids the omission of keywords and improves the processing efficiency of keywords. Based on the first part of speech division result, the keywords are used to fill the predetermined positions in the pre-constructed template, so as to achieve the purpose of real-time processing of keywords and improve the processing efficiency of single keywords. In response to determining that the target predetermined position in the filled template is not empty, a first voice instruction is generated based on the filled template, which reduces the difficulty of generating the first voice instruction and ensures the timeliness of generating the first generated voice instruction.

[0005] Optionally, the method includes: receiving a next keyword adjacent to the keyword, performing part-of-speech classification on the next keyword to obtain a second part-of-speech classification result; in response to determining that the second part-of-speech classification result is a predetermined part-of-speech, re-filling the filled template based on the next keyword; generating a second voice instruction based on the re-filled template, thereby ensuring the integrity of the voice instruction, allowing the instructions issued by the user to be accurately reflected, and providing the user with a smoother and more natural voice interaction experience.

[0006] Optionally, the predetermined part of speech includes a first predetermined part of speech; in response to determining that the second part of speech division result is a predetermined part of speech, re-filling the filled template based on the next keyword includes: in response to determining that the second part of speech division result is the first predetermined part of speech, continuing to receive adjacent keywords adjacent to the next keyword; and re-filling the filled template with the next keyword and the adjacent keywords. Comprehensive consideration is given to various situations when the first voice instruction is an incomplete instruction, and the integrity of the voice instruction is fully and accurately ensured.

[0007] Optionally, the method further includes: in response to determining that a predetermined time has passed and at least one voice instruction is generated within the predetermined time, if at least one of the voice instructions has a voice instruction that conflicts with the first voice instruction, taking the latest generated voice instruction among the voice instructions that conflict with the first voice instruction as the target voice instruction, and sending the target voice instruction; if at least one of the voice instructions does not have a voice instruction that conflicts with the first voice instruction, sending the first voice instruction. Conflict detection is performed on the voice instructions to ensure that the complete voice instruction is issued, thereby ensuring that the instructions issued by the user can be accurately executed.

[0008] Optionally, the determination that there are newly added keywords in the speech text obtained by speech recognition includes: in response to determining that there are newly added keywords in the speech text, performing at least one round of first matching operations in a pre-constructed vehicle domain database according to the newly added keywords, and each round of first matching operations is performed as follows: in response to determining that a vehicle keyword identical to the keyword is not found in the vehicle domain database, receiving a next keyword adjacent to the keyword, using the keyword and the next keyword as a first combination word, and using the first combination word as a keyword in the next round of first matching operations; in response to determining that a vehicle keyword containing the keyword is found in the vehicle domain database, exiting at least one round of first matching operations, and performing at least one round of second matching operations in the vehicle domain database based on the keyword to determine the newly added keywords. By performing at least one round of first matching operations and matching in the vehicle domain database using the newly added keywords, it is ensured that the newly added keywords can accurately express the user's intentions and the accuracy of the newly added keywords is guaranteed.

[0009] Optionally, based on the keyword, at least one round of second matching operation is performed in the vehicle domain database to determine the newly added keyword, including: each round of second matching operation is performed as follows: continue to receive the next keyword adjacent to the keyword, and use the keyword and the next keyword as the second combination word; in response to determining that a vehicle keyword containing the second combination word is found in the vehicle domain database, and the number of words contained in the second combination word is less than the number of words contained in the vehicle keyword, use the second combination word as the keyword in the next round of second matching operation; in response to determining that the vehicle keyword identical to the second combination word is found in the vehicle domain database, exit at least one round of second matching operation, and determine the second combination word as the newly added keyword. By performing at least one round of second matching operation on the keyword, the user's intention is fully expressed, and the purpose of accurately understanding the user's intention is achieved.

[0010] Optionally, the method for constructing the vehicle domain database includes: acquiring vehicle data from multiple data sources, performing word segmentation operations on the vehicle data to obtain multiple vehicle keywords; correcting the multiple vehicle keywords according to a predetermined rule; performing part-of-speech recognition on the corrected vehicle keywords to obtain the part-of-speech corresponding to each vehicle keyword; and associating and storing the vehicle keywords and their corresponding parts of speech to obtain the vehicle domain database. The keywords in the vehicle domain database are stored in detail according to the parts of speech, thereby improving the efficiency of keyword search.

[0011] Optionally, the template construction method includes: constructing an initial template, setting multiple preset positions in the initial template; configuring a corresponding part of speech for each preset position according to a predetermined part of speech order to obtain the template. There are multiple positions in the template, each position corresponds to a part of speech, and the template can process multiple keywords with different parts of speech, and the keywords do not need to wait for each other, so that the template processes the keywords instantly.

[0012] Based on the same inventive concept, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable by the processor, wherein the processor implements the method as described above when executing the computer program.

[0013] Based on the same inventive concept, the present application also provides a vehicle, which includes the electronic device.

[0014] As can be seen from the above, the speech recognition method, electronic device and vehicle provided by the present application include, in response to determining that there are newly added keywords in the speech text obtained by speech recognition, performing part-of-speech classification on the keywords to obtain a first part-of-speech classification result. It is determined that there are newly added keywords in the speech text obtained by speech recognition, and the keywords are processed by part-of-speech classification. In the prior art, a complete sentence output by the user is processed by a model. Since there are relatively more contents in a complete sentence, the model may omit the processing content when processing a complete sentence. In the present application, the speech output by the user is processed while listening, and the newly added speech of the user is converted into the newly added keywords in the speech text through speech recognition. If there are newly added keywords in the speech text, the keywords are processed. Compared with the prior art, on the one hand, the present application processes the keywords while listening, avoids the omission of keywords, and then ensures that the keywords can be processed, which lays the foundation for the accuracy of the subsequently generated voice instructions; on the other hand, the present application does not need to wait for the user to output a complete sentence to process the keywords, which improves the processing efficiency of the keywords and also lays the foundation for the subsequent efficient generation of voice instructions. The present application achieves the purpose of processing while the user is speaking to the vehicle, eliminates processing lags, improves the naturalness and efficiency of the interaction between the user and the vehicle, and enhances the user experience.

[0015] Based on the first part-of-speech classification result, the keywords are used to fill the predetermined positions in the pre-constructed template. After determining the first part-of-speech classification result of the keywords, the keywords are used to fill the predetermined positions of the template, so as to achieve the purpose of real-time processing of the keywords, and the template can process the keywords without waiting for the next keyword, which improves the processing efficiency of the keywords, and then improves the processing efficiency of all keywords. In response to determining that the target predetermined position in the filled template is not empty, a first voice instruction is generated based on the filled template. Compared with the model, the template in the present application can fill the keywords through simple matching, and the first voice instruction is generated by using the template after the keywords are filled, which reduces the difficulty of generating the first voice instruction; because the target predetermined position in the filled template is not empty, the basic conditions for generating the first voice instruction are met. At this time, the first voice instruction is generated, ensuring the timeliness of generating the first voice instruction. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the technical solutions in the present application or related technologies, the drawings required for use in the embodiments or related technical descriptions are briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0017] Figure 1 A flowchart of a speech recognition method according to an embodiment of the present application;

[0018] Figure 2 A flowchart of a speech recognition method according to another embodiment of the present application;

[0019] Figure 3 A schematic diagram of the structure of a speech recognition device according to an embodiment of the present application;

[0020] Figure 4 This is a schematic diagram of the hardware structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0021] In order to make the objectives, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.

[0022] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present application should be the usual meanings understood by people with ordinary skills in the field to which the present application belongs. The "first", "second" and similar words used in the embodiments of the present application do not represent any order, quantity or importance, but are only used to distinguish different components. "Including" or "comprising" and similar words mean that the elements or objects appearing in front of the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0023] As mentioned in the background technology section, traditional dialogue systems currently do not handle streaming natural semantics well. If a user issues multiple (for example, 10) commands in succession with short intervals between them, the traditional dialogue system will have two processing results:

[0024] First, the system can only execute certain instructions and ignore other instructions that are not recognized successfully, which will lead to a poor user experience. Users may feel confused and frustrated because they cannot be sure which instructions are processed correctly by the system.

[0025] Second, the system can only recognize after the user has finished speaking the entire speech, and cannot recognize while speaking. First, the accuracy of the recognition results may be reduced because the system cannot extract key information from the user input in real time; second, this non-streaming processing method significantly affects the user experience, especially in scenarios that require instant response or continuous instructions.

[0026] From a technical perspective, the reason for the second situation mentioned above is that the Automatic Speech Recognition (ASR) system has the ability to implement streaming recognition, that is, it can perform real-time recognition while receiving voice input, without waiting for the entire voice command to be fully input before starting processing. However, in the Natural Language Understanding (NLU) link, in order to ensure recognition accuracy and reduce false alarm rates, voice activity detection (VAD) and other technical means are usually used to cut the continuous audio stream into independent frames or segments for processing at certain time intervals. Although this processing method helps to improve recognition accuracy, it also causes the continuity of ASR streaming processing to be interrupted in the NLU link, affecting the smoothness of the recognition process.

[0027] In addition, although leaving the entire speech recognition process to an end-to-end model has its theoretical advantages, such as simplifying the model architecture and improving the efficiency of training and reasoning, this approach faces two major challenges in practical applications. First, the complexity of the end-to-end model increases, which not only includes the complexity of the model itself, but also involves the complexity of data processing and optimization, making the development and maintenance of the model more arduous. Second, the acquisition and annotation of real-world speech data is a huge and costly task, making it difficult to obtain sufficient real samples for training. The lack of real samples further exacerbates the difficulty of model training, making it difficult for the model to learn sufficiently generalized features, thus affecting the accuracy and robustness of recognition.

[0028] In view of this, the present application embodiment proposes a speech recognition method, referring to Figure 1 , including the following steps:

[0029] Step 101, in response to determining that there are newly added keywords in the speech text obtained through speech recognition, the keywords are divided into parts of speech to obtain a first part of speech division result.

[0030] In this step, the user may issue multiple consecutive instructions to the vehicle. In response to determining that the time interval between each adjacent word in the multiple instructions is less than the predetermined time interval, the multiple instructions are determined to be streaming voice instructions; in response to determining that the time interval between adjacent words in the multiple instructions is greater than or equal to the predetermined time interval, an end identifier is set between the above adjacent words, wherein the end identifier indicates that the segment of streaming voice instructions ends, and the multiple instructions are divided into at least two segments of streaming voice instructions. The above end identifier can be set by VAD technology. The predetermined time interval is relatively short, for example 1 second. The speech recognition performs listening and changing recognition on the instructions issued by the user, and uses the recognized words as new keywords in the voice text. Before the user stops issuing instructions, the new keywords will continue to be generated. It should be noted that the above-mentioned continuously generated keywords need to be processed for natural language understanding without modification until the end identifier is detected and the streaming natural speech understanding processing is stopped. The present application realizes listening, recognizing and processing.

[0031] In the prior art, when the time interval between each adjacent word in multiple instructions issued by the user is relatively small, the instructions issued by the user are usually processed after waiting for a certain period of time. In this case, the interaction efficiency between the user and the vehicle will be low. In order to solve the above problems, the present application abandons the use of the traditional sentence segmentation module. When it is determined that there are newly added keywords in the speech text obtained by speech recognition, the newly added keywords are immediately divided into parts of speech to obtain the first part of speech division result, without waiting for a predetermined time before processing the keywords. Exemplarily, when the newly added keyword in the speech text is "open", the first part of speech division result is "verb"; when the newly added keyword in the speech text is "sound", the first part of speech division result is "noun". In order to realize the above technology, speech recognition needs to be recognized while listening. Therefore, the speech recognition in the present application can adopt streaming speech recognition technology, and the newly added keywords can be processed by streaming natural semantic understanding technology. The streaming speech recognition technology can accurately understand the instructions issued by the user, wherein the streaming speech recognition technology refers to the technology that can return the recognition result in real time during the processing of the audio stream.

[0032] It should be emphasized that streaming speech recognition technology is different from multi-intention recognition technology. Multi-intention recognition technology recognizes a long string of voices with many instructions after they are spoken, while streaming speech recognition technology recognizes while speaking. Streaming natural speech understanding technology means that the audio stream can be processed as soon as it appears, and the results of streaming speech recognition are semantically analyzed and output without waiting for the entire voice signal input to be completed before processing. It should be noted that the set of instructions that can be processed by the streaming natural speech understanding technology in this application only includes limited, semantically clear, and device control-related instructions. Specifically, the instructions must have clear verbs (such as open, close, play, tune to) and nouns (air conditioning, Bluetooth, a certain movie / music, a certain driving mode), and may include some degree words (such as air conditioning gear, volume gear, and a certain color of the light). It does not include small talk ("What to eat tonight"), question-and-answer instructions ("Introduce Musk"), or semantic ambiguity ("It's too hot"), and does not have the above verb-noun-degree word clearly defined instruction words ("Open it for me").

[0033] The instructions issued by the user are usually composed of multiple keywords with different parts of speech. In order to accurately understand the instructions issued by the user, the newly added keywords are divided into parts of speech. Since the vehicle field database pre-constructed in this application stores the parts of speech of vehicle keywords, when the keywords are divided into parts of speech, in response to determining that the vehicle keyword identical to the keyword is found in the vehicle database, the part of speech corresponding to the vehicle keyword is used as the first part of speech division result. When it is determined that there are newly added keywords in the speech text obtained by speech recognition, the keywords are divided into parts of speech. In the prior art, a complete sentence output by the user is processed by a model. Since a complete sentence contains relatively more content, the model may miss some processing content when processing a complete sentence. However, the present application processes the speech output by the user while listening, and converts the newly added speech by the user into newly added keywords in the speech text through voice recognition. If there are newly added keywords in the speech text, the keywords are processed. Compared with the prior art, on the one hand, the present application processes the keywords while listening, avoiding the omission of keywords, thereby ensuring that all keywords can be processed, laying the foundation for the accuracy of the subsequently generated voice commands; on the other hand, the present application processes the keywords without waiting for the user to output a complete sentence, which improves the processing efficiency of the keywords and also lays the foundation for the subsequent efficient generation of voice commands. The present application achieves the purpose of processing while the user speaks, eliminates the lag of processing, improves the naturalness and efficiency of the interaction between the user and the vehicle, and improves the user experience.

[0034] Step 102: Based on the first part-of-speech classification result, the keywords are used to fill in predetermined positions in the pre-constructed template.

[0035] In this step, after obtaining the first part-of-speech division result of the keyword, the first part-of-speech division result needs to be utilized. Based on the first part-of-speech division result, the pre-constructed template is filled with keywords. The specific filling process is as follows: based on the first part-of-speech division result, the predetermined position corresponding to the first part-of-speech division result is searched in the template, and in response to determining that the first part-of-speech division result is the same as the part-of-speech corresponding to the predetermined position, the keyword corresponding to the first part-of-speech division result is filled into the predetermined position. Since multiple keywords are required to generate voice instructions, the template can process multiple keywords in sequence, so the pre-constructed template is filled with keywords. The template includes multiple predetermined positions, and there are positions in the multiple predetermined positions where there is a corresponding relationship between the newly added keywords. After determining the first part-of-speech division result of the keyword, the predetermined position of the template is filled with keywords, so as to achieve the purpose of real-time processing of the keyword, and the template can process the keyword without waiting for the next keyword, which improves the processing efficiency of the keyword, and then improves the processing efficiency of all keywords.

[0036] Step 103 , in response to determining that the target predetermined position in the filled template is not empty, generating a first voice instruction based on the filled template.

[0037] In this step, when multiple target predetermined positions in the template are not empty, it means that the keywords filled in the target predetermined positions can form basic instructions. At this time, based on the filled template, a first voice instruction is generated. It should be noted that the output voice instruction is consistent with the voice instruction format output by the conventional recognition method, which ensures the seamless connection of developers when integrating new modules or optimizing existing processes, and reduces development time. Multiple target predetermined positions are determined based on historical experience. For example, the basic instructions are composed of verbs and nouns. Therefore, multiple target predetermined positions are predetermined positions corresponding to verbs and nouns. Exemplarily, when the keywords corresponding to multiple target predetermined positions are "open" and "window", the first voice instruction generated is "open window". The keywords output by the user at different times are processed, and the first voice instruction is generated within the time that the user is not aware of (generally tens of milliseconds). Exemplarily, when processing more than a dozen keywords, the present application achieves a response time of 10 milliseconds, which improves the fluency of the overall interaction between the user and the vehicle.

[0038] In the prior art, the entire process of speech recognition is completed through a model. However, on the one hand, the model training is complex, and on the other hand, the samples involved in the model training are difficult to obtain, which affects the accuracy of the model output. In the present application, there is no need to use a model. It is only necessary to fill the newly added keywords obtained by speech recognition into the template in sequence, and the filled template generates a voice instruction. Compared with the model, the template in the present application can be filled with keywords through simple matching, and the first voice instruction is generated using the filled template, which reduces the difficulty of generating the first voice instruction; because the target predetermined position in the filled template is not empty, the basic conditions for generating the first voice instruction are met. At this time, the first voice instruction is generated, ensuring the timeliness of generating the first voice instruction.

[0039] In another embodiment provided by the present application, in response to determining that the first voice command is an ambiguous command, the user's historical vehicle use behavior is obtained, and the first voice command is corrected based on the historical vehicle use behavior, wherein the ambiguous command is a command containing multiple meanings. Exemplarily, when the first voice command is "open window", the user does not specify which window in the vehicle to open. At this time, it is necessary to read the user's historical vehicle use behavior, which reflects the user's vehicle use big data when issuing instructions to the vehicle. If the user's historical vehicle use behavior is mostly to open the main driver's window, the first voice command can be corrected to "open the main driver's window". When the first voice command is "turn on seat massage", the user does not specify which seat in the vehicle to turn on the massage function. At this time, it is necessary to read the user's historical vehicle use behavior. If the user's historical vehicle use behavior is mostly to turn on the seat massage function with passengers, the first voice command can be corrected to "turn on the seat massage with passengers". By correcting the ambiguous first voice command, it is ensured that the first voice command can be accurately executed by the vehicle.

[0040] In another embodiment provided by the present application, in response to receiving feedback information that all voice commands have been executed, a voice broadcast is performed. And / or, in response to receiving feedback information that all voice commands have been executed, the execution result of each voice command is displayed on the vehicle display screen. In order to remind the user that all voice commands have been successfully executed, a voice broadcast is performed when all voice commands have been executed to prompt the user. Exemplarily, the execution results can be uniformly broadcasted using tts (Text To Speech, from text to speech) as "all operations have been done for you", rather than broadcasting the results one by one, saving the user's time. The execution result of each voice command can also be displayed on the vehicle display screen, so that the user can check the execution status of the voice command. In response to determining that there is a voice command that has failed to execute, a prompt message is issued to the user, wherein the prompt message can be a voice prompt and / or a screen prompt, so that the user knows which commands have not been executed to avoid confusion.

[0041] Through the above scheme, in response to determining that there are newly added keywords in the speech text obtained by speech recognition, the keywords are divided into parts of speech to obtain a first part-of-speech division result. When it is determined that there are newly added keywords, the keywords are divided into parts of speech, which avoids the omission of keywords and improves the processing efficiency of keywords. Based on the first part-of-speech division result, the keywords are used to fill the predetermined positions in the pre-constructed template, so as to achieve the purpose of real-time processing of keywords and improve the processing efficiency of single keywords. In response to determining that the target predetermined position in the filled template is not empty, a first voice instruction is generated based on the filled template, which reduces the difficulty of generating the first voice instruction and ensures the timeliness of generating the first voice instruction.

[0042] Since the present application processes newly added keywords in real time, after the first voice instruction is generated, the newly added keywords may still be supplementary content to the first voice instruction. In this case, a second voice instruction needs to be generated. At this time, the first voice instruction is an incomplete instruction, while the second voice instruction is relatively complete. In view of the above situation, the method of generating a second voice instruction after generating a first voice instruction is explained in detail through the following embodiment.

[0043] In some embodiments, the method includes: receiving a next keyword adjacent to the keyword, performing part-of-speech classification on the next keyword to obtain a second part-of-speech classification result; in response to determining that the second part-of-speech classification result is a predetermined part-of-speech, re-filling the filled template based on the next keyword; and generating a second voice instruction based on the re-filled template.

[0044] In this embodiment, since the user continuously outputs speech, other voice instructions may continue to be generated after the first voice instruction is generated. In order to verify the integrity of the first voice instruction, it is necessary to determine whether the voice instruction generated after the first voice instruction conflicts with the first voice instruction. In response to determining that the new voice instruction generated after the voice instruction includes the above voice instruction, it is determined that the above voice instruction conflicts with the above new voice instruction. First, the next keyword adjacent to the keyword is received, and the next keyword is divided into parts of speech to obtain a second part of speech division result. If the second part of speech division result is a predetermined part of speech, it means that the first voice instruction conflicts with the adjacent voice instruction; if the second part of speech division result is not a predetermined part of speech, it means that the first voice instruction does not conflict with other voice instructions. Therefore, when it is determined that the second part of speech division result is a predetermined part of speech, it means that the first voice instruction is not a complete instruction, and the first voice instruction also includes other keywords. Based on the next keyword, the filled template is refilled. Exemplarily, when the predetermined part of speech includes the second predetermined part of speech, the filled template is directly filled with keywords, wherein the second predetermined part of speech is a degree word. For example, the content of the filled template is "turn on" "taillight", and the degree word is "brighter", and the degree word "brighter" is filled into the filled template again. Based on the refilled template, a second voice command is generated, and illustratively, the second voice command is "turn on the taillight and brighter".

[0045] In another embodiment provided in the present application, in response to determining that the second part-of-speech division result is not a predetermined part-of-speech, the keywords in the filled template are cleared, and based on the second part-of-speech division result, the predetermined positions in the cleared template are filled with keywords. In the case where the second part-of-speech division result is not the predetermined part-of-speech, it means that the first voice instruction is a complete voice instruction. At this time, when the newly added keywords are received, it can be determined that the newly added keywords belong to the content of the next complete voice instruction. Therefore, in the case where it is determined that the second part-of-speech division result is not the predetermined part-of-speech, the keywords in the filled template are cleared, and based on the second part-of-speech division result, the predetermined positions in the cleared template are filled with keywords to obtain the next complete voice instruction, thereby ensuring the continuity of generating complete voice instructions.

[0046] After generating the first voice command, continue to receive the next keyword adjacent to the keyword to judge the completeness of the first voice command. If the first voice command is not a complete voice command, generate a second voice command based on the next keyword, thereby ensuring the integrity of the voice command, allowing the user's instructions to be accurately reflected, and providing the user with a smoother and more natural voice interaction experience.

[0047] Exemplarily, the specific process of filling the template with keywords and then generating voice commands is as follows:

[0048] Assume that the continuous utterances that the user wants to output are "increase the air volume of the air conditioner", "adjust the driving mode to the standard mode", and "adjust the air conditioner temperature to 25 degrees":

[0049] Example 1:

[0050] When there is a newly added keyword "air conditioning volume" in the voice text obtained through voice recognition, the vehicle domain database is used to divide the part of speech of "air conditioning volume", and the result of the part of speech division is a noun, and "air conditioning volume" is filled in the predetermined position corresponding to the noun in the template. When there is the next keyword "adjust high" adjacent to "air conditioning volume" in the voice text, the part of speech of "adjust high" is divided, and the result of the part of speech division is a verb, and "adjust high" is filled in the predetermined position corresponding to the verb in the filled template. At this time, the target predetermined position in the filled template is not empty, that is, the predetermined positions corresponding to the verb and the noun are not empty, and the first voice instruction "adjust air conditioning volume" is generated based on the filled template.

[0051] When there is the next keyword "driving mode" adjacent to "adjust height" in the voice text, the part-of-speech classification is performed on "driving mode", and the result of the part-of-speech classification is a noun. The noun does not belong to the predetermined part-of-speech, and the filled template is cleared.

[0052] Example 2:

[0053] Fill "driving mode" into the predetermined position corresponding to the noun in the template. When there is the next keyword "adjust to" adjacent to "air conditioning volume" in the voice text, perform part-of-speech division on "adjust to", obtain the result of the part-of-speech division as a verb, and fill "adjust to" into the predetermined position corresponding to the verb in the filled template. At this time, the target predetermined position in the filled template is not empty, that is, the predetermined positions corresponding to the verb and the noun are not empty. Based on the filled template, the first voice instruction "driving mode adjusted to" is generated. Continue to receive the next keyword "standard mode" adjacent to "adjust to". Perform part-of-speech division on "standard mode", obtain the result of the part-of-speech division as a degree word. When it is determined that the degree word is the predetermined part of speech, use "standard mode" to continue to fill the template filled with "driving mode" and "adjust to" again. Based on the template that has been filled again, generate the second voice instruction "driving mode adjusted to standard mode".

[0054] When there is the next keyword "air conditioning temperature" adjacent to "standard mode" in the voice text, the part-of-speech classification is performed on "air conditioning temperature", and the result of the part-of-speech classification is a noun. The noun does not belong to the predetermined part of speech, and the filled template is cleared.

[0055] Example 3:

[0056] Fill "air conditioning temperature" into the predetermined position corresponding to the noun in the template. When there is the next keyword "adjust to" adjacent to "air conditioning temperature" in the voice text, perform part-of-speech division on "adjust to", obtain the result of the part-of-speech division as a verb, and fill "adjust to" into the predetermined position corresponding to the verb in the filled template. At this time, the target predetermined position in the filled template is not empty, that is, the predetermined positions corresponding to the verb and the noun are not empty. Based on the filled template, the first voice instruction "air conditioning temperature is adjusted to" is generated. Continue to receive the next keyword "25 degrees" adjacent to "adjust to". Perform part-of-speech division on "25 degrees", and obtain the result of the part-of-speech division as a degree word. When it is determined that the degree word is the predetermined part of speech, use "25 degrees" to continue to fill the template after filling "air conditioning temperature" and "adjust to" again. Based on the template after filling again, generate the second voice instruction "air conditioning temperature is adjusted to 25 degrees".

[0057] It should be noted that the words in the user instruction only need to match the elements of the template, and do not have to follow the order of the template. For example, the instructions covered in Example 3 may also include "adjust the air conditioner temperature to 25 degrees".

[0058] When it is determined that the second part-of-speech classification result is the predetermined part-of-speech, the template is refilled based on the received next keyword adjacent to the keyword. The following embodiment specifically describes how to refill the template based on the next keyword.

[0059] In some embodiments, the predetermined part of speech includes a first predetermined part of speech; in response to determining that the second part of speech division result is the predetermined part of speech, re-filling the filled template based on the next keyword, including: in response to determining that the second part of speech division result is the first predetermined part of speech, continuing to receive adjacent keywords adjacent to the next keyword; and re-filling the filled template with the next keyword and the adjacent keywords.

[0060] In this embodiment, when the result of the second part-of-speech division is the first predetermined part-of-speech, it means that the first voice instruction is not a complete instruction, wherein the first predetermined part-of-speech may be a "conjunction", for example, the conjunction may be "and" or "and". When the first predetermined part-of-speech is a conjunction, it means that there are keywords that are associated with the next keyword, and therefore, it is necessary to receive adjacent keywords adjacent to the next keyword, and use the next keyword and the adjacent keywords to re-fill the filled template. Exemplarily, the content in the filled template is "turn on" and "taillights", the next keyword is "and", and the adjacent keyword is "air conditioning", and the already filled template is re-filled with "and" and "air conditioning". Comprehensive consideration is given to various situations when the first voice instruction is an incomplete instruction, and the integrity of the voice instruction is comprehensively and accurately ensured.

[0061] After the voice command is generated, the voice command needs to be sent to the corresponding execution module in the vehicle. The following embodiments specifically describe the conditions for sending the voice command.

[0062] In some embodiments, the method further includes: in response to determining that a predetermined time has passed and at least one voice instruction is generated within the predetermined time, if there is a voice instruction in conflict with the first voice instruction in at least one of the voice instructions, taking the latest generated voice instruction among the voice instructions that conflict with the first voice instruction as the target voice instruction, and sending the target voice instruction; if there is no voice instruction in conflict with the first voice instruction in at least one of the voice instructions, sending the first voice instruction.

[0063] In this embodiment, in order to ensure the integrity of the voice command, it is necessary to set the voice command to be sent to the corresponding execution module after a predetermined time. The setting of the predetermined time needs to take into account the generation time of the voice command adjacent to the first voice command to detect the integrity of the first voice command. This is because, when the first voice command is an incomplete voice command, a second voice command will also be generated, and the first voice command and the second voice command conflict. Therefore, it is necessary to perform conflict detection on the first voice command and its adjacent voice command. In the case where it is determined that a predetermined time has passed and at least one voice is generated within the predetermined time, if there is a voice command that conflicts with the first voice command in at least one voice command, for example, in the case where the first voice command is "turn on the taillights", the above voice command can be "turn on the taillights a little brighter" and "turn on the taillights a little longer", then the above voice command conflicts with the first voice command, and the latest generated voice command among the voice commands that conflict with the first voice command is used as the target voice command. This is because, among multiple voice commands that conflict with the first voice command, the latest generated voice command contains the most comprehensive commands. Since the predetermined time has passed, the target voice instruction has relatively completely included the instruction issued by the user. In order to ensure that the instruction issued by the user can be executed, the target voice instruction is sent.

[0064] If there is no voice instruction that conflicts with the first voice instruction in at least one voice instruction, it means that the first voice instruction is a complete instruction, and the first voice instruction is issued. In addition, in response to determining that a predetermined time has passed and no voice instruction has been generated within the predetermined time, the first voice instruction is sent. It should be noted that for each generated voice instruction, in response to determining that the above voice instruction does not conflict with the voice instruction generated before it, it means that the above voice instruction is a new voice instruction. In order to ensure that the above voice instruction does not conflict with the voice instruction generated thereafter, it is also necessary to perform conflict detection on the above voice instruction according to the method of this embodiment. Conflict detection is performed on the voice instructions to ensure that the complete voice instruction is issued, thereby ensuring that the instructions issued by the user can be accurately executed.

[0065] Keywords in the speech text can be obtained through speech recognition. The following embodiments specifically illustrate how to operate when determining whether there are keywords in the speech text.

[0066] In some embodiments, the determining that there are newly added keywords in the speech text obtained by speech recognition includes: in response to determining that there are newly added keywords in the speech text, performing at least one round of first matching operations in a pre-constructed vehicle domain database based on the newly added keywords, and each round of first matching operations is performed as follows: in response to determining that a vehicle keyword identical to the keyword is not found in the vehicle domain database, receiving a next keyword adjacent to the keyword, using the keyword and the next keyword as a first combination word, and using the first combination word as the keyword in the next round of first matching operations; in response to determining that a vehicle keyword containing the keyword is found in the vehicle domain database, exiting at least one round of first matching operations, and performing at least one round of second matching operations in the vehicle domain database based on the keyword to determine the newly added keyword.

[0067] In this embodiment, speech recognition can immediately recognize a single word spoken by the user, and store the recognized keywords in the speech text. In the case of a newly added keyword in the speech text, at least one round of matching operation is performed in the pre-built vehicle domain database according to the newly added keyword to determine whether the vehicle domain database includes the newly added keyword. Each round of matching operation is as follows: In the case where a vehicle keyword that is exactly the same as the keyword is not found in the vehicle domain database, it means that the single word spoken by the user is not a vehicle keyword. For example, the keyword is "seat". At this time, the user may also have other words. Therefore, the next keyword adjacent to the keyword is received, and the keyword and the next keyword are used as the first combination word. For example, the next keyword is "chair", and the first combination word is "seat". The first combination word is used as the keyword in the next round of the first matching operation. The vehicle keyword containing the keyword is found in the vehicle domain database, but there is also a situation where the above keyword is not the complete keyword that the user wants to express. For example, there are "seat" and "seat massage" in the vehicle domain database. Therefore, it is necessary to exit at least one round of the first matching operation, and based on the keyword, at least one round of the second matching operation is performed in the vehicle domain database to determine the newly added keyword. By performing at least one round of first matching operation and at least one round of second matching operation, the newly added keywords are matched in the vehicle field database, thereby ensuring that the newly added keywords can accurately express the user's intention and ensuring the accuracy of the newly added keywords.

[0068] It should be noted that in response to determining that the keyword is not found in the vehicle domain database, the keyword is ignored. If the words that the user wants to express contain words that do not exist in the vehicle domain database, the keyword is ignored. For example, there is no "that", "that", "what" or "what" in the vehicle domain database. If the user wants to express "open the sunroof and turn up the air conditioner for me", "that what" will be ignored, ensuring that the keyword can be accurately determined.

[0069] In order to determine the newly added keywords, it is necessary to perform at least one round of first matching operations in the vehicle field database based on the newly added keywords. The first matching operation also includes performing at least one round of second matching operations in the vehicle field database based on the keywords. The following embodiments specifically describe how to perform at least one round of second matching operations.

[0070] In some embodiments, based on the keyword, at least one round of second matching operation is performed in the vehicle field database to determine the newly added keyword, including: each round of second matching operation is performed as follows: continue to receive the next keyword adjacent to the keyword, and use the keyword and the next keyword as a second combination word; in response to determining that a vehicle keyword containing the second combination word is found in the vehicle field database, and the number of words contained in the second combination word is less than the number of words contained in the vehicle keyword, use the second combination word as the keyword in the next round of second matching operation; in response to determining that a vehicle keyword identical to the second combination word is found in the vehicle field database, exit at least one round of second matching operation, and determine the second combination word as the newly added keyword.

[0071] In this embodiment, in order to accurately understand the user's intention, it is necessary to continue to receive the next keyword adjacent to the keyword, and use the keyword and the next keyword as the second combination word. For example, when the keyword is "seat" and the next keyword is "press", the second combination word is "seat press". When a keyword containing the second combination word is found in the vehicle field database, and the number of words contained in the second combination word is less than the number of words contained in the vehicle keyword, the second combination word is used as the keyword in the next round of second matching operation. For example, when the second combination word is "seat press", there is "seat massage" in the vehicle field database that contains "seat press", and "seat press" is used as the keyword in the next round of second matching operation. When the vehicle keyword identical to the second combination word is found in the vehicle field database, at least one round of matching operation is exited, and the second combination word is determined as a newly added keyword. For example, when the second combination word is "seat massage", there is "seat massage" in the vehicle field database, and "seat massage" is determined as a newly added keyword. By performing at least one round of second matching operation on the keyword, the user's intention is fully expressed, and the purpose of accurately understanding the user's intention is achieved.

[0072] The matching operation is performed in a pre-constructed vehicle domain database using keywords. The following embodiment specifically describes how to construct the vehicle domain database.

[0073] In some embodiments, the method for constructing the vehicle domain database includes: acquiring vehicle data from multiple data sources, performing word segmentation operations on the vehicle data to obtain multiple vehicle keywords; correcting the multiple vehicle keywords according to predetermined rules; performing part-of-speech recognition on the corrected vehicle keywords to obtain the part-of-speech corresponding to each vehicle keyword; and associating and storing the vehicle keywords and their corresponding parts of speech to obtain the vehicle domain database.

[0074] In this embodiment, when processing the instructions issued by the user in the vehicle, if a known database is used for matching, there may be matching errors. For example, vehicle-specific words such as "seat massage" and "back door" may be recognized as two words. Therefore, it is necessary to build a vehicle-specific database. First, vehicle data is obtained from multiple data sources to ensure the comprehensiveness of vehicle data. The vehicle data is segmented to obtain multiple vehicle keywords. For example, the vehicle data is segmented using a Chinese word segmentation system to ensure the accuracy of the word segmentation operation. According to predetermined rules, multiple vehicle keywords are corrected. Since there are specific words in the vehicle field, the word segmentation operation may split or merge the specific words. For example, "seat massage" is split into "seat" and "massage", "seat heating" is split into "seat" and "heating", and "back door" is split into "back" and "door". Therefore, it is necessary to merge or split the vehicle keywords according to the predetermined rules. When the vehicle-specific vocabulary is separated, the separated vocabulary needs to be merged. When the vehicle-specific vocabulary is merged, the merged vocabulary needs to be split. The vehicle keywords and their corresponding parts of speech are associated and stored to obtain a vehicle domain database, wherein the parts of speech include verbs, nouns, conjunctions or degree words, etc. The construction process of the above vehicle domain database is realized by an automated tool.

[0075] As shown in Table 1, vehicle keywords with the same part of speech and a predetermined association relationship can also be associated and stored. All vehicle keywords are classified according to part of speech, and for each keyword, the semantic similarity between the above keyword and the keyword with the same part of speech is calculated; in response to determining that the semantic similarity is greater than the predetermined similarity, it is determined that the above keyword and the keyword with the same part of speech have a predetermined association relationship; in response to determining that there are vehicle keywords with the same part of speech and a predetermined association relationship among multiple vehicle keywords, the vehicle keywords with the same part of speech and the predetermined association relationship are associated and stored, wherein the predetermined association relationship refers to the semantic similarity between the two vehicle keywords being greater than the predetermined similarity. In the case where the vehicle keywords belong to the same part of speech, there may be synonyms between the vehicle keywords, and the synonyms are reflected through the predetermined association relationship. The keywords in the vehicle field database are stored in a refined manner according to the part of speech, which improves the efficiency of keyword search.

[0076] Table 1 Some vehicle keywords in the vehicle domain database

[0077]

[0078]

[0079] Based on the first part-of-speech classification result, the predetermined positions in the pre-constructed template are filled with keywords. The following embodiment specifically describes how to construct the template.

[0080] In some embodiments, the template construction method includes: constructing an initial template, setting a plurality of preset positions in the initial template; configuring a corresponding part of speech for each preset position according to a predetermined part of speech order, to obtain the template.

[0081] In this embodiment, an initial template is constructed, and the construction of the initial template is determined according to the actual needs of the user. For example, the initial template can be a word document or an excel table. Multiple preset positions are set in the initial template, wherein the preset position has the function of storing keywords. In order to speed up the processing efficiency of the template, the corresponding part of speech can be configured for each preset position according to the predetermined part of speech order. In this way, when the template is subsequently processed, the part of speech reading order of the keywords is always ensured to be the same, which saves the time for sorting the keywords in the predetermined position in order, and also ensures that the subsequent voice instructions generated by the template are in a format that can be received by the downstream execution module. Exemplarily, the predetermined part of speech order can be noun, verb, degree word or conjunction, noun or verb. It should be noted that custom parts of speech can be added to the vehicle field database and template, avoiding the complex process of machine learning and enhancing the flexibility and practicality of the system. There are multiple positions in the template, each position corresponds to a part of speech, and the template can process multiple keywords with different parts of speech. There is no need for the keywords to wait for each other, so that the template processes the keywords immediately.

[0082] In another embodiment provided by the present application, the processing process of streaming natural language understanding in the speech recognition method of the present application is as follows:

[0083] Step 0. Initialization, read the vehicle domain database and template content, so as to call the vehicle domain database and template later;

[0084] Step 1. Initialization, define the template for storing intermediate results and the intermediate template for storing output results, so that the intermediate template can be used to store the results later;

[0085] Step 2. Receive new keywords obtained by voice recognition;

[0086] Step 3. Use a known word segmentation system to identify the part of speech of the newly added keywords;

[0087] Step 4. Use the vehicle domain database to perform part-of-speech recognition correction on the newly added keywords that have undergone part-of-speech recognition;

[0088] Step 5. Based on the corrected part of speech of the newly added keywords, fill the newly added keywords into the template to obtain an intermediate template that stores the intermediate results. For example, the part of speech corresponding to each position in the template can be in the order of "verb-noun-degree word-conjunction-noun". It should be noted that in the process of this embodiment, the "verb" class is identified as a method for determining the boundaries of two instructions, so the instruction boundary is determined when the "verb" class is identified and the intermediate template is not empty. Other methods can also be used to determine the instruction boundary;

[0089] Step 6. Determine whether the intermediate template meets the target predetermined position in the template and whether it is not empty. Execute step 7 or step 8;

[0090] Step 7. When the target predetermined position in the intermediate template is empty, continue to fill the intermediate template with the adjacent keywords of the newly added keywords. Execute step 6;

[0091] Step 8. If the target predetermined position in the intermediate template is not empty, generate a voice command based on the intermediate template. Execute step 9 or step 10;

[0092] Step 9. In response to determining that a predetermined time has passed and at least one voice instruction is generated within the predetermined time, if there is a voice instruction in the at least one voice instruction that conflicts with the voice instruction generated in step 8, the voice instruction generated last among the voice instructions that conflict with the voice instruction generated in step 8 is used as the target voice instruction, and the target voice instruction is sent. Execute step 11;

[0093] Step 10. In response to determining that a predetermined time has passed and at least one voice instruction is generated within the predetermined time, if there is no voice instruction in the at least one voice instruction that conflicts with the voice instruction generated in step 8, send the voice instruction generated in step 8. Execute step 11;

[0094] Step 11. Depending on whether the end identifier is received <eos>Decide whether to end keyword processing. If the end identifier is received, it means that there are no more keywords to be processed, the intermediate template is cleared, and the processing process is completed; if the current content to be processed does not have <eos>, indicating that the voice signal stream has not ended, and new content to be processed may be introduced later. At this time, the instruction recognized by the streaming natural language understanding algorithm is not the last instruction, so continue to step 2.

[0095] It should be noted that natural language understanding is a branch of the field of artificial intelligence, which studies how computers process and understand natural languages ​​used by humans. The goal of natural language understanding is to enable computers to understand the meaning in text or speech, so as to perform various language-related tasks. For example, in a vehicle equipment control scenario, a user can say: "Turn on the air conditioner", "Adjust the temperature to 22 degrees" or "Turn off the lights". The vehicle's natural language understanding system will receive these commands and break them down into executable actions, such as activating the air conditioner, adjusting the temperature settings or turning off the lights. This allows drivers and passengers to interact with the vehicle through natural language without using traditional control buttons or touch screens, thereby improving driving convenience and safety. Compared with natural language understanding, the streaming natural language understanding in this embodiment has the purpose of processing newly added keywords in real time.

[0096] In another embodiment provided in the present application, Figure 2 As shown, Figure 2 This is a flow chart of a speech recognition method according to another embodiment of the present application. If the user wants to say "Close the windows, turn up the air conditioning volume, and adjust the driving mode to standard", the streaming ASR technology and streaming NLU technology of the present application are used to process the newly added words in the user's speech in turn, wherein the speech recognition is stopped when the end identifier EOS is detected. When it is determined that the word "off" exists in the speech text obtained by speech recognition, the present embodiment needs to process "off" according to the method described in the present application. Similarly, when it is determined that the word "closed" exists in the speech text obtained by speech recognition, the present embodiment needs to process "closed" according to the method described in the present application until all the newly added words in the user's speech are processed according to the method described in the present application. When the feedback information indicating that all the voice commands have been executed is received, the execution results are broadcasted in turn, for example, "it has been closed for you", "OK, turn it up", and "the driving mode has been adjusted to standard mode". It should be noted that by Figure 2 It can be seen that in this embodiment, there is only one end identifier, which indicates that the speech output by the user is a streaming speech, that is, the time interval between adjacent words in the speech output by the user is less than the predetermined time interval. Figure 2 There are also moments t1-t3 in the text, which indicate the order in which the user's speech is added, but the time interval between moments t1-t3 is relatively small. This embodiment processes the newly added speech output by the user in real time, so that the vehicle can process the speech while the user is speaking, improves the overall interaction fluency, and provides the user with a smoother and more natural voice interaction experience.

[0097] It should be noted that the method of the embodiment of the present application can be performed by a single device, such as a computer or server. The method of this embodiment can also be applied to a distributed scenario and completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only perform one or more steps in the method of the embodiment of the present application, and the multiple devices will interact with each other to complete the described method.

[0098] It should be noted that the above describes some embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0099] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a speech recognition device.

[0100] refer to Figure 3 , the speech recognition device comprises:

[0101] The division module 10 is configured to, in response to determining that there are newly added keywords in the speech text obtained through speech recognition, perform part-of-speech division on the keywords to obtain a first part-of-speech division result.

[0102] The filling module 20 is configured to fill predetermined positions in the pre-constructed template with the keywords based on the first part-of-speech classification result.

[0103] The first generating module 30 is configured to generate a first voice instruction based on the filled template in response to determining that the target predetermined position in the filled template is not empty.

[0104] Through the above-mentioned device, in response to determining that there are newly added keywords in the speech text obtained by speech recognition, the keywords are divided into parts of speech to obtain a first part-of-speech division result. When it is determined that there are newly added keywords, the keywords are divided into parts of speech, which avoids the omission of keywords and improves the processing efficiency of keywords. Based on the first part-of-speech division result, the keywords are used to fill the predetermined positions in the pre-constructed template, so as to achieve the purpose of real-time processing of keywords and improve the processing efficiency of single keywords. In response to determining that the target predetermined position in the filled template is not empty, a first voice instruction is generated based on the filled template, which reduces the difficulty of generating the first voice instruction and ensures the timeliness of generating the first voice instruction.

[0105] In some embodiments, a second generation module is also included, and the update module is configured to receive a next keyword adjacent to the keyword, perform part-of-speech division on the next keyword, and obtain a second part-of-speech division result; in response to determining that the second part-of-speech division result is a predetermined part-of-speech, based on the next keyword, re-fill the filled template; based on the re-filled template, generate a second voice instruction.

[0106] In some embodiments, the second generation module is further configured so that the predetermined part of speech includes a first predetermined part of speech; in response to determining that the second part of speech division result is the first predetermined part of speech, continues to receive adjacent keywords adjacent to the next keyword; and uses the next keyword and the adjacent keywords to re-fill the filled template.

[0107] In some embodiments, a sending module is also included, and the sending module is configured to respond to determining that a predetermined time has passed and at least one voice instruction is generated within the predetermined time. If there is a voice instruction in conflict with the first voice instruction in at least one of the voice instructions, the latest generated voice instruction among the voice instructions that conflict with the first voice instruction is used as the target voice instruction, and the target voice instruction is sent; if there is no voice instruction in conflict with the first voice instruction in at least one of the voice instructions, the first voice instruction is sent.

[0108] In some embodiments, the division module 10 is also configured to, in response to determining that a newly added keyword exists in the voice text, perform at least one round of first matching operations in a pre-built vehicle domain database based on the newly added keyword, and each round of first matching operations is performed as follows: in response to determining that a vehicle keyword identical to the keyword is not found in the vehicle domain database, receive the next keyword adjacent to the keyword, use the keyword and the next keyword as a first combination word, and use the first combination word as the keyword in the next round of first matching operations; in response to determining that a vehicle keyword containing the keyword is found in the vehicle domain database, exit at least one round of first matching operations, and perform at least one round of second matching operations in the vehicle domain database based on the keyword to determine the newly added keyword.

[0109] In some embodiments, the division module 10 is also configured to perform the following in each round of the second matching operation: continue to receive the next keyword adjacent to the keyword, and use the keyword and the next keyword as the second combination word; in response to determining that a vehicle keyword containing the second combination word is found in the vehicle field database, and the number of words contained in the second combination word is less than the number of words contained in the vehicle keyword, use the second combination word as the keyword in the next round of the second matching operation; in response to determining that a vehicle keyword identical to the second combination word is found in the vehicle field database, exit at least one round of the second matching operation, and determine the second combination word as the newly added keyword.

[0110] In some embodiments, it also includes a first construction module, which is configured to obtain vehicle data from multiple data sources, perform word segmentation operations on the vehicle data, and obtain multiple vehicle keywords; modify the multiple vehicle keywords according to predetermined rules; perform part-of-speech recognition on the modified vehicle keywords to obtain the part-of-speech corresponding to each vehicle keyword; and associate and store the vehicle keywords and their corresponding parts of speech to obtain the vehicle domain database.

[0111] In some embodiments, a second construction module is further included, and the second construction module is configured to construct an initial template, set a plurality of preset positions in the initial template; configure a corresponding part of speech for each preset position according to a predetermined part of speech order to obtain the template.

[0112] For the convenience of description, the above device is described in terms of functions divided into various modules. Of course, when implementing the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0113] The device of the above embodiment is used to implement the corresponding speech recognition method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be described in detail here.

[0114] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the speech recognition method as described in any of the above embodiments is implemented.

[0115] Figure 4 A more specific schematic diagram of the hardware structure of an electronic device provided in this embodiment is shown, and the device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are connected to each other through the bus 1050 in the device.

[0116] The processor 1010 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0117] The memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 may store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program codes are stored in the memory 1020 and are called and executed by the processor 1010.

[0118] The input / output interface 1030 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.

[0119] The communication interface 1040 is used to connect a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).

[0120] The bus 1050 includes a path that transmits information between the various components of the device (eg, the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040).

[0121] It should be noted that, although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040 and the bus 1050, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include the components necessary for implementing the embodiments of the present specification, and does not necessarily include all the components shown in the figure.

[0122] The electronic device of the above embodiment is used to implement the corresponding speech recognition method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be described in detail here.

[0123] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the speech recognition method described in any of the above embodiments.

[0124] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0125] The computer instructions stored in the storage medium of the above embodiments are used to enable the computer to execute the speech recognition method described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0126] Based on the same concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a computer program product, including computer program instructions. When the computer program instructions are run on a computer, the computer executes the speech recognition method described in any of the above embodiments, which has the beneficial effects of the corresponding method embodiments and will not be repeated here.

[0127] It should be noted that the embodiments of the present application can be further described in the following manner:

[0128] It is understandable that before using the technical solutions of each embodiment of the present disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved will be informed to the user in an appropriate manner, and the user's authorization will be obtained.

[0129] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly remind the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can independently choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.

[0130] As an optional but non-limiting implementation, in response to receiving the user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.

[0131] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0132] A person skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application is limited to these examples. In line with the concept of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.

[0133] In addition, to simplify the description and discussion, and in order not to make the embodiments of the present application difficult to understand, the known power supply / ground connection with the integrated circuit (IC) chip and other components may or may not be shown in the provided drawings. In addition, the device can be shown in the form of a block diagram to avoid making the embodiments of the present application difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform to be implemented in the embodiments of the present application (that is, these details should be fully within the scope of understanding of those skilled in the art). In the case of elaborating specific details (e.g., circuits) to describe exemplary embodiments of the present application, it is obvious to those skilled in the art that the embodiments of the present application can be implemented without these specific details or when these specific details are changed. Therefore, these descriptions should be considered to be illustrative rather than restrictive.

[0134] Although the present application has been described in conjunction with specific embodiments of the present application, many replacements, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the embodiments discussed.

[0135] The embodiments of the present application are intended to cover all such substitutions, modifications and variations that fall within the broad scope of the present application. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the protection scope of the present application.< / eos> < / eos>

Claims

1. A speech recognition method, characterized in that: include: In response to determining that a newly added keyword exists in the speech text obtained through speech recognition, performing part-of-speech classification on the keyword to obtain a first part-of-speech classification result; Based on the first part-of-speech classification result, using the keyword to fill the predetermined position in the pre-constructed template; In response to determining that the target predetermined position in the filled template is not empty, a first voice instruction is generated based on the filled template.

2. The method according to claim 1, characterized in that The method comprises: receiving a next keyword adjacent to the keyword, performing part-of-speech classification on the next keyword, and obtaining a second part-of-speech classification result; In response to determining that the second part-of-speech classification result is a predetermined part-of-speech, re-filling the filled template based on the next keyword; Based on the refilled template, a second voice command is generated.

3. The method according to claim 2, characterized in that The predetermined part of speech includes a first predetermined part of speech; In response to determining that the second part-of-speech classification result is a predetermined part-of-speech, re-filling the filled template based on the next keyword includes: In response to determining that the second part-of-speech classification result is the first predetermined part-of-speech, continue to receive adjacent keywords adjacent to the next keyword; The filled template is refilled using the next keyword and the adjacent keyword.

4. The method according to claim 1, characterized in that: The method further comprises: In response to determining that a predetermined time has passed and at least one voice instruction is generated within the predetermined time, if there is a voice instruction in conflict with the first voice instruction in the at least one voice instruction, taking the voice instruction generated last among the voice instructions that conflict with the first voice instruction as a target voice instruction, and sending the target voice instruction; If there is no voice instruction in the at least one voice instruction that conflicts with the first voice instruction, the first voice instruction is sent.

5. The method according to claim 1, characterized in that The determining whether there are newly added keywords in the speech text obtained through speech recognition includes: In response to determining that there are newly added keywords in the speech text, at least one round of first matching operation is performed in a pre-built vehicle domain database according to the newly added keywords, and each round of first matching operation is performed as follows: In response to determining that a vehicle keyword identical to the keyword is not found in the vehicle domain database, receiving a next keyword adjacent to the keyword, using the keyword and the next keyword as a first combination word, and using the first combination word as a keyword in a next round of first matching operation; In response to determining that a vehicle keyword containing a keyword is found in the vehicle domain database, at least one round of first matching operation is exited, and at least one round of second matching operation is performed in the vehicle domain database based on the keyword to determine the newly added keyword.

6. The method according to claim 5, characterized in that The performing at least one round of second matching operation in the vehicle domain database based on the keyword to determine the newly added keyword includes: Each round of the second matching operation is performed as follows: Continue to receive the next keyword adjacent to the keyword, and use the keyword and the next keyword as a second combination word; In response to determining that a vehicle keyword containing the second combination of words is found in the vehicle domain database, and the number of characters contained in the second combination of words is less than the number of characters contained in the vehicle keyword, using the second combination of words as a keyword in the next round of second matching operation; In response to determining that a vehicle keyword identical to the second combination word is found in the vehicle domain database, at least one round of second matching operation is exited, and the second combination word is determined as the newly added keyword.

7. The method according to claim 5, characterized in that The method for constructing the vehicle domain database comprises: Acquire vehicle data from multiple data sources, perform word segmentation on the vehicle data, and obtain multiple vehicle keywords; According to predetermined rules, multiple vehicle keywords are corrected; Performing part-of-speech recognition on the corrected vehicle keywords to obtain the part-of-speech corresponding to each vehicle keyword; The vehicle keywords and their corresponding parts of speech are associated and stored to obtain the vehicle domain database.

8. The method according to claim 1, characterized in that The template construction method comprises: constructing an initial template, and setting a plurality of preset positions in the initial template; According to the predetermined part-of-speech order, a corresponding part-of-speech is configured for each predetermined position to obtain the template.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that: When the processor executes the program, the method according to any one of claims 1 to 8 is implemented.

10. A vehicle, characterized in that: An electronic device comprising the electronic device described in claim 9.