A speech recognition method, a terminal device and a storage medium

By filtering target hot words from user historical interaction data and knowledge base data and calculating their weights, the speech recognition results are dynamically adjusted, solving the problem of inaccurate recognition of new and personalized words in existing technologies and improving the accuracy of speech recognition.

CN122369464APending Publication Date: 2026-07-10UBTECH ROBOTICS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-15
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

Existing speech recognition technologies lack accuracy when faced with new and personalized words, especially in robot grasping scenarios where word recognition capabilities are poor.

Method used

By filtering target hot words that match the user's voice commands from the user's historical interaction data and knowledge base data, the weight of the hot words is calculated based on the frequency of occurrence, context matching degree and user preference, and the speech recognition results are dynamically adjusted.

Benefits of technology

It improves the accuracy of speech recognition, ensures that hot words and weights are more closely matched with the current user's voice commands, and reduces misjudgments caused by lexical ambiguity or lack of context.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122369464A_ABST
    Figure CN122369464A_ABST
Patent Text Reader

Abstract

This application relates to the field of data processing technology and provides a speech recognition method, terminal device, and storage medium. The method includes: receiving a user's voice command, acquiring stored data, including historical interaction data and / or knowledge base data; filtering target hot words from the stored data; calculating the weight of the target hot words based on their first feature data, ensuring the weights are dynamically changing; and finally performing speech recognition on the user's voice command based on the target hot words and their weights to obtain a speech recognition result. This application uses dynamic target hot words and their weights, prioritizing the identification of high-frequency, highly relevant words, reducing misjudgments caused by lexical ambiguity or lack of context, making the determined speech recognition result more closely match the current user's voice command, and improving the accuracy of speech recognition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of data processing technology, and in particular relates to a speech recognition method, terminal device and storage medium. Background Technology

[0002] Speech recognition is a technology that enables machines to convert speech signals into corresponding text or commands through recognition and understanding. Current speech recognition technology generally involves directly inputting speech commands into a trained speech recognition model, which then recognizes the commands to obtain the speech recognition result. Current speech recognition models are trained using existing short phrases; if new words appear, the model will be unable to recognize them accurately. Therefore, improving the accuracy of speech recognition is a problem that needs to be solved. Summary of the Invention

[0003] This application provides a speech recognition method, terminal device, and storage medium that can solve the problem of inaccurate speech recognition.

[0004] In a first aspect, embodiments of this application provide a speech recognition method, including: In response to receiving a user's voice command, the system retrieves stored data, wherein the stored data includes the user's historical interaction data and / or knowledge base data; Filter out target hot words that match the user's voice command from the stored data; Based on the first feature data of the target hot word, the weight of the target hot word is calculated, wherein the first feature data includes at least one of the following: the frequency of occurrence of the target hot word in the historical interaction data, the matching degree of the target hot word with the current context, and the degree of preference of the user in selecting the target hot word in historical behavior. Based on the target hot words and their corresponding weights, the user's voice command is subjected to speech recognition to obtain the speech recognition result of the user's voice command.

[0005] In this application, upon receiving a user's voice command, stored data is acquired, including historical interaction data and / or knowledge base data. Target hot words are selected from the stored data. Since each voice command may be different, selecting corresponding target hot words for each user's voice command makes the obtained hot words more closely match the current user's voice command. Based on the first feature data of the target hot words, the weight of the target hot words is calculated, making the weight of the target hot words dynamically change, varying at different times. Finally, the user's voice command is recognized based on the target hot words and their weights to obtain the speech recognition result. Compared to existing methods that use fixed speech recognition models, this application uses dynamic target hot words and their weights, prioritizing the recognition of high-frequency, highly relevant words, reducing misjudgments caused by lexical ambiguity or lack of context, making the determined speech recognition result more closely match the current user's voice command, and improving the accuracy of speech recognition.

