Wake-up word recognition method, device, terminal and storage medium

By calculating the edge and path difference between the decoded path and the wake-up path, using the weight values of the target edge and the target wake-up edge, the problem of high number of false wake-up times in the prior art is solved, and higher accuracy of wake-up word recognition is achieved.

CN114299935BActive Publication Date: 2025-08-08SOUNDAI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111590038.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-23
Publication Date
2025-08-08
Estimated Expiration
2041-12-23

AI Technical Summary

Technical Problem

In the prior art, the number of false wake-ups is high when recognizing wake-up words, and the accuracy is insufficient. It is mainly because it only relies on the score difference between the decoding path and the wake-up path, and the path difference is not considered.

Method used

By calculating the edge difference and path difference between the target decoding path and the wake-up path, the weight values of the target edge and the target wake-up edge are used to determine whether the voice information contains a wake-up word.

Benefits of technology

It improves the accuracy of wake-up word recognition, reduces the number of false wake-up times, and enhances the reliability of wake-up word recognition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114299935B_ABST
    Figure CN114299935B_ABST
Patent Text Reader

Abstract

The present disclosure provides a wake-up word recognition method, device, terminal and storage medium, which belongs to the field of artificial intelligence. The present disclosure calculates the edge difference between each target edge and the corresponding target wake-up edge according to the weight value of the target edge on the target decoding path and the corresponding target wake-up edge on the wake-up path, and then calculates the path difference between the target decoding path and the wake-up path, so that when the path difference between the two paths meets the threshold condition, it is determined that the voice information to be recognized contains the wake-up word. This method does not directly use the difference between the highest decoding score corresponding to the target decoding path and the wake-up score corresponding to the wake-up path as the basis for judging whether the voice information to be recognized contains the wake-up word, but considers the difference of each step in the decoding process, accumulates the difference of the two paths by calculating the difference of each step, and then uses the path difference as the basis for wake-up word recognition, thereby improving the accuracy of the wake-up word recognition result and reducing the number of false wake-ups.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of artificial intelligence technology, and in particular to a wake-up word recognition method, device, terminal, and storage medium. Background Art

[0002] With the development of artificial intelligence and speech recognition technologies, voice-based human-computer interaction has become widely used in our daily lives, for example, in car navigation, smart homes, voice dialing, simultaneous interpretation, and other scenarios. When the wake-up system of an intelligent voice device recognizes the wake-up word in the user's voice message, it wakes up the intelligent voice device and puts it into normal operation.

[0003] At present, the relevant technology mainly adopts the following method when identifying wake-up words: obtaining the decoding path and its decoding score corresponding to the voice information to be detected; obtaining the wake-up score of the wake-up path corresponding to the wake-up word; when the difference between the decoding score corresponding to the decoding path and the wake-up score is less than the preset threshold, it is determined that the voice information to be detected contains the wake-up word.

[0004] However, related technologies only determine whether a voice message contains a wake-up word based on the difference between the wake-up scores corresponding to the wake-up word. If the decoding path of the voice message to be detected differs significantly from the wake-up path, but the difference between the decoding score corresponding to the decoding path and the wake-up score is less than a preset threshold, the detected voice message is mistakenly considered to contain the wake-up word, resulting in a false wake-up. To improve the accuracy of the wake-up word recognition results and reduce the number of false wake-ups, a new wake-up word recognition method is urgently needed. Summary of the Invention

[0005] The embodiments of the present disclosure provide a wake-up word recognition method, device, terminal, and storage medium, which can improve the accuracy of wake-up word recognition results and reduce the number of false wake-ups. The technical solution is as follows:

[0006] In a first aspect, a wake-up word recognition method is provided, the method comprising:

[0007] Obtaining at least one decoding path of the speech information to be recognized and a decoding score corresponding to each decoding path;

[0008] Obtaining, from the at least one decoding path, a target decoding path with a highest decoding score according to the decoding scores corresponding to the at least one decoding path;

[0009] Obtain at least one target edge from the target decoding path, wherein the at least one target edge includes all edges in the target decoding path or edges in the target decoding path having a specified decoding order;

[0010] Calculate the edge difference between each target edge and the corresponding target wake-up edge based on the weight value on each target edge and the weight value on the corresponding target wake-up edge, where the target wake-up edge is the wake-up edge in the wake-up path of the wake-up word that has the same decoding order as the target edge;

[0011] Calculating a path difference between the target decoding path and the wake-up path based on an edge difference between each target edge and a corresponding target wake-up edge;

[0012] When the path difference satisfies a threshold condition, it is determined that the voice information to be recognized contains the wake-up word.

[0013] In another embodiment of the present disclosure, obtaining at least one decoding path of the speech information to be recognized and a decoding score corresponding to each decoding path includes:

[0014] Decoding the speech information to be recognized based on the decoding network corresponding to the wake-up word recognition model to obtain at least one token, which is used to record the state at each moment in the decoding process and the weight value of each edge experienced;

[0015] Based on the at least one token, the at least one decoding path and a decoding score corresponding to each decoding path are generated.

[0016] In another embodiment of the present disclosure, calculating the edge difference between each target edge and the corresponding target wake-up edge according to the weight value on each target edge and the weight value on the corresponding target wake-up edge includes:

[0017] The difference between the weight value on each target edge and the weight value on the corresponding target wake-up edge is calculated to obtain the edge difference between each target edge and the corresponding target wake-up edge.

[0018] In another embodiment of the present disclosure, calculating the edge difference between each target edge and the corresponding target wake-up edge according to the weight value on each target edge and the weight value on the corresponding target wake-up edge includes:

