A method and apparatus for speech recognition of keywords
By dividing keywords into multiple classification tags and using neural network models to predict their existence probability, the problem of inaccurate keyword recognition in the prior art is solved, and high accuracy recognition is achieved in resource-constrained scenarios.
Patent Information
- Application Number
- CN202210191909.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-28
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2042-02-28
AI Technical Summary
In the prior art, due to the fixed time window of keyword recognition, the speech position is not fixed, making it difficult to learn complete keyword pronunciation characteristics, and false awakening and category recognition are inaccurate during multi-keyword recognition, especially in resource-constrained scenarios, it is difficult to achieve high accuracy.
The multi-label classification task is used to divide the keywords into multiple classification tags, predict the existence probability of each classification tag through the neural network model, and determine whether the target keywords exist in the speech signal in combination with the setting threshold. The lightweight neural network model is used for training and recognition.
It improves the accuracy of keyword recognition and reduces the misrecognition rate. It is suitable for resource-constrained edge recognition scenarios, especially when recognizing similar keywords.
Smart Images

Figure CN114566156B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of speech recognition technology, and particularly to a method and device for speech recognition of keywords. Background Art
[0002] With the development of technology, the application scenarios of intelligent speech recognition are becoming more and more extensive. Among them, keyword wake-up is the first step of speech recognition. A keyword recognition scheme with high robustness can optimize the human-computer interaction experience and provide a basis for subsequent intelligent applications.
[0003] In the prior art, keyword recognition is generally performed by a pattern recognition method. Specifically, it includes: first, a time window is selected, and the short-time Fourier transform is performed on the sampled data within the time window. Then, the discrete cosine cepstral coefficients corresponding to the sampled data within the time window are obtained, and the discrete cosine cepstral coefficients are used as speech features and input into a neural network for classification. Finally, the probability of the existence of the target keyword is determined.
[0004] The above technical solution has the following problems: When selecting the time window, the longest estimated time required by the longest keyword needs to be used as a fixed time window, which will result in the position of the speech within a time window not being fixed. In multi-keyword training, if the duration difference between the keyword with the longest duration and the keyword with the shortest duration is too large, it is difficult for the pattern recognition task to learn the complete pronunciation features of the keyword, resulting in a large number of false awakenings. Moreover, when there is speech of multiple keywords in the time window, the recognition of the categories of the keywords is not accurate enough. Summary of the Invention
[0005] This application provides a method and device for speech recognition of keywords to improve the accuracy of keyword speech recognition and avoid false awakenings.
[0006] In a first aspect, an embodiment of this application provides a method for speech recognition of keywords. The method includes: obtaining a speech signal of a certain duration and calculating the speech recognition features of the speech signal; inputting the speech recognition features into a neural network model, and determining the probabilities of the existence of N classification labels of the target keyword in the speech signal through the neural network model, where N is a positive integer; determining the probability of the co-existence of the N classification labels of the target keyword in the speech signal according to the probabilities of the existence of the N classification labels of the target keyword in the speech signal; if the probability of the co-existence of the N classification labels of the target keyword in the speech signal is greater than or equal to a set threshold, it is determined that the target keyword exists in the speech signal.
[0007] Different from keyword recognition based on speech recognition in the prior art, which requires training all possible pronunciations as classification results, usually with a large classification target and large model parameters, it is not conducive to application scenarios with limited resources. In the technical solution of this application, by dividing the target keyword into multiple classification labels and using the classification labels in the target keyword as the classification target, without increasing the model size, it has the effects of significantly improving the keyword recognition accuracy and reducing misrecognition. The classification labels can be phonemes, characters, words, etc. existing in the target keyword. Since the position and occurrence law of speech in a short time window are stable, in this way, by reducing the detection granularity, the neural network model can more easily identify the differences between classification labels and then identify different categories, that is, keywords.
[0008] This application has good performance in the training task of similar keywords. If the keywords have many similar pronunciations, directly training keyword classification, it is difficult for the model to pay attention to all the features of the keywords, resulting in a large difference between the training target and the actual features, or regarding the background noise in the dataset as keyword features, thus increasing the misrecognition of the model.
[0009] In a possible design, the N classification labels of the target keyword are obtained by dividing the target keyword according to the granularity of phonemes, characters or words.
[0010] In a possible design, the probability that the N classification labels of the target keyword coexist in the speech signal is associated with the probabilities that the speech recognition features respectively correspond to the N classification labels of the target keyword.
[0011] In a possible design, calculating the speech recognition features of the speech signal includes: dividing the speech signal into frames according to a set window length and step size; for each frame of speech signal, determining the time-frequency features of the frame of speech signal by performing a short-time Fourier transform on the frame of speech signal; and determining the filter bank-based features and Mel frequency cepstral coefficients according to the time-frequency features.
[0012] In a possible design, the window length is greater than or equal to the longest pronunciation length of the classification labels of the target keyword, and the step size is less than or equal to half of the window length.
[0013] In a possible design, the method further includes: training the neural network model using a multi-label training method until the neural network model converges.
[0014] Second aspect, an embodiment of the present application provides a voice recognition device for keywords. The device may include modules / units that execute the methods of any possible design of the first aspect described above. These modules / units can be implemented by hardware or by hardware executing corresponding software.
[0015] Exemplarily, the device may include a communication module and a processing module; wherein:
[0016] The communication module is configured to obtain a voice signal of a certain duration;
[0017] The processing module is configured to calculate voice recognition features of the voice signal; input the voice recognition features into a neural network model, and determine the probabilities of the presence of N classification labels of a target keyword in the voice signal respectively through the neural network model, where N is a positive integer; determine the probability of the co-presence of the N classification labels of the target keyword in the voice signal according to the probabilities of the presence of the N classification labels of the target keyword in the voice signal respectively; if the probability of the co-presence of the N classification labels of the target keyword in the voice signal is greater than or equal to a set threshold, it is determined that the target keyword exists in the voice signal.
[0018] In a possible design, the N classification labels of the target keyword are obtained by dividing the target keyword according to the granularity of phonemes, characters or words.
[0019] In a possible design, the probability of the co-presence of the N classification labels of the target keyword in the voice signal is associated with the probabilities of the voice recognition features corresponding to the N classification labels of the target keyword respectively.
[0020] In a possible design, the processing module is specifically configured to: frame the voice signal according to a set window length and step size; for each frame of the voice signal, determine the time-frequency features of the frame of the voice signal by performing a short-time Fourier transform on the frame of the voice signal; determine the filter bank-based features and Mel frequency cepstral coefficients according to the time-frequency features.
[0021] In a possible design, the window length is greater than or equal to the longest pronunciation length of the classification label of the target keyword, and the step size is less than or equal to half of the window length.
[0022] In a possible design, the processing module is further configured to: train the neural network model using a multi-label training method until the neural network model converges.
[0023] Third aspect, an embodiment of the present application further provides a computing device, including:
[0024] A memory for storing program instructions;
[0025] A processor for calling the program instructions stored in the memory and executing the method described in various possible designs of the first aspect according to the obtained program instructions.
[0026] In a fourth aspect, an embodiment of the present application further provides a chip, which is deployed with a neural network model and weights trained with multiple labels, and is configured to: when the chip receives a voice signal of a certain duration, execute the method described in various possible designs of the first aspect.
[0027] In a fifth aspect, an embodiment of the present application further provides a computer-readable storage medium, in which computer-readable instructions are stored. When a computer reads and executes the computer-readable instructions, the method described in any one of the possible designs of the first aspect is implemented.
[0028] In a sixth aspect, an embodiment of the present application further provides a computer program product, including computer-readable instructions. When the computer-readable instructions are executed by a processor, the method described in any one of the possible designs of the first aspect is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0030] Figure 1 It is a schematic flowchart of a method for speech recognition of keywords provided by an embodiment of the present application;
[0031] Figure 2 It is a schematic structural diagram of a neural network model provided by an embodiment of the present application;
[0032] Figure 3 It is a schematic structural diagram of a device for speech recognition of keywords provided by an embodiment of the present application;
[0033] Figure 4 It is another schematic structural diagram of a method for speech recognition of keywords provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0034] To make the objectives, technical solutions, and advantages of this application clearer, the following will further describe this application in detail with reference to the accompanying drawings. Apparently, the described embodiments are only a part rather than all of the embodiments of this application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in this application without creative efforts shall fall within the scope of protection of this application.
[0035] To solve problems such as a large number of multi-keyword categories, high similarity, high requirements for the model in direct classification, low accuracy and slow recognition speed of keyword recognition, and the inapplicability of the keyword recognition method of large models in scenarios with offline or limited computing power resources at the edge, an embodiment of this application provides a voice recognition method for keywords.
[0036] The core of this method is to change the classification label of keywords from one-hot encoding to multi-label categories and perform multi-label classification tasks. The multi-label classification task adopted in this application divides the classification labels by granularity such as phonemes, single characters, or words for keywords, and then predicts the probability of the existence of each classification label through a neural network model. According to the probability of the coexistence of each classification label, it is judged whether the target keyword exists in a piece of speech. This method can achieve fine-grained recognition and improve the technical effect of recognition accuracy.
[0037] Different from the conventional voice recognition keyword technology, in this application, the voice is still input segment by segment (the length of each segment is related to the length of the keyword), and the classification uses a multi-label task, without the need for frame-level alignment, thus eliminating the difficulty of annotation.
[0038] Figure 1 An exemplary flowchart of a voice recognition method for keywords provided in an embodiment of this application is shown as Figure 1 shown, and the method includes:
[0039] Step 101, obtain a voice signal of a certain duration and calculate the voice recognition features of the voice signal.
[0040] Calculating the speech recognition features of the speech signal may include: framing the speech signal according to a set window length and step size; then, for each frame of the speech signal, determining the time-frequency features of the frame of the speech signal by performing a short-time Fourier transform on the frame of the speech signal, that is, transforming the features sampled in the time domain into time-frequency features; further, based on the time-frequency features, determining the filter bank-based features fbank and the Mel-frequency cepstral coefficients mfcc. Specifically, the fbank features can be obtained by converting the frequency domain coordinates into logarithmic coordinates according to the human auditory perception, and the cepstrum can be obtained by performing an inverse Fourier transform on the logarithmic coordinates, thereby obtaining the mfcc features. The fbank features and mfcc features can be used as speech recognition features and input into the neural network model in subsequent steps.
[0041] Among them, framing means dividing a section of speech signal into small segments according to the stationarity of the speech. The speech sounding rules in each small segment of the signal are similar and have a certain degree of stationarity. Each small segment of the signal is called a frame. In a specific implementation, considering maintaining the continuity of the speech, there will be a certain degree of overlap between the signals of different frames.
[0042] The window length refers to the time length of the segmentation when framing the speech signal, and the step size refers to sliding continuously at a fixed step size in the time dimension according to the window length to obtain a frame of signal. In this application, the window length is greater than or equal to the longest pronunciation length of the classification label of the target keyword, and the step size is less than or equal to half of the window length. For example, the length of a frame of signal (i.e., the window length) can be 20 - 40 ms, and the step size can be 7 - 16 ms. The window length and step size can be flexibly selected according to different tasks.
[0043] Exemplarily, the process of extracting speech features may include: first, performing windowing on the speech signal to divide the speech signal into frames, and there is a temporal sequence relationship between the speech signals of the previous frame and the next frame. Applying the fast Fourier transform (FFT) to the speech signal within each frame to obtain the power spectrum of each frame. Then, performing filter bank processing on the power spectrum using the Mel-scale. After transforming the power spectrum into the logarithmic domain, applying the discrete cosine transform to the speech signal to calculate the MFCC coefficients.
[0044] The formula for calculating Mels at any frequency is:
[0045] mel(f) = 2595×log 10 (1 + f / 700)
[0046] where Mel(f) is the frequency (Mels) and f is the frequency (Hz).
[0047] The calculation formula for MFCCs is:
[0048]
[0049] Among them, k is the number of Mel cepstral coefficients, S^k is the output of the filterbank, and C^n is the final mfcc coefficient.
[0050] The input of the Fourier transform is the sampling points in time, and its function is to convert the time-domain features into time-frequency features. After the Fourier time-frequency features are obtained, they will be converted into fbank and mfcc features according to the pronunciation rules of humans. This conversion is generated based on the non-linear response of the human ear's auditory perception. The frequency-domain coordinates are the number of frequency-domain points after the Fourier transform. By splicing the number of frequency-domain points obtained from the transformation of the speech signals of the previous and subsequent frames, a feature matrix composed of the frequency features (y) of the time series (x) can be obtained.
[0051] Step 102: Input the speech recognition features into the neural network model, and determine the probabilities of the N classification labels of the target keyword existing in the speech signal respectively through the neural network model, where N is a positive integer.
[0052] In this application, a target keyword can have multiple classification labels, and the number N of classification labels can be determined according to the division granularity of the classification labels. The N classification labels of the target keyword can be obtained by dividing the target keyword according to the granularity of phonemes, characters or words. That is to say, the division granularity of the classification labels can be phonemes, characters or words. For example, the keyword "Xiaoi Assistant" is a category, and this category can be subdivided into multiple classification labels according to Chinese characters. Each classification label is a classification target in the neural network model and also a subclass of the above category. The 4 characters "Xiao", "ai", "tong", and "xue" of "Xiaoi Assistant" are 4 classification labels.
[0053] Figure 2 Exemplarily shows the structure of the neural network model adopted in this application, as Figure 2 shown, this neural network model uses a convolutional neural network, with a combination of fully connected convolutional kernels in three layers, Figure 2 and each square box from left to right in it represents the input layer, 4 convolutional layers (Convolutional layer, CONV), 2 fully connected layers (full connection, FC), and output layer in the neural network model respectively. Optionally, between different convolutional layers, a BN operation can also be included, that is, the normalization of the mean and variance of the weights.
[0054] The number of units in the output layer is equal to the sum of the numbers of the classification labels of the target keyword. The classification activation function used in the output layer is the softmax function or the sigmid function. The neural network belongs to establishing the features required for classification feature extraction. The classification activation function is to perform non-linear mapping. The final classification activation function obtains the classification result, and the output structure of the neural network model directly enters the activation function to obtain the mapping.
[0055] The above neural network model can be trained using a multi-label training method until the neural network model converges. Among them, during the training process, cross-entropy loss or mean squared error loss can be used as the model training loss function. The output layer of this neural network model uses the softmax function or the sigmid function as the classification activation function.
[0056] Exemplarily, the training process of the neural network model may include: First, prepare the corpus and the corresponding labeled tags. The tags are the true results judged by manually listening to the content of the speech. Through the above feature extraction method, a frequency feature matrix of the time series is obtained, and the parameters of the neural network model are trained using the above corpus and the corresponding tags. Through multiple iterations, the trained weights can predict the most likely labeled tags on the labeled data. Thus, the trained weights can be used to predict those real speeches and obtain the probabilities of the possible existing tags.
[0057] It should be noted that the neural network model in this application has the characteristics of being lightweight. Therefore, it can be applied to general keyword speech recognition scenarios, and can also be applied to keyword recognition scenarios where the edge device is offline and cannot be recognized through the cloud or the computing power of the edge device is limited.
[0058] The parameters of this neural network model are about 100k. Under the condition of keeping the model structure unchanged, this method can achieve better recognition effects for keywords with high similarity. Intuitively understood, for scenarios with more keywords, each keyword needs to be classified. If the classification granularity is reduced, the number of final classification results can be less than the number of keywords, reducing the classification difficulty. For the similar parts of keywords, multi-labels can often better focus on the different and same parts of two keywords, which can make the model training have a faster convergence speed.
[0059] Step 103: Determine the probability that the N classification tags of the target keyword coexist in the speech signal according to the probabilities that the N classification tags of the target keyword exist in the speech signal respectively.
[0060] In this application, a set threshold can be set for each of the N classification labels of the target keyword. For a classification label, based on the probability of the existence of this classification label output by the neural network model and the corresponding set threshold, it is determined whether this classification label exists in the speech signal. If all of the N classification labels of the target keyword exist in the speech signal, the probability of the coexistence of the N classification labels in the speech signal is further calculated, that is, the joint probability of the simultaneous existence of the N classification labels. The joint probability refers to the probability that different frames of a speech signal will be predicted with different classification labels. That is to say, the final probability of different classification labels combining into words is composed of the combination of the probabilities of each classification label.
[0061] The probability of the coexistence of the N classification labels of the target keyword in the speech signal is associated with the probabilities of the speech recognition features corresponding to the N classification labels of the target keyword respectively. Specifically, the probability of the simultaneous existence of the N classification labels of the target keyword in the speech signal is equal to the product of the probabilities of the speech recognition features corresponding to the N classification labels of the target keyword respectively.
[0062] Step 104, if the probability of the coexistence of the N classification labels of the target keyword in the speech signal is greater than or equal to the set threshold, it is determined that the target keyword exists in the speech signal.
[0063] The set threshold refers to the threshold corresponding to the probability of the simultaneous existence of the N classification labels in the speech signal.
[0064] Optionally, based on the probability of the coexistence of the N classification labels in the speech signal, it can be determined whether the combination of the N classification labels can form a word, and then it can be determined whether this word is a keyword.
[0065] It can be seen that the traditional classification method directly uses the keyword as the classification target, and one keyword is one category. However, the multi-label classification in this application further divides each keyword (i.e., category) to obtain more fine-grained classification labels, that is, subclasses of the category. Each category is a combination of different subclasses. The prediction result of the neural network model will compare the prediction results of the subclasses of each keyword, and use the joint probability of the subclasses as the probability of keyword recognition. The division of subclasses can select phonemes, words, Chinese characters, etc.
[0066] In summary, the overall process of this application mainly includes two parts: training a neural network model and using the trained neural network model for keyword recognition. Among them, using the trained neural network model for keyword recognition can include: obtaining a piece of speech, calculating the speech features of this piece of speech, inputting the speech features of this piece of speech into the neural network model, outputting the probabilities corresponding to each classification label of this speech feature and the target keyword through the neural network model, and based on the probability of each classification label and the size of the set threshold, determining whether there is a corresponding classification label finally, and then determining whether there is a target keyword in this piece of speech according to the type and quantity of the classification labels.
[0067] The technical solution in this application can also have the following technical effects:
[0068] 1) Reduce the misrecognition rate of keyword recognition. The method in this application adopts a multi-object classification task. Therefore, the classification target is not directly related to the target keyword, but uses phonemes, characters, words, etc. as classification targets. More specifically, for keyword classification, it is simplified into different words (single phonemes or single English words or single Chinese characters), and each keyword is a combination of multiple labels. And the predicted single label has a similar pronunciation length, and it is judged whether the target keyword exists according to the probability of the simultaneous presence of multiple labels. This method can reduce the influence of the length difference between different keywords on the model recognition effect, and multiple classification targets simultaneously judge the probability of the existence of the target keyword, reducing the misrecognition rate of target keyword recognition.
[0069] 2) Have a high accuracy rate for the recognition of similar keywords. The method in this application has the effect of fine-grained classification. Since the pronunciation of a single word / phoneme / character / English letter is usually relatively fixed, the neural network model can easily learn the features between categories. If directly training a classification task for keywords with high similarity, the model is likely to focus on the information of the speech background, and the learned classification features are not the features of the keywords themselves, thus reducing the recognition accuracy rate.
[0070] Based on the same inventive concept, this application also provides a voice recognition device for keywords, and this device is used to implement the method in the above method embodiment.
[0071] As Figure 3 shown, this device 300 includes: a communication module 310 and a processing module 320.
[0072] The communication module 310 is used to obtain a voice signal of a certain duration;
[0073] A processing module 320 is configured to calculate speech recognition features of the speech signal; input the speech recognition features into a neural network model, and determine probabilities of N classification labels of a target keyword existing in the speech signal respectively through the neural network model, where N is a positive integer; determine a probability of the N classification labels of the target keyword existing in the speech signal jointly according to the probabilities of the N classification labels of the target keyword existing in the speech signal respectively; and if the probability of the N classification labels of the target keyword existing in the speech signal jointly is greater than or equal to a set threshold, determine that the target keyword exists in the speech signal.
[0074] In a possible design, the N classification labels of the target keyword are obtained by dividing the target keyword according to a granularity of phoneme, character or word.
[0075] In a possible design, the probability of the N classification labels of the target keyword existing in the speech signal jointly is associated with probabilities of the speech recognition features corresponding to the N classification labels of the target keyword respectively.
[0076] In a possible design, the processing module 320 is specifically configured to: frame the speech signal according to a set window length and step length; for each frame of the speech signal, determine time-frequency features of the frame of the speech signal by performing short-time Fourier transform on the frame of the speech signal; and determine filter bank-based features and Mel frequency cepstral coefficients according to the time-frequency features.
[0077] In a possible design, the window length is greater than or equal to the longest pronunciation length of the classification label of the target keyword, and the step length is less than or equal to half of the window length.
[0078] In a possible design, the processing module 320 is further configured to: train the neural network model by using a multi-label training method until the neural network model converges.
[0079] An embodiment of the present application further provides a chip, which is deployed with a neural network model and weights trained by multi-labels, and is configured to: when the chip receives a speech signal of a period of time, execute the speech recognition method of the keyword as described above.
[0080] Based on the same technical concept, an embodiment of the present application further provides a computing device, as Figure 4 shown, including at least one processor 401 and a memory 402 connected to the at least one processor. In the embodiment of the present application, the specific connection medium between the processor 401 and the memory 402 is not limited. Figure 4Take the example of the connection between the central processor 401 and the memory 402 through a bus. The bus can be divided into an address bus, a data bus, a control bus, etc.
[0081] In the embodiment of the present application, the memory 402 stores instructions executable by at least one processor 401. By executing the instructions stored in the memory 402, the at least one processor 401 can implement the steps of the above secret sharing method.
[0082] Among them, the processor 401 is the control center of the computer device. It can use various interfaces and lines to connect various parts of the computer device. By running or executing the instructions stored in the memory 402 and calling the data stored in the memory 402, resource settings can be performed. Optionally, the processor 401 may include one or more processing units. The processor 401 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above modem processor may not be integrated into the processor 401. In some embodiments, the processor 401 and the memory 402 can be implemented on the same chip. In some embodiments, they can also be separately implemented on independent chips.
[0083] The processor 401 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit (ASIC), a field programmable gate array, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as being executed by a hardware processor, or implemented by a combination of hardware and software modules in the processor.
[0084] The memory 402 serves as a non-volatile computer-readable storage medium and can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. The memory 402 may include at least one type of storage medium. For example, it may include flash memory, hard disks, multimedia cards, card-type memories, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic memories, magnetic disks, optical discs, and so on. The memory 402 is any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 402 in the embodiments of the present application may also be a circuit or any other device capable of implementing a storage function, for storing program instructions and / or data.
[0085] Based on the same technical concept, the embodiments of the present application also provide a computer-readable storage medium storing computer-readable instructions, which, when read and executed by a computer, cause the methods in the above method embodiments to be implemented.
[0086] Based on the same technical concept, the embodiments of the present application also provide a computer program product including computer-readable instructions, which, when executed by a processor, cause the methods in the above method embodiments to be implemented.
[0087] Those skilled in the art should understand that the embodiments of the present application may be provided as a method, a system, or a computer program product. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memories, CD-ROMs, optical memories, etc.) containing computer-usable program code.
[0088] This application is described with reference to the flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to the application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing device produce a means for implementing the functions specified in the Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.
[0089] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction means that implements the functions specified in the Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.
[0090] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in the Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.
[0091] Obviously, those skilled in the art can make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalent technologies, this application is also intended to include these changes and modifications.
Claims
1. A method for speech recognition of keywords, characterized in that, The method includes: Obtaining a voice signal of a certain duration and calculating the speech recognition features of the voice signal; Inputting the speech recognition features into a neural network model, and determining the probabilities of the presence of N classification labels of a target keyword in the voice signal respectively through the neural network model, where N is a positive integer; Determining the probability of the co-presence of the N classification labels of the target keyword in the voice signal according to the probabilities of the presence of the N classification labels of the target keyword in the voice signal respectively; If the probability of the co-presence of the N classification labels of the target keyword in the voice signal is greater than or equal to a set threshold, it is determined that the target keyword exists in the voice signal.
2. The method according to claim 1, characterized in that, The N classification labels of the target keyword are obtained by dividing the target keyword according to the granularity of phonemes, characters or words.
3. The method according to claim 1, wherein The probability of the co-presence of the N classification labels of the target keyword in the voice signal is associated with the probabilities of the speech recognition features corresponding to the N classification labels of the target keyword respectively.
4. The method according to claim 1, wherein The calculating the speech recognition features of the voice signal includes: Framing the voice signal according to a set window length and step length; For each frame of the voice signal, determining the time-frequency features of the frame of the voice signal by performing a short-time Fourier transform on the frame of the voice signal; Determining filter bank-based features and Mel frequency cepstral coefficients according to the time-frequency features.
5. The method according to claim 4, characterized in that, The window length is greater than or equal to the longest pronunciation length of the classification label of the target keyword, and the step length is less than or equal to half of the window length.
6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: Training the neural network model by using a multi-label training method until the neural network model converges.
7. A voice recognition device for keywords, characterized in that, The device includes: A communication module for obtaining a voice signal of a certain duration; A processing module for calculating the speech recognition features of the voice signal; inputting the speech recognition features into a neural network model, and determining the probabilities of the presence of N classification labels of a target keyword in the voice signal respectively through the neural network model, where N is a positive integer; determining the probability of the co-presence of the N classification labels of the target keyword in the voice signal according to the probabilities of the presence of the N classification labels of the target keyword in the voice signal respectively; if the probability of the co-presence of the N classification labels of the target keyword in the voice signal is greater than a set threshold, it is determined that the target keyword exists in the voice signal.
8. A chip, characterized in that, It is deployed with a neural network model and weights trained with multiple labels, and is configured to: When the chip receives a voice signal of a certain duration, execute the speech recognition method of the keyword according to any one of claims 1 to 6.
9. A computing device, characterized in that, Including: A memory for storing program instructions; A processor for calling the program instructions stored in the memory and executing the method according to any one of claims 1 to 6 according to the obtained program instructions.
10. A computer-readable storage medium, characterized in that, Including computer-readable instructions, when a computer reads and executes the computer-readable instructions, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Enterprise relevant webpage theme measuring method and system
CN107357801A
Voice recognition method and system based on triggered non-autoregressive model
CN112037798A
Training method of voice wake-up model, wake-up word detection method and related equipment
CN113963688A