[0006] In one possible implementation of the first aspect, the first feature data includes the frequency of occurrence of the target hot word within a preset time period, the matching degree between the target hot word and the current context, and the degree of preference of the user in selecting the target hot word in historical behavior; The step of calculating the weight of the target hot word based on the first feature data of the target hot word includes: Obtain the frequency of occurrence of the target hot word in the historical interaction data; Based on the frequency of occurrence, the first candidate weight of the target hot word is determined; Calculate the matching degree between the target hot words and the current context; Based on the matching degree, the second candidate weight of the target hot word is determined; Obtain the degree of user preference for the target hot words within a historical time period; Based on the degree of preference, the third candidate weight of the target hot word is determined; The weights of the target hot words are obtained by performing a weighted summation on the first candidate weights, the second candidate weights, and the third candidate weights.

[0007] In this application, the weight of a target hot word is determined by the frequency of its occurrence, the degree of contextual matching, and the user's preference. A multi-dimensional weight calculation method is adopted, which enables the final speech recognition to dynamically adjust the speech recognition result according to the real-time context and user behavior, so as to make the obtained speech recognition result more accurate.

[0008] In one possible implementation of the first aspect, the stored data includes the user's historical interaction data and knowledge base data; The step of filtering target hot words from the stored data that match the user's voice command includes: The user's voice command is processed by keyword recognition to obtain the keywords of the user's voice command; The similarity between the keyword and the stored words in the stored data is calculated to obtain the similarity value between the keyword and the stored words; If the similarity value is greater than a preset value, then the stored words with similarity values ​​greater than the preset value are determined as target hot words that match the user's voice command.

[0009] In one possible implementation of the first aspect, the step of determining the stored word with a similarity value greater than the preset value as the target hot word matching the user's voice command if the similarity value is greater than the preset value includes: If the similarity value is greater than a preset value, then the stored words with similarity values ​​greater than the preset value are determined as candidate hot words that match the user's voice command; Based on the second feature data of the candidate hot words, the score of the candidate hot words is calculated, wherein the second feature data includes at least one of the following: the frequency of occurrence of the candidate hot words in the historical interaction data, the matching degree of the candidate hot words with the current context, and the degree of preference of the user in selecting the candidate hot words in historical behavior. If the score is greater than the preset score, then the candidate hot words that are greater than the preset score are determined as the target hot words that match the user's voice command.

[0010] In this application, candidate hot words matching the user's voice command are determined by calculating the similarity between stored words and target hot words. Then, a score is calculated for the candidate hot words based on their second-level verification data. Based on the score, the target hot words are further filtered from the candidate hot words. This application uses both the similarity between stored words and target hot words, as well as the target hot words' own score, to filter mutual target hot words. Through this two-stage filtering, the resulting target hot words are more similar to the user's voice command, facilitating subsequent recognition of the user's voice command.

[0011] In one possible implementation of the first aspect, the step of determining the candidate hot words with scores greater than the preset score as target hot words matching the user's voice command if the score is greater than the preset score includes: If the score is greater than the preset score, then the candidate hot words that are greater than the preset score are determined as the first hot words that match the user's voice command; Obtain a stored hot word library, in which a second hot word exists, and the second hot word is determined based on historical user voice commands; If the first hot word does not exist in the hot word library, the first hot word is added to the hot word library to obtain an updated hot word library. The first hot word and the second hot word in the updated hot word library are both target hot words that match the user's voice command. The updated hot word library is used to perform speech recognition on the next received user voice command.

[0012] In one possible implementation of the first aspect, after performing speech recognition on the user's voice command based on the target hot words and the weights corresponding to the target hot words to obtain the speech recognition result of the user's voice command, the method further includes: Receive a correction request to correct the speech recognition result, wherein the correction request contains erroneous words in the speech recognition result and standard words that match the erroneous words; The speech recognition result is corrected based on the correction request; The standard vocabulary is stored in the currently stored hot word library, and the weight value of the standard vocabulary is set as the target weight, which is greater than the weight of the erroneous vocabulary.

[0013] In this application, a user feedback mechanism is set up to correct the speech recognition results based on user feedback, making the speech recognition results more accurate. In addition, the hot word library is corrected based on user feedback to make the hot words in the hot word library more accurate, so that they can be used for the next recognition of user voice commands.