[0019] Calculating an average weight value according to a weight value of at least one wake-up edge in the wake-up path;

[0020] The difference between the weight value on each target edge and the average weight value is calculated to obtain the edge difference between each target edge and the corresponding target wake-up edge.

[0021] In another embodiment of the present disclosure, calculating the average weight value according to the weight value of at least one wake-up edge in the wake-up path includes:

[0022] Calculating an average of the weight values of all wake-up edges in the wake-up path to obtain the average weight value; or,

[0023] An average of weight values of wake-up edges with a specified decoding order in the wake-up path is calculated to obtain the average weight value.

[0024] In another embodiment of the present disclosure, the calculating the path difference between the target decoding path and the wake-up path based on the edge difference between each target edge and the corresponding target wake-up edge includes:

[0025] Performing a root mean square calculation based on the edge difference between each target edge and the corresponding target wake-up edge to obtain a root mean square calculation result;

[0026] The root mean square calculation result is determined as the path difference between the target decoding path and the wake-up path.

[0027] In a second aspect, a wake-up word recognition device is provided, the device comprising:

[0028] An acquisition module, configured to acquire at least one decoding path of the speech information to be recognized and a decoding score corresponding to each decoding path;

[0029] The acquisition module is further configured to acquire, from the at least one decoding path, a target decoding path with the highest decoding score based on the decoding score corresponding to the at least one decoding path;

[0030] The acquisition module is further configured to acquire at least one target edge from the target decoding path, wherein the at least one target edge includes all edges in the target decoding path or edges in the target decoding path having a specified decoding order;

[0031] a calculation module, configured to calculate an edge difference between each target edge and the corresponding target wake-up edge based on a weight value on each target edge and a weight value on a corresponding target wake-up edge, wherein the target wake-up edge is a wake-up edge in the wake-up path of the wake-up word that has the same decoding order as the target edge;

[0032] The calculation module is configured to calculate a path difference between the target decoding path and the wake-up path based on an edge difference between each target edge and a corresponding target wake-up edge;

[0033] The determination module is configured to determine that the voice information to be recognized contains the wake-up word when the path difference satisfies a threshold condition.

[0034] In another embodiment of the present disclosure, the acquisition module is configured to decode the speech information to be recognized based on a decoding network corresponding to the wake-up word recognition model to obtain at least one token, wherein the token is used to record the state at each moment in the decoding process and the weight value of each edge experienced;

[0035] Based on the at least one token, the at least one decoding path and a decoding score corresponding to each decoding path are generated.

[0036] In another embodiment of the present disclosure, the calculation module is configured to calculate the difference between the weight value on each target edge and the weight value on the corresponding target wake-up edge to obtain the edge difference between each target edge and the corresponding target wake-up edge.

[0037] In another embodiment of the present disclosure, the calculation module is used to calculate an average weight value based on the weight value of at least one wake-up edge in the wake-up path; calculate the difference between the weight value on each target edge and the average weight value to obtain the edge difference between each target edge and the corresponding target wake-up edge.

[0038] In another embodiment of the present disclosure, the calculation module is configured to calculate an average of weight values of all wake-up edges in the wake-up path to obtain the average weight value; or

[0039] The calculation module is configured to calculate an average of weight values on the wake-up edges with a specified decoding order in the wake-up path to obtain the average weight value.

[0040] In another embodiment of the present disclosure, the calculation module is used to perform a root mean square calculation based on the edge difference between each target edge and the corresponding target wake-up edge to obtain a root mean square calculation result; and determine the root mean square calculation result as the path difference between the target decoding path and the wake-up path.

[0041] In a third aspect, a terminal is provided, comprising a processor and a memory, wherein the memory stores at least one program code, and the at least one program code is loaded and executed by the processor to implement the wake-up word recognition method as described in the first aspect.

[0042] In a fourth aspect, a computer-readable storage medium is provided, in which at least one program code is stored. The at least one program code is loaded and executed by a processor to implement the wake-up word recognition method described in the first aspect.

[0043] In a fifth aspect, a computer program product is provided, which includes a computer program code, and the computer program code is stored in a computer-readable storage medium. The processor of the terminal reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the terminal performs the wake-up word recognition method as described in the first aspect.

[0044] The technical solutions provided by the embodiments of the present disclosure have the following beneficial effects:

[0045] Based on the weights of the target edge on the target decoding path and the corresponding target wake-up edge on the wake-up path, the edge difference between each target edge and the corresponding target wake-up edge is calculated. Furthermore, the path difference between the target decoding path and the wake-up path is calculated. When the path difference between the two paths meets the threshold, it is determined that the speech information to be recognized contains the wake-up word. This method does not directly use the difference between the highest decoding score corresponding to the target decoding path and the wake-up score corresponding to the wake-up path as the basis for determining whether the speech information to be recognized contains the wake-up word. Instead, it considers the differences in each step of the decoding process, calculating the differences in each step and accumulating them into the differences between the two paths. This path difference is then used as the basis for wake-up word recognition, improving the accuracy of wake-up word recognition results and reducing the number of false awakenings. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0047] Figure 1 This is a flowchart of a wake-up word recognition method provided by an embodiment of the present disclosure;

[0048] Figure 2 is a flowchart of another wake-up word recognition method provided by an embodiment of the present disclosure;

[0049] Figure 3 is a schematic diagram of the structure of a device for wake-up word recognition provided by an embodiment of the present disclosure;

[0050] Figure 4 A structural block diagram of a terminal provided by an exemplary embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0051] In order to make the objectives, technical solutions and advantages of the present disclosure more clear, the embodiments of the present disclosure will be further described in detail below with reference to the accompanying drawings.

[0052] It should be understood that the terms "each," "plurality," and "any" used in the embodiments of the present disclosure include two or more, each refers to each of the corresponding plurality, and any refers to any one of the corresponding plurality. For example, if a plurality of words includes 10 words, each refers to each of the 10 words, and any refers to any one of the 10 words.

[0053] The present disclosure provides a method for identifying a wake-up word. Figure 1, the method process provided by the embodiment of the present disclosure includes:

[0054] 101. Obtain at least one decoding path of the speech information to be recognized and a decoding score corresponding to each decoding path.

[0055] 102. According to the decoding score corresponding to the at least one decoding path, obtain a target decoding path with the highest decoding score from the at least one decoding path.

[0056] 103. Obtain at least one target edge from the target decoding path.

[0057] The at least one target edge includes all edges in the target decoding path or edges in the target decoding path with a specified decoding order.

[0058] 104. Calculate the edge difference between each target edge and the corresponding target wake-up edge based on the weight value of each target edge and the weight value of the corresponding target wake-up edge.

[0059] The target awakening edge is the awakening edge in the awakening path of the awakening word that has the same decoding order as the target edge.

[0060] 105. Based on the edge difference between each target edge and the corresponding target wake-up edge, calculate the path difference between the target decoding path and the wake-up path.

[0061] 106. When the path difference satisfies the threshold condition, it is determined that the voice information to be recognized contains the wake-up word.

[0062] The method provided by the embodiment of the present disclosure calculates the edge difference between each target edge and the corresponding target wake-up edge based on the weight values of the target edge on the target decoding path and the corresponding target wake-up edge on the wake-up path, and then calculates the path difference between the target decoding path and the wake-up path, so as to determine that the voice information to be recognized contains the wake-up word when the path difference between the two paths meets the threshold condition. This method does not directly use the difference between the highest decoding score corresponding to the target decoding path and the wake-up score corresponding to the wake-up path as the basis for judging whether the voice information to be recognized contains the wake-up word, but considers the difference of each step in the decoding process, calculates the difference of each step and accumulates it to the difference of the two paths, and then uses the path difference as the basis for wake-up word recognition, thereby improving the accuracy of the wake-up word recognition result and reducing the number of false awakenings.

[0063] In another embodiment of the present disclosure, obtaining at least one decoding path of the speech information to be recognized and a decoding score corresponding to each decoding path includes:

[0064] Based on the decoding network corresponding to the wake-up word recognition model, the speech information to be recognized is decoded to obtain at least one token. The token is used to record the state at each moment in the decoding process and the weight value of each edge experienced;

[0065] At least one decoding path and a decoding score corresponding to each decoding path are generated based on the at least one token.

[0066] In another embodiment of the present disclosure, calculating the edge difference between each target edge and the corresponding target wake-up edge according to the weight value on each target edge and the weight value on the corresponding target wake-up edge includes:

[0067] The difference between the weight value on each target edge and the weight value on the corresponding target wake-up edge is calculated to obtain the edge difference between each target edge and the corresponding target wake-up edge.

[0068] In another embodiment of the present disclosure, calculating the edge difference between each target edge and the corresponding target wake-up edge according to the weight value on each target edge and the weight value on the corresponding target wake-up edge includes:

[0069] Calculate the average weight value based on the weight value of at least one wake-up edge in the wake-up path;

[0070] The difference between the weight value of each target edge and the average weight value is calculated to obtain the edge difference between each target edge and the corresponding target wake-up edge.

[0071] In another embodiment of the present disclosure, calculating an average weight value according to a weight value of at least one wake-up edge in the wake-up path includes:

[0072] Calculate the average weight value of all wake-up edges in the wake-up path to obtain the average weight value; or,

[0073] The average weight value of the wake-up edges with the specified decoding order in the wake-up path is calculated to obtain the average weight value.

[0074] In another embodiment of the present disclosure, calculating a path difference between a target decoding path and a wake-up path based on an edge difference between each target edge and a corresponding target wake-up edge includes:

[0075] Performing a root mean square calculation based on the edge difference between each target edge and the corresponding target wake-up edge to obtain a root mean square calculation result;

[0076] The root mean square calculation result is determined as the path difference between the target decoding path and the awakening path.

[0077] All the above optional technical solutions can be arbitrarily combined to form optional embodiments of the present disclosure, and will not be described in detail here.

[0078] The embodiment of the present disclosure provides a wake-up word recognition method. Taking a terminal executing the embodiment of the present disclosure as an example, the terminal can be a smart phone, a smart elevator, a smart air conditioner, a smart speaker, etc. The embodiment of the present disclosure does not specifically limit the type of terminal. Figure 2 , the method process provided by the embodiment of the present disclosure includes:

[0079] 201. The terminal obtains at least one decoding path of the voice information to be recognized and a decoding score corresponding to each decoding path.

[0080] When the voice information to be recognized is collected by an audio collection device such as a microphone, the terminal recognizes the voice information to be recognized and obtains at least one decoding path for the voice information to be recognized and a decoding score corresponding to each decoding path. When obtaining at least one decoding path for the voice information to be recognized and a decoding score corresponding to each decoding path, the terminal may use the following method:

[0081] 2011. The terminal decodes the speech information to be recognized based on the decoding network corresponding to the wake-up word recognition model to obtain at least one token.