[0014] In one possible implementation of the first aspect, the step of performing speech recognition on the user's voice command based on the target hot words and the weights corresponding to the target hot words to obtain the speech recognition result of the user's voice command includes: The target hot word, the weight corresponding to the target hot word, and the user's voice command are input into the trained speech recognition model to obtain the speech recognition result of the user's voice command.

[0015] In one possible implementation of the first aspect, the process of the speech recognition model recognizing the user's voice command includes: The speech recognition model recognizes the user's voice commands and obtains candidate recognition results from the user's voice commands; If there are multiple candidate recognition results and the target hot word exists in the candidate recognition results, the speech recognition model obtains the weight of the existing target hot word; The speech recognition model determines the candidate recognition result containing the target hot word with the highest weight as the speech recognition result of the user's voice command.

[0016] Secondly, embodiments of this application provide a voice recognition device, including: The data acquisition module is used to acquire stored data in response to receiving a user's voice command, wherein the stored data includes the user's historical interaction data and / or knowledge base data; The hot word determination module is used to filter out target hot words that match the user's voice command from the stored data; The weight calculation module is used to calculate the weight of the target hot word based on the first feature data of the target hot word, wherein the first feature data includes at least one of the frequency of occurrence of the target hot word in the historical interaction data, the matching degree of the target hot word with the current context, and the degree of preference of the user in selecting the target hot word in historical behavior. The result output module is used to perform speech recognition on the user's voice command based on the target hot words and the weights corresponding to the target hot words, and to obtain the speech recognition result of the user's voice command.

[0017] Thirdly, embodiments of this application provide a terminal device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the speech recognition method described in any one of the first aspects above.

[0018] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the speech recognition method described in any one of the first aspects above.

[0019] Fifthly, embodiments of this application provide a computer program product that, when run on a terminal device, causes the terminal device to execute the speech recognition method described in any one of the first aspects. Attached Figure Description

[0020] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 This is a schematic flowchart of a speech recognition method provided in an embodiment of this application; Figure 2 This is a flowchart illustrating a hot word filtering method provided in an embodiment of this application; Figure 3 This is a flowchart illustrating a method for determining hot word weights according to an embodiment of this application; Figure 4 This is a flowchart illustrating a hot word filtering method provided in another embodiment of this application; Figure 5 This is a flowchart illustrating a method for determining a hot word library according to an embodiment of this application; Figure 6 This is a schematic flowchart of a feedback correction method provided in an embodiment of this application; Figure 7 This is a schematic diagram of the structure of a speech recognition device provided in an embodiment of this application; Figure 8 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Detailed Implementation

[0022] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0023] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0024] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0025] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized.

[0026] Current speech recognition methods generally rely on pre-stored static words for recognition. However, for new words or personalized words, the recognition is inaccurate because these words are not stored in the static word list. For example, in robot grasping scenarios, the recognition ability for personalized words such as "return hand" and "return to zero" is insufficient.

[0027] In addition, current speech recognition models are generally trained using short sentences, which results in poor word recognition ability. Moreover, the fewer words there are, the more homophones there are, making it easier for the speech recognition model to make mistakes.

[0028] To address the aforementioned issues, this application proposes a speech recognition method. Upon receiving a user's voice command, hot words matching the command are selected from historical interaction data and / or knowledge base data. The weights of these hot words are calculated based on their frequency of occurrence and scene matching. Finally, the user's voice command is recognized using the determined hot words and their weights to obtain the speech recognition result. In this application, for each user voice command, the hot words and their weights are redefined based on the current command, ensuring that both are dynamic. This guarantees that the hot words and their weights used in each speech recognition session match the current command, resulting in a more accurate speech recognition result.

[0029] The following combination Figure 1 The speech recognition method of this application will be described in detail. The method of this application can be applied to terminal devices, such as mobile phones, robots, etc. For ease of description, this application will use a robot as an example of the terminal device.

[0030] Figure 1 A schematic flowchart of the speech recognition method provided in this application is shown, with reference to... Figure 1 The method is described in detail below: S101, in response to receiving a user's voice command, acquire stored data, wherein the stored data includes the user's historical interaction data and / or knowledge base data.

[0031] In this embodiment, the user's voice command can be a word or a short phrase, etc., and there are no restrictions. For example, the voice command could be "return your hand" or "return to the charging station to charge", etc.

[0032] In this embodiment, each interaction between the user and the robot is stored by the robot, forming historical interaction data. This historical interaction data may include task execution logs and user commands. The task execution logs contain the robot's actions and text responses to user commands. User commands may include voice commands and text input commands.

[0033] The knowledge base data is pre-stored data, including pre-stored vocabulary. Different scenarios can correspond to different knowledge base data. For example, a robot in a handling scenario can look up the knowledge base data for handling scenarios; a robot in a navigation scenario can look up the knowledge base data for navigation scenarios.

[0034] S102, filter out target hot words that match the user's voice command from the stored data.

[0035] In this embodiment, the stored data contains pre-stored words or phrases, which can be referred to as stored words. Target hot words can be words that appear frequently, such as "navigation" or "crawl".

[0036] In one implementation, the method for determining the target hot words may include: Using edit distance or fuzzy matching algorithms, words in the stored data are matched with user voice commands to obtain matching results; if the matching result is a match, the words in the stored data are determined to be target hot words; if the matching result is a non-match, the words in the stored data are determined not to be target hot words.

[0037] like Figure 2 As shown, in another implementation, the method for determining the target hot words may include: S11, perform keyword recognition processing on the user's voice command to obtain the keywords of the user's voice command.

[0038] In this embodiment, if the user's voice command is a single word, then the user's voice command is considered a keyword. If the user's voice command is a phrase or sentence, the user's voice command is segmented, discarding meaningless function words, such as "help me," to obtain the keywords in the user's voice command.

[0039] S12, calculate the similarity between the keyword and the stored words in the stored data to obtain the similarity value between the keyword and the stored words.

[0040] In this embodiment, similarity calculation may include semantic similarity, phoneme similarity, etc. Among them, a phoneme is the smallest sound unit in human language that can distinguish meaning.

[0041] The semantic similarity is calculated as follows: keywords are converted into vectors to obtain keyword vectors; stored words are converted into vectors to obtain stored word vectors. The distance between the keyword vector and the stored word vector is calculated to obtain the similarity value between the keywords and stored words. Alternatively, semantic dictionaries such as WordNet and HowNet (CNKI) can be used. These dictionaries organize words into tree or network structures, and the shortest path length between keywords and stored words in the semantic tree can be found; the shortest path length is the similarity value between the keywords and stored words.

[0042] The phoneme similarity calculation method is as follows: Keywords are split into factor sequences to obtain keyword factor sequences. Stored words are also split into factor sequences to obtain stored word factor sequences. Features are extracted from the keyword factor sequences to obtain first-factor features; features are extracted from the stored word factor sequences to obtain second-factor sequences. These features can be pronunciation features, with pronunciation features corresponding to different phonemes pre-stored. The feature overlap between the first and second-factor features is calculated to obtain the distance between the keyword and the stored word. This distance is the similarity value between the keyword and the stored word.

[0043] S13, if the similarity value is greater than a preset value, then the stored words with similarity values ​​greater than the preset value are determined as target hot words that match the user's voice command.

[0044] In another approach, if the similarity value is less than or equal to a preset value, it indicates that the stored word does not match the user's voice command, and the stored word is not a target hot word, so the stored word is discarded.

[0045] S103, calculate the weight of the target hot word based on the first feature data of the target hot word, wherein the first feature data includes at least one of the frequency of occurrence of the target hot word in the historical interaction data, the matching degree of the target hot word with the current context, and the degree of preference of the user in selecting the target hot word in historical behavior.

[0046] In this embodiment, as Figure 3 As shown, the method for determining the weight of target hot words is as follows: S21, obtain the frequency of occurrence of the target hot word in the historical interaction data.