[0082] The wake-up word recognition model is used to identify the wake-up word from speech information. In the field of speech technology, the wake-up word recognition model corresponds to a decoding network, which can be a weighted finite-state machine (WSFT). This WSFT is used for large-scale speech recognition, and its state changes are marked by input and output symbols. WSFT integrates various knowledge sources, including at least one of a language model, an acoustic model, a context-dependent model, and a pronunciation dictionary model, and can be composed of different types of decoding networks. For example, there is a single-factor decoding network consisting of L and G, denoted as LG; a C-level decoding network consisting of C, L, and G, denoted as CLG; and an HCLG network represented by a hidden Markov model. G represents the language model, whose input and output are of the same type. The language model represents language structure (including the regularities between words and sentences, such as grammar and common word collocations). Its probability represents the probability of a sequence of language units appearing in a speech signal. L represents the pronunciation dictionary, whose input is monophones and whose output is words. The pronunciation dictionary contains a set of words and their pronunciations. C stands for context-dependent, where the input is triphone and the output is monophone. Context-dependent is used to represent the correspondence between triphones and phonemes. H stands for acoustic model, which is a differentiated representation of acoustic, linguistic, environmental variables, speaker gender, accent, etc. Acoustic models include but are not limited to at least one of GMM (Gauss of mixture models) - HMM (Hidden Markov Model), DNN (Deep Neural Networks), CNN (Convolutional Neural Network), LSTM (Long Short-Term Memory), etc.

[0083] In the embodiment of the present disclosure, based on the decoding network corresponding to the wake-up word recognition model, when the voice information to be recognized is input into the decoding network, the terminal can use a search algorithm to search for a decoding path in the decoding network. In the process of searching for a decoding path in the decoding network, in order to facilitate the management of the decoding process of the voice information to be recognized, the terminal can use a token (i.e., a token) to record the weight value and information of a certain state at a certain moment in the decoding process. Starting from the initial state of the WSFT, the token is transferred along the edge with a direction. In the process of state transfer from the initial state to the terminal state, the token records the state at each moment in the decoding process and the weight value of each edge experienced.

[0084] 2012. The terminal generates at least one decoding path and a decoding score corresponding to each decoding path based on at least one token.

[0085] After decoding the speech information to be recognized, the terminal connects each state node from the starting state node to the ending state node in search time order based on the states recorded in each token, obtaining at least one edge, and then forming at least one edge into a decoding path. Each edge has a specific decoding order, which is determined by the decoding time order during the decoding process. The decoding time order is consistent with the order of edges traversed by the directed decoding path from the starting state node to the ending state node. That is, in the directed decoding path from the starting state node to the ending state node, the first edge is decoded first, and the decoding order of the first edge is the first, and the last edge is decoded last, and the decoding order of the last edge is the last. The terminal obtains the weight value of each edge in each decoding path and then obtains the decoding score corresponding to each decoding path by summing or multiplying the weight values of all edges in each decoding path.

[0086] 202. The terminal obtains a target decoding path with the highest decoding score from the at least one decoding path according to the decoding score corresponding to the at least one decoding path.

[0087] Based on the decoding scores corresponding to the at least one decoding path, the terminal obtains the decoding path with the highest decoding score from the at least one decoding path, and then uses the decoding path with the highest decoding score as the target decoding path.

[0088] 203. The terminal selects at least one target edge from the target decoding path.

[0089] The target edge is an edge in the target decoding path used to calculate the path difference between the target decoding path and the wake-up path. The at least one target edge may include all edges in the target decoding path. The at least one target edge may also be an edge with a specified decoding order in the target decoding path. The edge with the specified decoding order is actually an edge that is prone to errors during the decoding process. When the difference between these edges that are prone to decoding errors and the corresponding target wake-up edges in the wake-up path is small, it can be considered that the path difference between the target decoding path and the wake-up path is small, and then it is determined that the voice information to be recognized contains the wake-up word. The edge with a specified decoding order is usually the first preset number of edges in the directional target decoding path from the initial state to the terminal state, or it can be the second preset number of edges in the target decoding path. The first preset number can be 2, 3, etc., and the second preset number can be 3, 5, etc. The embodiment of the present disclosure does not make specific limitations on the first preset number and the second preset number.

[0090] 204. The terminal obtains at least one target wake-up edge according to the at least one target edge.

[0091] Based on at least one target edge selected from the target decoding path and the decoding order of at least one target edge of the terminal in the target decoding path, a wake-up edge having the same decoding order as the target edge is selected from the wake-up path to obtain at least one target wake-up edge. For example, if the at least one target edge includes all edges in the target decoding path, then the at least one target wake-up edge also includes all wake-up edges on the wake-up path. For another example, if the at least one target edge includes the first three edges on the target decoding path, then the at least one target wake-up edge also includes the first three edges on the wake-up path.

[0092] 205. The terminal calculates the edge difference between each target edge and the corresponding target wake-up edge according to the weight value on each target edge and the weight value on the corresponding target wake-up edge.

[0093] The edge difference is used to represent the degree of difference between two edges. The terminal calculates the edge difference between each target edge and the corresponding target wake-up edge based on the weight value of each target edge and the weight value of the corresponding target wake-up edge. The following methods can be used:

[0094] In one possible implementation, the terminal calculates the difference between the weight value of each target edge and the weight value of the corresponding target wake-up edge to obtain the edge difference between each target edge and the corresponding target wake-up edge. For example, if the target edge is the first edge on the target decoding path, the target wake-up edge is the first wake-up edge on the wake-up path, the weight value of the target edge is 0.4, and the weight value of the target wake-up edge is 0.5, then the edge difference between the target edge and the corresponding target wake-up edge is 0.4-0.5=-0.1.