[0047] In this embodiment, the occurrence count of the target hot word and the total number of all words appearing within a historical time period are counted in the historical interaction data. The occurrence frequency of the target hot word is obtained by dividing the occurrence count of the target hot word by the total number of words. The historical time period can be set as needed, such as 2 days, 10 days, or 30 days.

[0048] S22, Based on the frequency of occurrence, determine the first candidate weight of the target hot word.

[0049] In this embodiment, weight values ​​corresponding to different frequency intervals are pre-stored, the frequency interval in which the determined frequency of occurrence is located is found, and the weight value of the frequency interval in which the frequency of occurrence is located is determined as the first candidate weight.

[0050] S23, calculate the matching degree between the target hot word and the current context.

[0051] In this embodiment, the current context refers to the environment in which the user's language or behavior occurs when interacting with the robot.

[0052] The current context can be determined based on the contextual information from the user's interaction with the robot. The matching degree between the target hot words and the current context is calculated using a trained semantic analysis model.

[0053] S24, Based on the matching degree, determine the second candidate weight of the target hot word.

[0054] In this embodiment, different weight values ​​are preset for different matching degree intervals, and the weight value of the matching degree interval in which the determined matching degree is located is determined as the second candidate weight.

[0055] S25, obtain the degree of user preference for the target hot words within a historical time period.

[0056] In this embodiment, the degree of user preference for selecting the target hot word in historical behavior represents the user preference degree. The user preference degree is determined by: counting the number of times the user selected the target hot word through text input or actively within a historical time period; counting the total number of words within the historical time period; and calculating the proportion of these selections to the total number of words to obtain the user preference degree. Different proportion intervals are pre-set to correspond to different user preference degrees. Alternatively, the contextual information within the historical time period is input into a trained neural network model, which outputs the user's interest vector; the dot product between the interest vector and the target hot word vector is calculated to obtain the user preference degree.

[0057] S26, Based on the degree of preference, determine the third candidate weight of the target hot word.

[0058] In this embodiment, the weight values ​​corresponding to different preference intervals are pre-stored, the preference interval in which the determined preference degree is located is found, and the weight value of the preference interval in which the preference degree is located is determined as the third candidate weight.

[0059] S27, perform a weighted summation of the first candidate weight, the second candidate weight, and the third candidate weight to obtain the weight of the target hot word.

[0060] In other methods, the weight of the target hot word is determined by one or two of the first candidate weight, second candidate weight and third candidate weight mentioned above, which will not be elaborated here.

[0061] S104, based on the target hot words and the weights corresponding to the target hot words, perform speech recognition on the user's voice command to obtain the speech recognition result of the user's voice command.

[0062] In this embodiment, the target hot word, the weight corresponding to the target hot word, and the user voice command are input into the trained speech recognition model to obtain the speech recognition result of the user voice command.

[0063] Specifically, the process by which the speech recognition model recognizes the user's voice commands includes: The speech recognition model recognizes the user's voice command and obtains candidate recognition results in the user's voice command; if there are multiple candidate recognition results and the target hot word exists in the candidate recognition results, the speech recognition model obtains the weight of the existing target hot word; the speech recognition model determines the candidate recognition result containing the target hot word with the largest weight as the speech recognition result of the user's voice command.

[0064] For example, if the candidate recognition results obtained by the speech recognition model are A, B and C, and the weight of the target hot word in A is a, the weight of the target hot word in B is b, the weight of the target hot word in C is c, and the maximum value among a, b and c is c, then C is determined as the speech recognition result of the user's voice command.

[0065] In one possible implementation, step S13 above directly determines the target hot words based on the similarity value. To make the determination of target hot words more accurate, after filtering hot words based on similarity values, further filtering can be performed on the filtered hot words. Specifically, such as... Figure 4 As shown, methods for determining target hot words can also include: S31, if the similarity value is greater than a preset value, then the stored words with similarity values ​​greater than the preset value are determined as candidate hot words that match the user's voice command.

[0066] S32, calculate the score of the candidate hot words based on the second feature data of the candidate hot words, wherein the second feature data includes at least one of the following: the frequency of occurrence of the candidate hot words in the historical interaction data, the matching degree of the candidate hot words with the current context, and the degree of preference of the user in selecting the candidate hot words in historical behavior.