[0095] In another possible implementation, the terminal calculates an average weight value based on the weight value of at least one wake-up edge in the wake-up path, and then calculates the difference between the weight value of each target edge and the average weight value to obtain the edge difference between each target edge and the corresponding target wake-up edge. Because at least one target edge includes all edges in the target decoding path or edges with a specified decoding order in the target decoding path, and accordingly, at least one target wake-up edge includes all wake-up edges in the wake-up path or wake-up edges with a specified decoding order in the wake-up path, the terminal calculates the average weight value in accordance with the difference between the target edge and the target wake-up edge, including but not limited to the following two cases:

[0096] In the first case, when at least one target edge includes all edges in the target decoding path, the terminal calculates an average of weight values on all wake-up edges in the wake-up path to obtain an average weight value.

[0097] In the second case, when at least one target edge includes an edge with a specified decoding order in the target decoding path, the terminal calculates an average of the weight values of the wake-up edges with the specified decoding order in the wake-up path to obtain an average weight value.

[0098] 206. The terminal calculates a path difference between the target decoding path and the wake-up path based on the edge difference between each target edge and the corresponding target wake-up edge.

[0099] The terminal performs an RMS calculation on the edge difference between each target edge and the corresponding target wake-up edge, obtaining an RMS calculation result, and then determines the RMS calculation result as the path difference between the target decoding path and the wake-up path. For the edge difference between each target edge and the corresponding target wake-up edge calculated using the two methods above, the RMS calculation process can be expressed using the following two formulas:

[0100] Formula 1:

[0101]

[0102] Among them, maxk represents the weight value of the k-th target edge in the target decoding path, roadk represents the weight value of the k-th target wake-up edge in the wake-up path, and n represents the number of target edges included in the target decoding path, which is also the number of target wake-up edges included in the wake-up path.

[0103] Formula 2:

[0104]

[0105] Among them, x k represents the weight value of the kth target edge in the target decoding path, represents the average weight value, and n represents the number of target edges included in the target decoding path, which is also the number of target wakeup edges included in the wakeup path.

[0106] 207. When the path difference satisfies the threshold condition, the terminal determines that the voice information to be recognized contains the wake-up word.

[0107] The threshold condition can be less than a preset threshold, for example. Specifically, when the path difference between the target decoding path and the wake-up path is less than a preset threshold, the terminal can determine that the voice information to be recognized contains a wake-up word. In response to the presence of the wake-up word in the voice information to be recognized, the wake-up system wakes up other systems in the terminal, and the terminal is now in normal operation. In normal operation, when a command word is recognized in the collected voice information, the terminal performs a corresponding operation based on the command word.

[0108] The method provided by the embodiment of the present disclosure calculates the edge difference between each target edge and the corresponding target wake-up edge based on the weight values of the target edge on the target decoding path and the corresponding target wake-up edge on the wake-up path, and then calculates the path difference between the target decoding path and the wake-up path, so as to determine that the voice information to be recognized contains the wake-up word when the path difference between the two paths meets the threshold condition. This method does not directly use the difference between the highest decoding score corresponding to the target decoding path and the wake-up score corresponding to the wake-up path as the basis for judging whether the voice information to be recognized contains the wake-up word, but considers the difference of each step in the decoding process, calculates the difference of each step and accumulates it to the difference of the two paths, and then uses the path difference as the basis for wake-up word recognition, thereby improving the accuracy of the wake-up word recognition result and reducing the number of false awakenings.

[0109] See also Figure 3 , an embodiment of the present disclosure provides a wake-up word recognition device, the device comprising:

[0110] An acquisition module 301 is configured to acquire at least one decoding path of the speech information to be recognized and a decoding score corresponding to each decoding path;

[0111] The acquisition module 301 is further configured to acquire a target decoding path with the highest decoding score from the at least one decoding path according to the decoding scores corresponding to the at least one decoding path;

[0112] The acquisition module 301 is further configured to acquire at least one target edge from the target decoding path, where the at least one target edge includes all edges in the target decoding path or edges in the target decoding path having a specified decoding order;

[0113] A calculation module 302 is configured to calculate the edge difference between each target edge and the corresponding target wake-up edge based on the weight value of each target edge and the weight value of the corresponding target wake-up edge, where the target wake-up edge is the wake-up edge in the wake-up path of the wake-up word that has the same decoding order as the target edge;

[0114] A calculation module 302 is configured to calculate a path difference between a target decoding path and a wake-up path based on an edge difference between each target edge and a corresponding target wake-up edge;

[0115] The determination module 303 is configured to determine that the voice information to be recognized contains a wake-up word when the path difference satisfies a threshold condition.

[0116] In another embodiment of the present disclosure, an acquisition module 301 is used to decode the voice information to be recognized based on a decoding network corresponding to the wake-up word recognition model to obtain at least one token, which is used to record the state at each moment in the decoding process and the weight value of each edge experienced; based on the at least one token, at least one decoding path and a decoding score corresponding to each decoding path are generated.

[0117] In another embodiment of the present disclosure, the calculation module 302 is configured to calculate the difference between the weight value on each target edge and the weight value on the corresponding target wake-up edge to obtain the edge difference between each target edge and the corresponding target wake-up edge.

[0118] In another embodiment of the present disclosure, the calculation module 302 is used to calculate an average weight value based on the weight value of at least one wake-up edge in the wake-up path; calculate the difference between the weight value on each target edge and the average weight value to obtain the edge difference between each target edge and the corresponding target wake-up edge.

[0119] In another embodiment of the present disclosure, the calculation module 302 is configured to calculate the average weight value of all wake-up edges in the wake-up path to obtain an average weight value; or

[0120] The calculation module 302 is configured to calculate an average of the weight values of the wake-up edges with a specified decoding order in the wake-up path to obtain an average weight value.

[0121] In another embodiment of the present disclosure, the calculation module 302 is used to perform a root mean square calculation based on the edge difference between each target edge and the corresponding target wake-up edge to obtain a root mean square calculation result; and determine the root mean square calculation result as the path difference between the target decoding path and the wake-up path.

[0122] In summary, the device provided by the embodiment of the present disclosure calculates the edge difference between each target edge and the corresponding target wake-up edge based on the weight values of the target edge on the target decoding path and the corresponding target wake-up edge on the wake-up path, and then calculates the path difference between the target decoding path and the wake-up path, so that when the path difference between the two paths meets the threshold condition, it is determined that the voice information to be recognized contains the wake-up word. This method does not directly use the difference between the highest decoding score corresponding to the target decoding path and the wake-up score corresponding to the wake-up path as the basis for judging whether the voice information to be recognized contains the wake-up word, but considers the difference of each step in the decoding process, calculates the difference of each step and accumulates it to the difference of the two paths, and then uses the path difference as the basis for wake-up word recognition, thereby improving the accuracy of the wake-up word recognition result and reducing the number of false awakenings.

[0123] Figure 4The following is a block diagram of a terminal 400 according to an exemplary embodiment of the present disclosure. Terminal 400 may be a smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), MP4 player (Moving Picture Experts Group Audio Layer IV), laptop computer, or desktop computer. Terminal 400 may also be referred to as user equipment, portable terminal, laptop terminal, desktop terminal, or other similar names.

[0124] Typically, the terminal 400 includes a processor 401 and a memory 402 .

[0125] The processor 401 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 401 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), or PLA (Programmable Logic Array). The processor 401 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 401 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 401 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.

[0126] The memory 402 may include one or more computer-readable storage media, which may be non-transitory. The memory 402 may also include a high-speed random access memory and a non-volatile memory, such as one or more disk storage devices and flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 402 is used to store at least one instruction, which is executed by the processor 401 to implement a wake-up word recognition method provided in the method embodiment of the present application.

[0127] In some embodiments, terminal 400 may optionally include a peripheral device interface 403 and at least one peripheral device. Processor 401, memory 402, and peripheral device interface 403 may be connected via a bus or signal lines. Each peripheral device may be connected to peripheral device interface 403 via a bus, signal lines, or circuit boards. Specifically, the peripheral device may include at least one of a radio frequency circuit 404, a display screen 405, a camera assembly 406, an audio circuit 407, a positioning assembly 408, and a power supply 409.

[0128] The peripheral device interface 403 can be used to connect at least one I / O (Input / Output)-related peripheral device to the processor 401 and the memory 402. In some embodiments, the processor 401, the memory 402, and the peripheral device interface 403 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 401, the memory 402, and the peripheral device interface 403 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.

[0129] The radio frequency circuit 404 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 404 communicates with communication networks and other communication devices via electromagnetic signals. The radio frequency circuit 404 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals into electrical signals. Optionally, the radio frequency circuit 404 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The radio frequency circuit 404 can communicate with other terminals via at least one wireless communication protocol. Such wireless communication protocols include, but are not limited to, metropolitan area networks, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the radio frequency circuit 404 may also include circuits related to NFC (Near Field Communication), which is not limited in this application.

[0130] Display screen 405 is used to display a user interface (UI). This UI may include graphics, text, icons, videos, or any combination thereof. When display screen 405 is a touchscreen display, it is also capable of collecting touch signals on or above the surface of display screen 405. These touch signals can be input as control signals to processor 401 for processing. In this case, display screen 405 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there can be a single display screen 405, located on the front panel of terminal 400. In other embodiments, there can be at least two display screens 405, located on different surfaces of terminal 400 or in a foldable design. In still other embodiments, display screen 405 can be a flexible display screen, located on a curved or foldable surface of terminal 400. Furthermore, display screen 405 can be configured as a non-rectangular, irregular shape, i.e., a special-shaped screen. Display screen 405 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).

[0131] The camera assembly 406 is used to capture images or videos. Optionally, the camera assembly 406 includes a front camera and a rear camera. Typically, the front camera is arranged on the front panel of the terminal, and the rear camera is arranged on the back of the terminal. In some embodiments, there are at least two rear cameras, which are any one of a main camera, a depth of field camera, a wide-angle camera, and a telephoto camera, so as to realize the fusion of the main camera and the depth of field camera to realize the background blur function, the fusion of the main camera and the wide-angle camera to realize panoramic shooting and VR (Virtual Reality) shooting function or other fusion shooting functions. In some embodiments, the camera assembly 406 may also include a flash. The flash can be a monochrome temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cold light flash, which can be used for light compensation at different color temperatures.

[0132] The audio circuit 407 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals that are input into the processor 401 for processing, or input into the radio frequency circuit 404 to achieve voice communication. For the purpose of stereo sound collection or noise reduction, there may be multiple microphones, each disposed at different locations on the terminal 400. The microphone may also be an array microphone or an omnidirectional collection microphone. The speaker is used to convert electrical signals from the processor 401 or the radio frequency circuit 404 into sound waves. The speaker may be a traditional thin film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert electrical signals into sound waves audible to humans, but also convert electrical signals into sound waves inaudible to humans for purposes such as distance measurement. In some embodiments, the audio circuit 407 may also include a headphone jack.

[0133] Positioning component 408 is used to locate the current geographic location of terminal 400 to implement navigation or LBS (Location Based Service). Positioning component 408 can be a positioning component based on the US GPS (Global Positioning System), China's Beidou system, Russia's Greninja system, or the European Union's Galileo system.