[0067] In this embodiment, the process of determining the score of candidate hot words is similar to the process of determining the weight of target hot words. Please refer to the explanation of step S103 above, which will not be repeated here.

[0068] S33, if the score is greater than the preset score, then the candidate hot words that are greater than the preset score are determined as the target hot words that match the user's voice command.

[0069] In another implementation, candidate hot words are discarded if the score is less than or equal to the preset score.

[0070] In one possible implementation, since the robot is constantly working, it determines the corresponding hot words each time it processes a user's voice command. The hot words determined by each user's voice command are then aggregated to obtain a hot word library. Thus, the hot word library is a constantly updated dynamic hot word library.

[0071] Based on this, after processing the user's voice command, the obtained hot words can be added to the hot word library, and all the hot words in the hot word library can be used as target hot words when processing the user's voice command.

[0072] Specifically, such as Figure 5 As shown, the processing procedure of step S33 above may further include: S331, if the score is greater than the preset score, then the candidate hot words that are greater than the preset score are determined as the first hot words that match the user's voice command.

[0073] S332, Obtain the stored hot word library, wherein a second hot word exists in the hot word library, and the second hot word is determined based on historical user voice commands.

[0074] In this embodiment, the hot words determined by each user voice command are stored to obtain a stored hot word library.

[0075] For example, the hot words determined by user voice command H in the historical time period are y and h, and the hot words determined by user voice command G in the historical time period are k and f. y, h, k and f are stored to obtain the stored hot word library.

[0076] S333, if the first hot word does not exist in the hot word library, add the first hot word to the hot word library to obtain an updated hot word library. The first hot word and the second hot word in the updated hot word library are both target hot words that match the user's voice command. The updated hot word library is used to perform voice recognition on the next received user voice command.

[0077] For example, if the existing hot word library contains the second hot word as y, h, k, and f, and the user's voice command at the current moment determines the first hot word as k and w, then k does not need to be added back to the existing hot word library. Since w does not exist in the existing hot word library, it is added, and the updated hot word library contains w, y, h, k, and f. In this case, the target hot words for processing the user's voice command are w, y, h, k, and f.

[0078] For confirmed speech recognition results, they can be displayed to the user so that the user can determine whether the speech recognition results are accurate. If the user determines that the speech recognition results are inaccurate, they can be modified, and the robot can update the hot word database based on the modifications.

[0079] Specifically, such as Figure 6 As shown, the above method may further include: S201, receive a correction request to correct the speech recognition result, wherein the correction request contains erroneous words in the speech recognition result and standard words that match the erroneous words.

[0080] In this embodiment, a correction request is generated after the user clicks on the incorrect word and enters the corresponding standard word.

[0081] S202, The speech recognition result is corrected based on the correction request.

[0082] In this embodiment, the incorrect words are corrected to standard words to obtain the corrected speech recognition result.

[0083] S203, store the standard vocabulary into the currently stored hot word library, and set the weight value of the standard vocabulary as the target weight, wherein the target weight is greater than the weight of the erroneous vocabulary.

[0084] In this embodiment, standard vocabulary is stored in the current hot word library, and the hot word library is updated to obtain an updated hot word library. The updated hot word library is used to perform speech recognition on the next user voice command received.

[0085] Since the incorrect words appear in the speech recognition results, in order to ensure the accuracy of the next recognition, the weight of the standard words is set higher than that of the incorrect words. When the same user voice command is recognized again, the correct standard words can be recognized, reducing the probability of recognizing the incorrect words.

[0086] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0087] Corresponding to the speech recognition method described in the above embodiments, Figure 7 A structural block diagram of a speech recognition device provided in an embodiment of this application is shown. For ease of explanation, only the parts related to the embodiments of this application are shown.

[0088] Reference Figure 7 The device 400 may include: a data acquisition module 410, a hot word determination module 420, a weight calculation module 430, and a result output module 440.

[0089] The data acquisition module 410 is used to acquire stored data in response to receiving a user's voice command, wherein the stored data includes the user's historical interaction data and / or knowledge base data. The hot word determination module 420 is used to filter out target hot words that match the user's voice command from the stored data; The weight calculation module 430 is used to calculate the weight of the target hot word based on the first feature data of the target hot word, wherein the first feature data includes at least one of the frequency of occurrence of the target hot word in the historical interaction data, the matching degree of the target hot word with the current context, and the degree of preference of the user in selecting the target hot word in historical behavior. The result output module 440 is used to perform speech recognition on the user's voice command based on the target hot words and the weights corresponding to the target hot words, and to obtain the speech recognition result of the user's voice command.

[0090] In one possible implementation, the following components are also connected to the result output module 440: The request receiving module is used to receive a correction request for correcting the speech recognition result, wherein the correction request contains erroneous words in the speech recognition result and standard words that match the erroneous words; The result correction module is used to correct the speech recognition result based on the correction request; The vocabulary update module is used to store the standard vocabulary into the currently stored hot vocabulary library and set the weight value of the standard vocabulary as a target weight, wherein the target weight is greater than the weight of the erroneous vocabulary.

[0091] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0092] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0093] This application also provides a terminal device, see [link to relevant documentation] Figure 8The terminal device 500 may include: at least one processor 510, a memory 520, and a computer program stored in the memory 520 and executable on the at least one processor 510. When the processor 510 executes the computer program, it implements the steps in any of the above method embodiments, for example... Figure 1 Steps S101 to S104 in the illustrated embodiment. Alternatively, when the processor 510 executes the computer program, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 7 The functions of the data acquisition module 410 to the weight calculation module 440 are shown.

[0094] For example, a computer program may be divided into one or more modules / units, one or more of which are stored in memory 520 and executed by processor 510 to complete this application. The one or more modules / units may be a series of computer program segments capable of performing specific functions, which describe the execution process of the computer program in terminal device 500.

[0095] Those skilled in the art will understand that Figure 8 This is merely an example of a terminal device and does not constitute a limitation on the terminal device. It may include more or fewer components than shown, or combine certain components, or different components, such as input / output devices, network access devices, buses, etc.

[0096] The processor 510 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0097] The memory 520 can be an internal storage unit of the terminal device or an external storage device, such as a plug-in hard drive, a smart media card (SMC), a secure digital (SD) card, or a flash card. The memory 520 is used to store the computer program and other programs and data required by the terminal device. The memory 520 can also be used to temporarily store data that has been output or will be output.

[0098] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0099] The speech recognition method provided in this application can be applied to terminal devices such as computers, tablets, laptops, netbooks, and personal digital assistants (PDAs). This application does not impose any restrictions on the specific type of terminal device.

[0100] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0101] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0102] In the embodiments provided in this application, it should be understood that the disclosed terminal devices, apparatuses, and methods can be implemented in other ways. For example, the terminal device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interfaces, apparatuses, or units, and may be electrical, mechanical, or other forms.

[0103] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0104] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0105] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by one or more processors, it can implement the steps of the various method embodiments described above.

[0106] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by one or more processors, it can implement the steps of the various method embodiments described above.

[0107] Similarly, as a computer program product, when the computer program product is run on a terminal device, it enables the terminal device to implement the steps in the above-described method embodiments.

[0108] The computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0109] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A speech recognition method, characterized in that, include: In response to receiving a user's voice command, the system retrieves stored data, wherein the stored data includes the user's historical interaction data and / or knowledge base data; Filter out target hot words that match the user's voice command from the stored data; Based on the first feature data of the target hot word, the weight of the target hot word is calculated, wherein the first feature data includes at least one of the following: the frequency of occurrence of the target hot word in the historical interaction data, the matching degree of the target hot word with the current context, and the degree of preference of the user in selecting the target hot word in historical behavior. Based on the target hot words and their corresponding weights, the user's voice command is subjected to speech recognition to obtain the speech recognition result of the user's voice command.