[0134] Power supply 409 is used to power various components in terminal 400. Power supply 409 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 409 includes a rechargeable battery, the rechargeable battery can support wired charging or wireless charging. The rechargeable battery can also be used to support fast charging technology.

[0135] In some embodiments, the terminal 400 further includes one or more sensors 410 , including but not limited to: an acceleration sensor 411 , a gyroscope sensor 412 , a pressure sensor 413 , a fingerprint sensor 414 , an optical sensor 415 , and a proximity sensor 416 .

[0136] Accelerometer 411 can detect the magnitude of acceleration along the three coordinate axes of the coordinate system established by terminal 400. For example, accelerometer 411 can be used to detect the components of gravity acceleration along the three coordinate axes. Processor 401 can control display screen 405 to display the user interface in either a landscape or portrait view based on the gravity acceleration signal collected by accelerometer 411. Accelerometer 411 can also be used to collect game or user motion data.

[0137] The gyroscope sensor 412 can detect the orientation and rotation angle of the terminal 400. It can also work with the accelerometer 411 to collect the user's 3D movements of the terminal 400. Based on the data collected by the gyroscope sensor 412, the processor 401 can implement the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.

[0138] The pressure sensor 413 can be provided on the side frame of the terminal 400 and / or below the display screen 405. When the pressure sensor 413 is provided on the side frame of the terminal 400, it can detect the user's gripping signal of the terminal 400, and the processor 401 can perform left-hand or right-hand recognition or shortcut operations based on the gripping signal collected by the pressure sensor 413. When the pressure sensor 413 is provided below the display screen 405, the processor 401 controls the operable controls on the UI interface based on the user's pressure operation on the display screen 405. Operable controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.

[0139] The fingerprint sensor 414 is used to collect the user's fingerprint. The processor 401 identifies the user's identity based on the fingerprint collected by the fingerprint sensor 414, or the fingerprint sensor 414 identifies the user's identity based on the collected fingerprint. When the user's identity is recognized as a trusted identity, the processor 401 authorizes the user to perform relevant sensitive operations, such as unlocking the screen, viewing encrypted information, downloading software, making payments, and changing settings. The fingerprint sensor 414 can be set on the front, back, or side of the terminal 400. When a physical button or manufacturer logo is provided on the terminal 400, the fingerprint sensor 414 can be integrated with the physical button or manufacturer logo.

[0140] Optical sensor 415 is used to detect ambient light intensity. In one embodiment, processor 401 can control the display brightness of display screen 405 based on the ambient light intensity detected by optical sensor 415. Specifically, when the ambient light intensity is high, the display brightness of display screen 405 is increased; when the ambient light intensity is low, the display brightness of display screen 405 is decreased. In another embodiment, processor 401 can also dynamically adjust the shooting parameters of camera assembly 406 based on the ambient light intensity detected by optical sensor 415.

[0141] Proximity sensor 416, also known as a distance sensor, is typically located on the front panel of terminal 400. Proximity sensor 416 is used to detect the distance between the user and the front of terminal 400. In one embodiment, when proximity sensor 416 detects that the distance between the user and the front of terminal 400 is gradually decreasing, processor 401 controls display screen 405 to switch from the screen-on state to the screen-off state. When proximity sensor 416 detects that the distance between the user and the front of terminal 400 is gradually increasing, processor 401 controls display screen 405 to switch from the screen-off state to the screen-on state.

[0142] Those skilled in the art will understand that Figure 4 The structure shown in the figure does not constitute a limitation on the terminal 400, and the terminal 400 may include more or fewer components than shown in the figure, or combine certain components, or adopt a different component arrangement.

[0143] The terminal provided by the embodiment of the present disclosure calculates the edge difference between each target edge and the corresponding target wake-up edge based on the weight values of the target edge on the target decoding path and the corresponding target wake-up edge on the wake-up path, and then calculates the path difference between the target decoding path and the wake-up path, so as to determine that the voice information to be recognized contains the wake-up word when the path difference between the two paths meets the threshold condition. This method does not directly use the difference between the highest decoding score corresponding to the target decoding path and the wake-up score corresponding to the wake-up path as the basis for judging whether the voice information to be recognized contains the wake-up word, but considers the difference of each step in the decoding process, calculates the difference of each step and accumulates it to the difference of the two paths, and then uses the path difference as the basis for wake-up word recognition, thereby improving the accuracy of the wake-up word recognition result and reducing the number of false wake-ups.

[0144] An embodiment of the present disclosure provides a computer-readable storage medium, wherein at least one program code is stored in the storage medium, and the at least one program code is loaded and executed by a processor to implement a wake-up word recognition method. The computer-readable storage medium may be non-transitory. For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.

[0145] The computer-readable storage medium provided by the embodiment of the present disclosure calculates the edge difference between each target edge and the corresponding target wake-up edge based on the weight values of the target edge on the target decoding path and the corresponding target wake-up edge on the wake-up path, and then calculates the path difference between the target decoding path and the wake-up path, so as to determine that the voice information to be recognized contains the wake-up word when the path difference between the two paths meets the threshold condition. This method does not directly use the difference between the highest decoding score corresponding to the target decoding path and the wake-up score corresponding to the wake-up path as the basis for judging whether the voice information to be recognized contains the wake-up word, but considers the difference of each step in the decoding process, calculates the difference of each step and accumulates it to the difference of the two paths, and then uses the path difference as the basis for wake-up word recognition, thereby improving the accuracy of the wake-up word recognition result and reducing the number of false awakenings.