2. The speech recognition method as described in claim 1, characterized in that, The first feature data includes the frequency of occurrence of the target hot word within a preset time period, the matching degree between the target hot word and the current context, and the degree of preference of the user in selecting the target hot word in historical behavior; The step of calculating the weight of the target hot word based on the first feature data of the target hot word includes: Obtain the frequency of occurrence of the target hot word in the historical interaction data; Based on the frequency of occurrence, the first candidate weight of the target hot word is determined; Calculate the matching degree between the target hot words and the current context; Based on the matching degree, the second candidate weight of the target hot word is determined; Obtain the degree of user preference for the target hot words within a historical time period; Based on the degree of preference, the third candidate weight of the target hot word is determined; The weights of the target hot words are obtained by performing a weighted summation on the first candidate weights, the second candidate weights, and the third candidate weights.

3. The speech recognition method as described in claim 1, characterized in that, The stored data includes users' historical interaction data and knowledge base data; The step of filtering target hot words from the stored data that match the user's voice command includes: The user's voice command is processed by keyword recognition to obtain the keywords of the user's voice command; The similarity between the keyword and the stored words in the stored data is calculated to obtain the similarity value between the keyword and the stored words; If the similarity value is greater than a preset value, then the stored words with similarity values ​​greater than the preset value are determined as target hot words that match the user's voice command.

4. The speech recognition method as described in claim 3, characterized in that, If the similarity value is greater than a preset value, then the stored words with similarity values ​​greater than the preset value are determined as target hot words that match the user's voice command, including: If the similarity value is greater than a preset value, then the stored words with similarity values ​​greater than the preset value are determined as candidate hot words that match the user's voice command; Based on the second feature data of the candidate hot words, the score of the candidate hot words is calculated, wherein the second feature data includes at least one of the following: the frequency of occurrence of the candidate hot words in the historical interaction data, the matching degree of the candidate hot words with the current context, and the degree of preference of the user in selecting the candidate hot words in historical behavior. If the score is greater than the preset score, then the candidate hot words that are greater than the preset score are determined as the target hot words that match the user's voice command.

5. The speech recognition method as described in claim 4, characterized in that, If the score is greater than a preset score, then the candidate hot words with scores greater than the preset score are determined as target hot words that match the user's voice command, including: If the score is greater than the preset score, then the candidate hot words that are greater than the preset score are determined as the first hot words that match the user's voice command; Obtain a stored hot word library, in which a second hot word exists, and the second hot word is determined based on historical user voice commands; If the first hot word does not exist in the hot word library, the first hot word is added to the hot word library to obtain an updated hot word library. The first hot word and the second hot word in the updated hot word library are both target hot words that match the user's voice command. The updated hot word library is used to perform speech recognition on the next received user voice command.

6. The speech recognition method according to any one of claims 1 to 5, characterized in that, After performing speech recognition on the user's voice command based on the target hot words and their corresponding weights to obtain the speech recognition result of the user's voice command, the method further includes: Receive a correction request to correct the speech recognition result, wherein the correction request contains erroneous words in the speech recognition result and standard words that match the erroneous words; The speech recognition result is corrected based on the correction request; The standard vocabulary is stored in the currently stored hot word library, and the weight value of the standard vocabulary is set as the target weight, which is greater than the weight of the erroneous vocabulary.

7. The speech recognition method according to any one of claims 1 to 5, characterized in that, The step of performing speech recognition on the user's voice command based on the target hot words and their corresponding weights to obtain the speech recognition result of the user's voice command includes: The target hot word, the weight corresponding to the target hot word, and the user's voice command are input into the trained speech recognition model to obtain the speech recognition result of the user's voice command.

8. The speech recognition method as described in claim 7, characterized in that, The process by which the speech recognition model recognizes the user's voice commands includes: The speech recognition model recognizes the user's voice commands and obtains candidate recognition results from the user's voice commands; If there are multiple candidate recognition results and the target hot word exists in the candidate recognition results, the speech recognition model obtains the weight of the existing target hot word; The speech recognition model determines the candidate recognition result containing the target hot word with the highest weight as the speech recognition result of the user's voice command.

9. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the speech recognition method as described in any one of claims 1 to 8.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the speech recognition method as described in any one of claims 1 to 8.