[0146] An embodiment of the present disclosure provides a computer program product, which includes a computer program code, which is stored in a computer-readable storage medium. A processor of a terminal reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the terminal performs a wake-up word recognition method.

[0147] The computer program product provided by the embodiment of the present disclosure calculates the edge difference between each target edge and the corresponding target wake-up edge based on the weight values of the target edge on the target decoding path and the corresponding target wake-up edge on the wake-up path, and then calculates the path difference between the target decoding path and the wake-up path, so that when the path difference between the two paths meets the threshold condition, it is determined that the voice information to be recognized contains the wake-up word. This method does not directly use the difference between the highest decoding score corresponding to the target decoding path and the wake-up score corresponding to the wake-up path as the basis for judging whether the voice information to be recognized contains the wake-up word. Instead, it considers the difference of each step in the decoding process, calculates the difference of each step and accumulates it to the difference of the two paths, and then uses the path difference as the basis for wake-up word recognition, thereby improving the accuracy of the wake-up word recognition result and reducing the number of false awakenings.

[0148] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.

[0149] The above description is merely an optional embodiment of the present disclosure and is not intended to limit the present disclosure. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present disclosure shall be included in the scope of protection of the present disclosure.

Claims

1. A wake-up word recognition method, characterized in that: The method comprises: Obtaining at least one decoding path of the speech information to be recognized and a decoding score corresponding to each decoding path; Obtaining, from the at least one decoding path, a target decoding path with a highest decoding score according to the decoding scores corresponding to the at least one decoding path; Obtain at least one target edge from the target decoding path, wherein the at least one target edge includes all edges in the target decoding path or edges in the target decoding path having a specified decoding order; Calculate the edge difference between each target edge and the corresponding target wake-up edge based on the weight value on each target edge and the weight value on the corresponding target wake-up edge, where the target wake-up edge is the wake-up edge in the wake-up path of the wake-up word that has the same decoding order as the target edge; Performing a root mean square calculation based on the edge difference between each target edge and the corresponding target wake-up edge to obtain a root mean square calculation result; determining the root mean square calculation result as the path difference between the target decoding path and the wake-up path; When the path difference satisfies a threshold condition, it is determined that the voice information to be recognized contains the wake-up word.

2. The method according to claim 1, characterized in that The obtaining of at least one decoding path for the speech information to be recognized and a decoding score corresponding to each decoding path includes: Decoding the speech information to be recognized based on the decoding network corresponding to the wake-up word recognition model to obtain at least one token, which is used to record the state at each moment in the decoding process and the weight value of each edge experienced; Based on the at least one token, the at least one decoding path and a decoding score corresponding to each decoding path are generated.

3. The method according to claim 1, characterized in that The calculating the edge difference between each target edge and the corresponding target wake-up edge according to the weight value on each target edge and the weight value on the corresponding target wake-up edge includes: The difference between the weight value on each target edge and the weight value on the corresponding target wake-up edge is calculated to obtain the edge difference between each target edge and the corresponding target wake-up edge.

4. The method according to claim 1, wherein The calculating the edge difference between each target edge and the corresponding target wake-up edge according to the weight value on each target edge and the weight value on the corresponding target wake-up edge includes: Calculating an average weight value according to a weight value of at least one wake-up edge in the wake-up path; The difference between the weight value on each target edge and the average weight value is calculated to obtain the edge difference between each target edge and the corresponding target wake-up edge.

5. The method according to claim 4, characterized in that The calculating an average weight value according to the weight value of at least one wake-up edge in the wake-up path includes: Calculating an average of the weight values of all wake-up edges in the wake-up path to obtain the average weight value; or, An average of weight values of wake-up edges with a specified decoding order in the wake-up path is calculated to obtain the average weight value.

6. A wake-up word recognition device, characterized in that: The device comprises: An acquisition module, configured to acquire at least one decoding path of the speech information to be recognized and a decoding score corresponding to each decoding path; The acquisition module is further configured to acquire, from the at least one decoding path, a target decoding path with the highest decoding score based on the decoding score corresponding to the at least one decoding path; The acquisition module is further configured to acquire at least one target edge from the target decoding path, wherein the at least one target edge includes all edges in the target decoding path or edges in the target decoding path having a specified decoding order; a calculation module, configured to calculate an edge difference between each target edge and the corresponding target wake-up edge based on a weight value on each target edge and a weight value on a corresponding target wake-up edge, wherein the target wake-up edge is a wake-up edge in the wake-up path of the wake-up word that has the same decoding order as the target edge; The calculation module is configured to perform a root mean square calculation based on the edge difference between each target edge and the corresponding target wake-up edge to obtain a root mean square calculation result; and determine the root mean square calculation result as the path difference between the target decoding path and the wake-up path; The determination module is configured to determine that the voice information to be recognized contains the wake-up word when the path difference satisfies a threshold condition.

7. A terminal, characterized in that: The terminal includes a processor and a memory, wherein at least one program code is stored in the memory, and the at least one program code is loaded and executed by the processor to implement the wake-up word recognition method according to any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that At least one program code is stored in the storage medium, and the at least one program code is loaded and executed by the processor to implement the wake-up word recognition method according to any one of claims 1 to 5.

9. A computer program product, characterized in that The computer program product includes a computer program code, which is stored in a computer-readable storage medium. The processor of the terminal reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the terminal performs the wake-up word recognition method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Voice processing and voice evaluation method and device thereof, computer equipment and storage medium

    CN111402895A

  • Speech recognition method and system based on uncertain word graph generation

    CN112509557A