Information processing method, information processing device and electronic equipment
By introducing encoding, connection timing classification and decoding modules into the end-to-end speech recognition model, and adopting a dynamic filtering mechanism, the problems of speech recognition delay and large amount of calculation in the existing technology are solved, and fast and timely speech recognition results are achieved. output.
Patent Information
- Application Number
- CN202210346560.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-31
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2042-03-31
AI Technical Summary
The existing end-to-end speech recognition model cannot output the final speech recognition results in a timely manner after the user issues a speech, resulting in an increase in delay and calculation amount.
By introducing the encoding module into the speech recognition model and connecting the timing classification module and the decoding module, the speech data is encoded, processed and decoded, and a dynamic screening mechanism is adopted to sort the candidate results from large to small according to the confidence score, and then filter the candidate results according to the confidence level. Stop screening when the degree score mutates to reduce the input candidate results of the decoding module.
It can dynamically reduce the candidate results input to the decoding module, reduce the calculation amount and delay, and output the speech recognition results in a timely manner.
Smart Images

Figure CN114792527B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to but is not limited to the field of information technology, and in particular to an information processing method, an information processing device and an electronic device. Background Art
[0002] End-to-end speech recognition is gradually replacing traditional hybrid speech recognition models due to its easy training and simple process. However, the current end-to-end speech recognition model cannot obtain the final speech recognition result in time after the user speaks. Summary of the invention
[0003] The embodiments of the present application are intended to provide an information processing method, an information processing device, and an electronic device.
[0004] The technical solution of this application is implemented as follows:
[0005] An information processing method, the method comprising:
[0006] Inputting the acquired speech data to be recognized into the speech recognition model;
[0007] The speech data to be recognized is encoded by the encoding module of the speech recognition model to obtain encoding features, and the encoding features are processed by the connection time series classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results;
[0008] The plurality of candidate results are screened in descending order of confidence scores and in a screening quantity range, and when a confidence score of a candidate result currently being screened suddenly changes, if the number of candidate results obtained by screening is within the screening quantity range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation;
[0009] The multiple screening results are input into the decoding module of the speech recognition model to obtain the speech recognition result of the speech data to be recognized.
[0010] An information processing device, comprising:
[0011] An input module, used for inputting the acquired speech data to be recognized into a speech recognition model;
[0012] The encoding module of the speech recognition model is used to encode the speech data to be recognized to obtain encoding features;
[0013] A connection time series classification module of a speech recognition model, used for processing the coding features to obtain a plurality of candidate results and confidence scores of the plurality of candidate results;
[0014] A screening module, used to screen the multiple candidate results in descending order of confidence scores and a screening quantity range, and in the case where the confidence score of the candidate result currently being screened changes suddenly, if the number of candidate results obtained by screening is within the screening quantity range, multiple screening results are obtained at least based on the candidate results participating in the screening before the change;
[0015] The decoding module of the speech recognition model is used to take the multiple screening results as input and output the speech recognition results of the speech data to be recognized.
[0016] An electronic device, comprising: a processor, a memory and a communication bus;
[0017] The communication bus is used to realize the communication connection between the processor and the memory;
[0018] The processor is used to execute the information processing program stored in the memory to implement the steps of the above-mentioned information processing method.
[0019] A computer storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of the above-mentioned information processing method.
[0020] The information processing method, information processing device and electronic device provided by the embodiments of the present application input the obtained speech data to be recognized into a speech recognition model; encode the speech data to be recognized by the encoding module of the speech recognition model to obtain encoding features, and process the encoding features by the connection timing classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results; screen the multiple candidate results in the order of confidence scores from large to small and the screening number range, and in the case where the confidence score of the candidate result currently being screened suddenly changes, if the number of the screened candidate results is within the screening number range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation; input the multiple screening results into the decoding module of the speech recognition model to obtain the speech recognition result of the speech data to be recognized; that is, the present application dynamically screens all the candidate results generated by the connection timing classification module in the order of confidence scores from large to small, and in the case where the confidence score of the candidate result currently being screened suddenly changes, if the number of the screened candidate results is within the screening number range, the screening is stopped, thereby dynamically reducing the candidate results input to the decoding module, reducing the amount of calculation, achieving the purpose of reducing delay, and outputting the speech recognition result in time. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 Schematic diagram of the information processing method provided in the embodiment of the present application Figure 1 ;
[0022] Figure 2 A schematic diagram of a scenario of an information processing method provided in an embodiment of the present application;
[0023] Figure 3 Schematic diagram of the information processing method provided in the embodiment of the present application Figure 2 ;
[0024] Figure 4 A schematic diagram of a density clustering scenario provided for an embodiment of the present application;
[0025] Figure 5 Schematic diagram of the information processing method provided in the embodiment of the present application Figure 3 ;
[0026] Figure 6 Schematic diagram of the information processing method provided in the embodiment of the present application Figure 4 ;
[0027] Figure 7 A schematic diagram of a density-based screening process provided for an embodiment of the present application;
[0028] Figure 8 Schematic diagram of the information processing method provided in the embodiment of the present application Figure 5 ;
[0029] Fig. 9 A schematic diagram of a flow chart based on logarithmic probability search provided for an embodiment of the present application;
[0030] Fig.10 Schematic diagram of the information processing method provided in the embodiment of the present application Figure 6 ;
[0031] Fig.11 A schematic diagram of the structure of an information processing device provided in an embodiment of the present application;
[0032] Fig.12 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0033] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0034] The terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices.
[0035] The embodiment of the present application provides an information processing method, which is applied to an electronic device, referring to Figure 1 As shown, the method comprises the following steps:
[0036] Step 101: input the acquired speech data to be recognized into a speech recognition model.
[0037] In an embodiment of the present application, the electronic device can provide a voice recognition service to a client such as a voice assistant, an instant messaging application, etc. The electronic device is deployed with a voice recognition model, and exemplarily, the voice recognition model is an end-to-end voice recognition model. The voice recognition model can perform a non-real-time voice recognition task for the voice data to be recognized or a real-time voice recognition task for the voice data to be recognized according to a call request.
[0038] The electronic device provided in the embodiments of the present application can be implemented as any terminal with a screen display function, such as a laptop computer, a tablet computer, a desktop computer, a mobile device (for example, a mobile phone, a personal digital assistant, a dedicated messaging device, a portable gaming device), an intelligent robot, or the like, and can also be implemented as a server.
[0039] Step 102: Encode the speech data to be recognized by the encoding module of the speech recognition model to obtain encoding features, and process the encoding features by the connection time series classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results.
[0040] In the embodiment of the present application, the speech recognition model includes an encoder module, a connectionist temporal classification (CTC) module and a decoder module.
[0041] In some embodiments, after the electronic device obtains the voice data to be recognized, the voice data to be recognized is subjected to acoustic feature extraction. The voice data to be recognized may include multiple frames of sound signals, and acoustic features may be extracted for each frame of sound signals. Exemplarily, the acoustic feature representation includes FBank feature vectors and Mel-frequency cepstral coefficients (MFCC) feature vectors.
[0042] In some embodiments, the CTC module can predict aligned output text based on acoustic features, helping the attention mechanism in the end-to-speech recognition model to remain monotonic during the model training process, thereby maintaining implicit alignment between the model's output text and the input acoustic features; exemplarily, the CTC module can decode and output in a non-autoregressive decoding manner, and further screen the results processed by the CTC module to obtain intermediate results and input them into the decoding module, thereby greatly improving the decoding speed of the decoding module and improving the speech recognition speed.
[0043] In some embodiments, the beam size of the CTC beam search performed by the CTC module can be reasonably set. For example, if beam1 is set, the number of candidate results obtained by the CTC beam search is S1; if beam2 is set, the number of candidate results obtained by the CTC beam search is S2; when beam1 is larger than beam2, S1 is larger than S2.
[0044] Step 103, multiple candidate results are screened in descending order of confidence scores and a screening quantity range. When a sudden change occurs in the confidence score of a candidate result currently being screened, if the number of the screened candidate results is within the screening quantity range, multiple screening results are obtained based on at least the candidate results participating in the screening before the sudden change.
[0045] In the embodiment of the present application, the credibility of all candidate results obtained by CTC beam search is represented by confidence score. The confidence score includes but is not limited to the following: the credibility of the candidate results expressed in probability form, and the above probability is expressed in logarithmic form to characterize the credibility of the candidate results.
[0046] In some embodiments, the screening number range is determined by the set maximum number of candidate results and the minimum number of candidate results. Multiple candidate results are screened in order of confidence score from large to small. Whenever the confidence score of the candidate result currently being screened changes suddenly, the number of candidate results screened is counted once. If the number of candidate results screened is within the screening number range, the screening is stopped and multiple screening results are obtained based on at least the candidate results that participated in the screening before the change. The multiple screening results screened will be used as the input content of the decoding module, and the speech recognition results will be output in time.
[0047] Step 104: input the multiple screening results into a decoding module of the speech recognition model to obtain a speech recognition result of the speech data to be recognized.
[0048] In the embodiment of the present application, combined with the aforementioned screening process, it can be known that all candidate results are dynamically screened in descending order according to the confidence scores of all candidate results generated by the CTC beam search. When the confidence score of the candidate result currently being screened suddenly changes, the screening is stopped if the number of candidate results obtained by screening is within the screening number range, thereby dynamically reducing the candidate results input to the decoding module, reducing the amount of calculation, and achieving the purpose of reducing latency.
[0049] In a feasible screening scenario, combined with Figure 2 As shown, first, the obtained speech data to be recognized is input into the speech recognition model; secondly, the speech data to be recognized is encoded by the encoder module of the speech recognition model to obtain the encoding features; thirdly, the encoding features are subjected to CTC beam search by the CTC module of the speech recognition model to obtain all candidate results and the confidence score of each candidate result; further, all candidate results are dynamically screened in descending order of confidence scores, and when the confidence score of the candidate result currently being screened suddenly changes, if the number of candidate results obtained by screening is within the screening number range, the screening is stopped, and multiple screening results are obtained based on at least the candidate results participating in the screening before the mutation, so that the candidate results input into the decoder module are dynamically reduced; finally, the multiple screening results are input into the decoder module of the speech recognition model to obtain the speech recognition result of the speech data to be recognized.
[0050] The embodiment of the present application provides an information processing method, which inputs the obtained speech data to be recognized into a speech recognition model; encodes the speech data to be recognized by the encoding module of the speech recognition model to obtain encoding features, and processes the encoding features by the connection timing classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results; screens the multiple candidate results in order from large to small according to the confidence scores and the screening number range, and in the case where the confidence score of the candidate result currently being screened suddenly changes, if the number of the screened candidate results is within the screening number range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation; inputs the multiple screening results into the decoding module of the speech recognition model to obtain the speech recognition result of the speech data to be recognized; that is, the present application dynamically screens all the candidate results generated by the connection timing classification module according to the order from large to small according to the confidence scores, and in the case where the confidence score of the candidate result currently being screened suddenly changes, if the number of the screened candidate results is within the screening number range, the screening is stopped, thereby dynamically reducing the candidate results input to the decoding module, reducing the amount of calculation, achieving the purpose of reducing delay, and outputting the speech recognition result in time.
[0051] The embodiment of the present application provides an information processing method, which is applied to an electronic device, referring to Figure 3 As shown, in a scenario where the achievable confidence score suddenly changes, the method includes the following steps:
[0052] Step 201: Input the acquired speech data to be recognized into a speech recognition model.
[0053] Step 202: Encode the speech data to be recognized by the encoding module of the speech recognition model to obtain encoding features, and process the encoding features by the connection time series classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results.
[0054] Step 203: cluster multiple candidate results according to the order of confidence scores from large to small and the screening quantity range; if the candidate result currently participating in clustering does not belong to the cluster generated by the candidate results that have participated in clustering, determine that the confidence score of the candidate result currently participating in clustering has changed suddenly.
[0055] In the embodiment of the present application, clustering is used to implement dynamic screening of all candidate results generated by CTC beam search. And when it is determined that the candidate results currently participating in clustering do not belong to the cluster generated by the candidate results that have participated in clustering, it is determined that the confidence score of the candidate results currently participating in clustering has mutated. If the number of candidate results obtained by screening is within the screening number range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation.
[0056] In some embodiments, determining whether the candidate result currently participating in clustering does not belong to the cluster generated by the candidate results already participating in clustering can be achieved with reference to the confidence score. For example, when the difference between the confidence score of the candidate result currently participating in clustering and the confidence score of the candidate results already participating in clustering is large, it is determined that the candidate result currently participating in clustering does not belong to the cluster generated by the candidate results already participating in clustering.
[0057] In the embodiment of the present application, in step 203, the candidate result currently participating in the clustering does not belong to the cluster generated by the candidate result already participating in the clustering, which can be obtained by Figure 4 The steps shown determine:
[0058] Step 2031: Generate a density value corresponding to the candidate result added for the nth time according to the number and confidence score of the candidate results added when the candidate result is added for the nth time in the clustering process.
[0059] In the embodiment of the present application, the density value corresponding to the candidate result added for the nth time can be calculated by the following formula:
[0060]
[0061] Furthermore, the present application adopts a density clustering method to determine that the candidate results currently participating in the density clustering do not belong to the cluster generated by the candidate results that have participated in the density clustering, then determines that the confidence score of the candidate results currently participating in the density clustering has mutated. If the number of candidate results obtained by screening is within the screening number range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation.
[0062] Step 2032: If the difference between the density value corresponding to the candidate result added for the nth time and the density value corresponding to the candidate result added for the (n-1)th time is greater than the difference threshold, it is determined that the candidate result added for the nth time and participating in clustering does not belong to the cluster generated by the candidate results that have participated in clustering.
[0063] Wherein, n is a positive integer greater than 1.
[0064] In a feasible scenario, combined with Figure 5 As shown, the probability of all candidate results obtained by CTC beam search is expressed in logarithmic form to obtain the confidence score. It can be understood that when the probability value is less than 1, the logarithmic probability is less than 0. Further, according to the number and confidence score of the candidate results added when the candidate results are added for the nth time in the clustering process, the density value corresponding to the candidate results added for the nth time is generated. Figure 5 As shown, Figure 5 The horizontal axis on the left is the number of all candidate results, for example, the total number of candidate results is 8, and the vertical axis is the logarithmic probability of candidate results with different numbers; Figure 5The horizontal axis on the right is the number of all the candidate results mentioned above, and the vertical axis is the density value corresponding to the candidate results with different numbers. Figure 5 The logarithmic probability distribution graph on the left is transformed into Figure 5 From the density value distribution diagram on the right, it can be clearly seen that all candidate results are divided into two clusters, where the first cluster is the cluster composed of candidate results corresponding to the density value indicated by 31; the second cluster is the cluster composed of candidate results corresponding to the density value indicated by 32.
[0065] Step 204: If the number of candidate results obtained by screening is within the screening number range, multiple screening results are obtained based on at least the candidate results participating in the screening before the mutation.
[0066] In the embodiment of the present application, if the number of candidate results obtained by screening in step 204 is within the screening number range, multiple screening results are obtained based on at least the candidate results participating in the screening before the mutation, which can be obtained by Figure 6 Steps 2041 and 2042 shown in the figure are implemented, or by Figure 6 Steps 2041 and 2043 shown implement:
[0067] Step 2041: Select the candidate result corresponding to the maximum density value that does not participate in clustering from the density values corresponding to the candidate results added for the previous n-1 times as the seed point of the m-th category cluster for cluster screening to obtain the first candidate result.
[0068] Wherein, m is a positive integer greater than or equal to 1.
[0069] In the embodiment of the present application, take n as 2 as an example for explanation, the initial seed point is the candidate result corresponding to the maximum density, refer to Figure 5 As shown, the horizontal axis of a candidate result indicated by 301 is the number of the candidate result corresponding to the maximum density value, and the vertical axis is the maximum density value. For example, a density-based spatial clustering method with noise (DBSCAN) can be used for density clustering. If the number of candidate results of the first category of clustering is within the screening number range, the screening is completed.
[0070] Step 2042: If the number of candidate results included in the first candidate result does not meet the screening number range, select the maximum density value from the density values corresponding to the remaining candidate results that have not been added as the seed point of the m+1th category cluster for cluster screening until the number of candidate results included in all the candidate results obtained is within the screening number range, and multiple screening results are obtained.
[0071] In the embodiment of the present application, if the number of candidate results of the first category of clustering does not reach the screening number range, the maximum density value outside the first category is used as the seed point for clustering, and the above clustering screening process is repeated until the requirements are met. Figure 5 As shown, the horizontal coordinate of a candidate result indicated by 302 is the number of the candidate result corresponding to the maximum density of the remaining candidate results not added, and the vertical coordinate is the maximum density, and density clustering is performed.
[0072] Step 2043: If the number of candidate results obtained by clustering and screening the m+xth category and the number of candidate results obtained by clustering and screening the first m+x-1 categories exceeds the screening number range, the candidate results whose confidence scores corresponding to the candidate results are less than the first score threshold among the candidate results obtained by clustering and screening the m+xth category are removed to obtain multiple screening results.
[0073] Here, x is an integer greater than or equal to 0, and m+x is greater than or equal to m+1.
[0074] In an embodiment of the present application, if the number of candidate results obtained after joining a certain clustering exceeds the screening number range, they are truncated according to the probability size according to the set maximum number, and the candidate results whose confidence scores corresponding to the candidate results obtained by clustering screening of the current category are removed are less than the first score threshold, and multiple screening results are obtained.
[0075] In a feasible density clustering scenario, combined with Figure 7 As shown, set the screening quantity range [N min ,N max ], cluster screening is achieved through the following steps:
[0076] Step 401: taking the candidate result corresponding to the maximum density value that is not currently involved in clustering as the seed point of clustering;
[0077] Step 402: Perform cluster screening;
[0078] Step 403: If the number of candidate results of the current cluster is N0 <N min , the maximum density value outside the current category is used as the seed point for clustering, and the above clustering screening process is repeated until it is greater than or equal to N min .
[0079] Step 404: If the number of candidate results of the current cluster N0>N max , then according to the set N max The root is truncated, for example, candidate results whose confidence scores corresponding to the candidate results are less than a first score threshold are removed from the candidate results obtained by cluster screening, to obtain multiple screening results whose number of candidate results is within the screening number range.
[0080] Step 405: End clustering, complete screening, and obtain N min <N0<N max .
[0081] Step 205: input the multiple screening results into a decoding module of the speech recognition model to obtain a speech recognition result of the speech data to be recognized.
[0082] It should be noted that, for the description of the same steps and the same contents in this embodiment as those in other embodiments, reference can be made to the description in other embodiments and will not be repeated here.
[0083] The embodiment of the present application provides an information processing method, which is applied to an electronic device, referring to Figure 8 As shown, in another achievable scenario where the confidence score suddenly changes, the method includes the following steps:
[0084] Step 501: Input the acquired speech data to be recognized into a speech recognition model.
[0085] Step 502: Encode the speech data to be recognized by the encoding module of the speech recognition model to obtain encoding features, and process the encoding features by the connection time series classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results.
[0086] Step 503: retain some candidate results whose confidence scores are greater than a second score threshold among the multiple candidate results.
[0087] In the embodiment of the present application, some candidate results whose confidence scores are greater than the second score threshold among the multiple candidate results are retained as part of the input content of the decoding module.
[0088] Step 504: Search the remaining candidate results in the multiple candidate results in descending order of confidence scores and in a screening quantity range; if the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, determine that the confidence score has changed suddenly.
[0089] Wherein, w is a positive integer greater than or equal to 2.
[0090] In the embodiment of the present application, a search method is used to implement dynamic screening of all candidate results generated by CTC beam search. And when it is determined that the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, it is determined that the confidence score of the candidate result currently participating in the search has a mutation, and multiple screening results are obtained based on at least the candidate results participating in the search before the mutation.
[0091] In some embodiments, in the process of searching from the remaining candidate results among multiple candidate results in the direction of decreasing confidence scores, the confidence scores of the search reference candidate results include but are not limited to: the maximum confidence score, the confidence score of the previous candidate result adjacent to the confidence score of the reference candidate result currently participating in the search, and the confidence score of the next candidate result adjacent to the confidence score of the reference candidate result currently participating in the search.
[0092] In the embodiment of the present application, the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference in step 504 satisfies the search stop condition, including one of the following: the confidence score of the candidate result searched for the wth time is less than a times the maximum confidence score among the confidence scores of the multiple candidate results; wherein a is a positive integer greater than 1;
[0093] The confidence score of the candidate result searched for the wth time is less than b times the confidence score of the candidate result searched for the w-1th time; where b is a positive integer greater than 1;
[0094] The difference between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result searched for the w+1th time is less than c times the confidence score of the candidate result searched for the w-1th time, and less than the confidence score of the candidate result searched for the wth time; where c is a positive integer greater than 1.
[0095] In a feasible search scenario, combined with Fig. 9 As shown, for example, a=10, b=5, c=10 is taken as an example, and the confidence score is the logarithmic probability P i Take this as an example to illustrate:
[0096] Step 601: The number of the current candidate result is less than a preset value; that is, the number of candidate results currently participating in the search is less than the maximum number of candidate results; wherein i represents the number;
[0097] Step 602: If the logarithmic probability P of the current candidate result i <10P0, the search stops immediately; P0 is the maximum logarithmic probability;
[0098] Step 603: If the logarithmic probability P of the current candidate result i <5P i-1 , the search stops immediately;
[0099] Step 604: If the logarithmic probability P of the current candidate result i+1 -P i <10(P i -P i-1 ) and P i+1-P i <P i , the search stops;
[0100] Step 605: Perform the next search, and stop the search when the last candidate result is found.
[0101] If the search stops, all candidate results before the search stop position are taken as selected candidate results, and the rest are filtered out.
[0102] In some embodiments, the probability values of candidate results generated by CTC through beam search may be similar, or may differ by several times, hundreds of times, or even tens of thousands of times. The present application determines that the candidate results that differ greatly from the maximum probability value are unlikely to be the optimal results, and thus screen them out and do not use them as input to the decoding module.
[0103] Step 505: Obtain multiple screening results based on at least the candidate results that participated in the screening before the mutation.
[0104] Step 506: input the multiple screening results into a decoding module of the speech recognition model to obtain a speech recognition result of the speech data to be recognized.
[0105] In some embodiments of the present application, in step 205 or step 506, the plurality of screening results are input into a decoding module of a speech recognition model to obtain a speech recognition result of the speech data to be recognized, which can be obtained by Fig.10 The steps shown achieve:
[0106] Step 701: Input multiple screening results into a decoding module.
[0107] Step 702: re-score the confidences of the multiple screening results through the decoding module, and determine the normalized probability values corresponding to the re-scores.
[0108] In an embodiment of the present application, the intermediate result obtained by decoding in a non-autoregressive decoding manner based on the CTC module makes it possible to output only one word each time the decoding is performed. In this way, only the word-level language model can be integrated during the decoding process, and the modeling ability of the word-level language model is weaker than that of the word-level language model. During the decoding process, the present application can introduce a weighted finite state transducer network (Weighted Finite State Transducers, WFST) to decode the word sequence output by the CTC module.
[0109] Step 703: decode the screening result with the maximum normalized probability value through a decoding module to obtain a speech recognition result.
[0110] In the embodiment of the present application, the WFST network can determine one or more screening results and the scores corresponding to the screening results according to the word sequence. Further, the scores corresponding to each screening result are normalized by the softmax() normalization function to obtain the normalized probability value corresponding to each screening result.
[0111] Here, the larger the normalized probability value of the screening result is, the greater the possibility of the screening result. Therefore, the screening result with the largest probability value is used as the final speech recognition result.
[0112] It should be noted that, for the description of the same steps and the same contents in this embodiment as those in other embodiments, reference can be made to the description in other embodiments and will not be repeated here.
[0113] The embodiment of the present application provides an information processing device, which can be applied to Figure 1 , Figure 3 , Figure 8 In an information processing method provided by a corresponding embodiment, referring to Fig.11 As shown, the information processing device 8 includes:
[0114] An input module 801 is used to input the acquired speech data to be recognized into a speech recognition model;
[0115] The encoding module 802 of the speech recognition model is used to encode the speech data to be recognized to obtain encoding features;
[0116] A connection time series classification module 803 of the speech recognition model is used to process the coding features to obtain multiple candidate results and confidence scores of the multiple candidate results;
[0117] A screening module 804 is used to screen multiple candidate results according to the order of confidence scores from large to small and the screening quantity range. When the confidence score of the candidate result currently being screened suddenly changes, if the number of candidate results obtained by screening is within the screening quantity range, multiple screening results are obtained based on at least the candidate results participating in the screening before the mutation.
[0118] The decoding module 805 of the speech recognition model is used to take the multiple screening results as input and output the speech recognition results of the speech data to be recognized.
[0119] In other embodiments of the present application, the screening module 804 is used to cluster multiple candidate results according to the order of confidence scores from large to small and the screening quantity range; if the candidate result currently participating in the clustering does not belong to the cluster generated by the candidate results that have participated in the clustering, it is determined that the confidence score of the candidate result currently participating in the clustering has mutated.
[0120] In other embodiments of the present application, the screening module 804 is used to generate a density value corresponding to the candidate result added for the nth time based on the number of candidate results added when the candidate results are added for the nth time and the confidence score; if the difference between the density value corresponding to the candidate result added for the nth time and the density value corresponding to the candidate result added for the n-1th time is greater than the difference threshold, it is determined that the candidate result added for the nth time and participating in the clustering does not belong to the cluster generated by the candidate results that have participated in the clustering; wherein n is a positive integer greater than 1.
[0121] In other embodiments of the present application, the screening module 804 is used to select the candidate result corresponding to the maximum density value that does not participate in the clustering from the density values corresponding to the candidate results added for the first n-1 times as the seed point of the m-th category cluster for cluster screening to obtain the first candidate result; wherein m is a positive integer greater than or equal to 1; if the number of candidate results included in the first candidate result does not meet the screening number range, the maximum density value is selected from the density values corresponding to the remaining candidate results that have not been added as the seed point of the m+1-th category cluster for cluster screening until the number of candidate results included in all the obtained candidate results is within the screening number range, and multiple screening results are obtained.
[0122] In other embodiments of the present application, the screening module 804 is used to remove the candidate results whose confidence scores corresponding to the candidate results are less than the first score threshold from the candidate results obtained by clustering screening of the m+xth category if the number of candidate results obtained by clustering screening of the m+xth category and the candidate results obtained by clustering screening of the first m+x-1 categories exceeds the screening number range, so as to obtain multiple screening results; wherein x is an integer greater than or equal to 0, and m+x is greater than or equal to m+1.
[0123] In other embodiments of the present application, the screening module 804 is used to retain some candidate results whose confidence scores are greater than a second score threshold among multiple candidate results; search the remaining candidate results among the multiple candidate results in order of confidence scores from large to small and in a screening quantity range; if the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, determine that the confidence score has mutated; wherein w is a positive integer greater than or equal to 2.
[0124] In other embodiments of the present application, the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, including one of the following:
[0125] The confidence score of the candidate result searched for the wth time is less than a times the maximum confidence score among the confidence scores of the multiple candidate results; where a is a positive integer greater than 1;
[0126] The confidence score of the candidate result searched for the wth time is less than b times the confidence score of the candidate result searched for the w-1th time; where b is a positive integer greater than 1;
[0127] The difference between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result searched for the w+1th time is less than c times the confidence score of the candidate result searched for the w-1th time, and less than the confidence score of the candidate result searched for the wth time; where c is a positive integer greater than 1.
[0128] In other embodiments of the present application, the decoding module 805 of the speech recognition model is used to re-score the confidence of multiple screening results and determine the normalized probability value corresponding to the re-score; decode the screening result with the maximum normalized probability value and output the speech recognition result.
[0129] The embodiment of the present application provides an information processing device, which inputs the obtained speech data to be recognized into a speech recognition model; encodes the speech data to be recognized by the encoding module of the speech recognition model to obtain encoding features, and processes the encoding features by the connection timing classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results; screens the multiple candidate results in the order of confidence scores from large to small and the screening number range, and in the case that the confidence score of the candidate result currently being screened suddenly changes, if the number of the screened candidate results is within the screening number range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation; inputs the multiple screening results into the decoding module of the speech recognition model to obtain the speech recognition result of the speech data to be recognized; that is, the present application dynamically screens all the candidate results generated by the connection timing classification module according to the order of confidence scores from large to small, and in the case that the confidence score of the candidate result currently being screened suddenly changes, if the number of the screened candidate results is within the screening number range, the screening is stopped, thereby dynamically reducing the candidate results input to the decoding module, reducing the amount of calculation, achieving the purpose of reducing delay, and outputting the speech recognition result in time.
[0130] It should be noted that the specific implementation process of the steps executed by the processor in this embodiment can refer to Figure 1 , Figure 3 , Figure 8 The implementation process of the information processing method provided in the corresponding embodiment will not be repeated here.
[0131] The embodiment of the present application provides an electronic device, which can be applied to Figure 1 , Figure 3 , Figure 8 In an information processing method provided by a corresponding embodiment, referring to Fig.12 As shown, the electronic device 9 ( Fig.12 Electronic devices in 9 and Fig.11 The information processing device 8 in FIG. 1 includes: a processor 901, a memory 902, and a communication bus 903, wherein:
[0132] The communication bus 903 is used to implement the communication connection between the processor 901 and the memory 902 .
[0133] The processor 901 is used to execute the information processing program stored in the memory 902 to implement the following steps:
[0134] Inputting the acquired speech data to be recognized into the speech recognition model;
[0135] The speech data to be recognized is encoded by the encoding module of the speech recognition model to obtain encoding features, and the encoding features are processed by the connection time series classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results;
[0136] Screen multiple candidate results according to the order of confidence scores from large to small and the screening number range. When the confidence score of the candidate result currently being screened suddenly changes, if the number of candidate results obtained by screening is within the screening number range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation;
[0137] The multiple screening results are input into the decoding module of the speech recognition model to obtain the speech recognition result of the speech data to be recognized.
[0138] In other embodiments of the present application, the processor 901 is used to execute the information processing program stored in the memory 902 to implement the following steps:
[0139] Cluster multiple candidate results according to the order of confidence scores from large to small and the screening quantity range; if the candidate result currently participating in the clustering does not belong to the cluster generated by the candidate results that have participated in the clustering, it is determined that the confidence score of the candidate result currently participating in the clustering has changed suddenly.
[0140] In other embodiments of the present application, the processor 901 is used to execute the information processing program stored in the memory 902 to implement the following steps:
[0141] Generate a density value corresponding to the candidate result added for the nth time according to the number and confidence score of the candidate results added when the candidate result is added for the nth time in the clustering process;
[0142] If the difference between the density value corresponding to the candidate result added for the nth time and the density value corresponding to the candidate result added for the n-1th time is greater than the difference threshold, it is determined that the candidate result added for the nth time and participating in clustering does not belong to the cluster generated by the candidate results that have participated in clustering; where n is a positive integer greater than 1.
[0143] In other embodiments of the present application, the processor 901 is used to execute the information processing program stored in the memory 902 to implement the following steps:
[0144] Select the candidate result corresponding to the maximum density value that does not participate in clustering from the density values corresponding to the candidate results added in the previous n-1 times as the seed point of the m-th category cluster for cluster screening to obtain the first candidate result; where m is a positive integer greater than or equal to 1;
[0145] If the number of candidate results included in the first candidate result does not meet the screening number range, the maximum density value is selected from the density values corresponding to the remaining candidate results that have not been added as the seed point of the m+1th category cluster for cluster screening until the number of candidate results included in all the candidate results obtained is within the screening number range, and multiple screening results are obtained.
[0146] In other embodiments of the present application, the processor 901 is used to execute the information processing program stored in the memory 902 to implement the following steps:
[0147] If the number of candidate results obtained by clustering and screening the m+xth category and the number of candidate results obtained by clustering and screening the first m+x-1 categories exceeds the screening number range, the candidate results whose confidence scores corresponding to the candidate results from the m+xth category obtained by clustering and screening are less than the first score threshold are removed to obtain multiple screening results; wherein x is an integer greater than or equal to 0, and m+x is greater than or equal to m+1.
[0148] In other embodiments of the present application, the processor 901 is used to execute the information processing program stored in the memory 902 to implement the following steps:
[0149] retaining some candidate results whose confidence scores are greater than a second score threshold among the multiple candidate results;
[0150] The remaining candidate results among the multiple candidate results are searched in descending order of confidence scores and in a screening quantity range; if the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, it is determined that a mutation has occurred in the confidence score; wherein w is a positive integer greater than or equal to 2.
[0151] In other embodiments of the present application, the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, including one of the following:
[0152] The confidence score of the candidate result searched for the wth time is less than a times the maximum confidence score among the confidence scores of the multiple candidate results; where a is a positive integer greater than 1;
[0153] The confidence score of the candidate result searched for the wth time is less than b times the confidence score of the candidate result searched for the w-1th time; where b is a positive integer greater than 1;
[0154] The difference between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result searched for the w+1th time is less than c times the confidence score of the candidate result searched for the w-1th time, and less than the confidence score of the candidate result searched for the wth time; where c is a positive integer greater than 1.
[0155] In other embodiments of the present application, the processor 901 is used to execute the information processing program stored in the memory 902 to implement the following steps:
[0156] Inputting a plurality of screening results into a decoding module;
[0157] Re-scoring the confidences of multiple screening results through a decoding module, and determining normalized probability values corresponding to the re-scoring;
[0158] The screening result with the maximum normalized probability value is decoded by the decoding module to obtain the speech recognition result.
[0159] The method provided in the embodiment of the present application can be directly embodied as a combination of software modules executed by the processor 901. The software module can be located in a storage medium, and the storage medium is located in the memory 902. The processor 901 reads the executable instructions included in the software module in the memory 902, and completes the method provided in the embodiment of the present application in combination with the necessary hardware.
[0160] As an example, a processor can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where a general-purpose processor can be a microprocessor or any conventional processor, etc.
[0161] The embodiment of the present application provides an electronic device, which inputs the obtained speech data to be recognized into a speech recognition model; encodes the speech data to be recognized by the encoding module of the speech recognition model to obtain encoding features, and processes the encoding features by the connection timing classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results; screens the multiple candidate results in the order of confidence scores from large to small and the screening number range, and in the case where the confidence score of the candidate result currently being screened suddenly changes, if the number of the screened candidate results is within the screening number range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation; inputs the multiple screening results into the decoding module of the speech recognition model to obtain the speech recognition result of the speech data to be recognized; that is, the present application dynamically screens all the candidate results generated by the connection timing classification module in the order of confidence scores from large to small, and in the case where the confidence score of the candidate result currently being screened suddenly changes, if the number of the screened candidate results is within the screening number range, the screening is stopped, thereby dynamically reducing the candidate results input to the decoding module, reducing the amount of calculation, achieving the purpose of reducing delay, and outputting the speech recognition result in time.
[0162] It should be noted that the specific implementation process of the steps executed by the processor in this embodiment can refer to Figure 1 , Figure 3 , Figure 8 The implementation process of the information processing method provided in the corresponding embodiment will not be repeated here.
[0163] An embodiment of the present application provides a computer-readable storage medium, which stores one or more programs. The one or more programs can be executed by one or more processors to implement the following steps:
[0164] Inputting the acquired speech data to be recognized into the speech recognition model;
[0165] The speech data to be recognized is encoded by the encoding module of the speech recognition model to obtain encoding features, and the encoding features are processed by the connection time series classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results;
[0166] Screen multiple candidate results according to the order of confidence scores from large to small and the screening number range. When the confidence score of the candidate result currently being screened suddenly changes, if the number of candidate results obtained by screening is within the screening number range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation;
[0167] The multiple screening results are input into the decoding module of the speech recognition model to obtain the speech recognition result of the speech data to be recognized.
[0168] In other embodiments of the present application, the one or more programs may be executed by one or more processors, and the following steps may also be implemented:
[0169] Cluster multiple candidate results according to the order of confidence scores from large to small and the screening quantity range; if the candidate result currently participating in the clustering does not belong to the cluster generated by the candidate results that have participated in the clustering, it is determined that the confidence score of the candidate result currently participating in the clustering has changed suddenly.
[0170] In other embodiments of the present application, the one or more programs may be executed by one or more processors, and the following steps may also be implemented:
[0171] Generate a density value corresponding to the candidate result added for the nth time according to the number and confidence score of the candidate results added when the candidate result is added for the nth time in the clustering process;
[0172] If the difference between the density value corresponding to the candidate result added for the nth time and the density value corresponding to the candidate result added for the n-1th time is greater than the difference threshold, it is determined that the candidate result added for the nth time and participating in clustering does not belong to the cluster generated by the candidate results that have participated in clustering; where n is a positive integer greater than 1.
[0173] In other embodiments of the present application, the one or more programs may be executed by one or more processors, and the following steps may also be implemented:
[0174] Select the candidate result corresponding to the maximum density value that does not participate in clustering from the density values corresponding to the candidate results added in the previous n-1 times as the seed point of the m-th category cluster for cluster screening to obtain the first candidate result; where m is a positive integer greater than or equal to 1;
[0175] If the number of candidate results included in the first candidate result does not meet the screening number range, the maximum density value is selected from the density values corresponding to the remaining candidate results that have not been added as the seed point of the m+1th category cluster for cluster screening until the number of candidate results included in all the candidate results obtained is within the screening number range, and multiple screening results are obtained.
[0176] In other embodiments of the present application, the one or more programs may be executed by one or more processors, and the following steps may also be implemented:
[0177] If the number of candidate results obtained by clustering and screening the m+xth category and the number of candidate results obtained by clustering and screening the first m+x-1 categories exceeds the screening number range, the candidate results whose confidence scores corresponding to the candidate results from the m+xth category obtained by clustering and screening are less than the first score threshold are removed to obtain multiple screening results; wherein x is an integer greater than or equal to 0, and m+x is greater than or equal to m+1.
[0178] In other embodiments of the present application, the one or more programs may be executed by one or more processors, and the following steps may also be implemented:
[0179] retaining some candidate results whose confidence scores are greater than a second score threshold among the multiple candidate results;
[0180] Search the remaining candidate results among the multiple candidate results according to the order of confidence scores from large to small and the screening quantity range;
[0181] If the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, it is determined that the confidence score has mutated; where w is a positive integer greater than or equal to 2.
[0182] In other embodiments of the present application, the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, including one of the following:
[0183] The confidence score of the candidate result searched for the wth time is less than a times the maximum confidence score among the confidence scores of the multiple candidate results; where a is a positive integer greater than 1;
[0184] The confidence score of the candidate result searched for the wth time is less than b times the confidence score of the candidate result searched for the w-1th time; where b is a positive integer greater than 1;
[0185] The difference between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result searched for the w+1th time is less than c times the confidence score of the candidate result searched for the w-1th time, and less than the confidence score of the candidate result searched for the wth time; where c is a positive integer greater than 1.
[0186] In other embodiments of the present application, the one or more programs may be executed by one or more processors, and the following steps may also be implemented:
[0187] Inputting a plurality of screening results into a decoding module;
[0188] Re-scoring the confidences of multiple screening results through a decoding module, and determining normalized probability values corresponding to the re-scoring;
[0189] The screening result with the maximum normalized probability value is decoded by the decoding module to obtain the speech recognition result.
[0190] It should be noted that the specific implementation process of the steps executed by the processor in this embodiment can refer to Figure 1 , Figure 3 , Figure 8 The implementation process of the information processing method provided in the corresponding embodiment will not be repeated here.
[0191] It should be noted here that the description of the above storage medium and device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.
[0192] The above-mentioned computer storage medium / memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM) and the like; it can also be various terminals including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0193] It should be understood that the "one embodiment" or "an embodiment" or "an embodiment of the present application" or "the aforementioned embodiment" or "some embodiments" or "some implementation methods" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" or "an embodiment of the present application" or "the aforementioned embodiment" or "some embodiments" or "some implementation methods" appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the size of the sequence number of the above-mentioned processes does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application. The above-mentioned sequence numbers of the embodiments of the present application are only for description and do not represent the advantages and disadvantages of the embodiments.
[0194] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0195] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0196] In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be separately configured as a unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0197] The methods disclosed in several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0198] The features disclosed in several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0199] The features disclosed in several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0200] A person skilled in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM), magnetic disks or optical disks, etc., various media that can store program codes.
[0201] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application can essentially or in other words, the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods of each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0202] It is worth noting that the drawings in the embodiments of the present application are only for illustrating the schematic positions of various components on the terminal device and do not represent the actual positions in the terminal device. The actual positions of various components or areas may be changed or offset accordingly according to actual conditions (for example, the structure of the terminal device), and the proportions of different parts of the terminal device in the drawings do not represent the actual proportions.
[0203] The above is only an implementation method of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. An information processing method, the method comprising: Inputting the acquired speech data to be recognized into the speech recognition model; The speech data to be recognized is encoded by the encoding module of the speech recognition model to obtain encoding features, and the encoding features are processed by the connection time series classification module of the speech recognition model to obtain multiple candidate results and confidence scores of the multiple candidate results; The plurality of candidate results are screened in descending order of confidence scores and in a screening quantity range, and when a confidence score of a candidate result currently being screened suddenly changes, if the number of candidate results obtained by screening is within the screening quantity range, multiple screening results are obtained at least based on the candidate results participating in the screening before the mutation; The multiple screening results are input into the decoding module of the speech recognition model to obtain the speech recognition result of the speech data to be recognized.
2. The method according to claim 1, wherein screening the plurality of candidate results according to the order of confidence scores from large to small and the screening quantity range comprises: Clustering the multiple candidate results according to the order of confidence scores from large to small and the screening quantity range; If the candidate result currently participating in clustering does not belong to the cluster generated by the candidate results that have already participated in clustering, it is determined that the confidence score of the candidate result currently participating in clustering has a sudden change.
3. According to the method of claim 2, the candidate result currently participating in clustering does not belong to the cluster generated by the candidate results that have participated in clustering, and is determined by the following steps: Generate a density value corresponding to the candidate result added for the nth time according to the number and confidence score of the candidate results added when the candidate result is added for the nth time in the clustering process; If the difference between the density value corresponding to the candidate result added for the nth time and the density value corresponding to the candidate result added for the n-1th time is greater than the difference threshold, it is determined that the candidate result added for the nth time and participating in clustering does not belong to the cluster generated by the candidate result that has participated in clustering; wherein, The n is a positive integer greater than 1.
4. The method according to claim 3, wherein when a confidence score of a candidate result currently being screened suddenly changes, if the number of candidate results obtained by screening is within the screening number range, a plurality of screening results are obtained based on at least the candidate results participating in the screening before the sudden change, including: Select the candidate result corresponding to the maximum density value that does not participate in clustering from the density values corresponding to the candidate results added for the first n-1 times as the seed point of the m-th category cluster for clustering screening to obtain the first candidate result; wherein m is a positive integer greater than or equal to 1; If the number of candidate results included in the first candidate result does not meet the screening number range, select the maximum density value from the density values corresponding to the remaining candidate results that have not been added as the seed point of the m+1th category cluster for cluster screening until the number of candidate results included in all the candidate results obtained is within the screening number range, thereby obtaining the multiple screening results.
5. The method according to claim 4, further comprising: If the number of candidate results obtained by clustering screening of the m+xth category and the number of candidate results obtained by clustering screening of the first m+x-1 categories exceeds the screening number range, the candidate results whose confidence scores corresponding to the candidate results are less than the first score threshold among the candidate results obtained by clustering screening of the m+xth category are removed to obtain the multiple screening results; wherein, x is an integer greater than or equal to 0, and m+x is greater than or equal to m+1.
6. The method according to claim 1, wherein screening the plurality of candidate results according to the order of confidence scores from large to small and the screening quantity range comprises: retaining some of the candidate results whose confidence scores are greater than a second score threshold among the multiple candidate results; Searching the remaining candidate results in the plurality of candidate results according to the order of confidence scores from large to small and the screening quantity range; If the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, it is determined that the confidence score has mutated; wherein w is a positive integer greater than or equal to 2.
7. The method according to claim 6, wherein the relationship between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result used as the search reference satisfies the search stop condition, including one of the following: The confidence score of the candidate result searched for the wth time is less than a times the maximum confidence score among the confidence scores of the multiple candidate results; wherein, Said a is a positive integer greater than 1; The confidence score of the candidate result searched for the wth time is less than b times the confidence score of the candidate result searched for the w-1th time; wherein b is a positive integer greater than 1; The difference between the confidence score of the candidate result searched for the wth time and the confidence score of the candidate result searched for the w+1th time is less than c times the confidence score of the candidate result searched for the w-1th time, and less than the confidence score of the candidate result searched for the wth time; wherein c is a positive integer greater than 1.
8. The method according to any one of claims 1 to 7, wherein the step of inputting the plurality of screening results into a decoding module of the speech recognition model to obtain a speech recognition result of the speech data to be recognized comprises: Inputting a plurality of screening results into the decoding module; Re-scoring the confidences of the plurality of screening results through the decoding module, and determining normalized probability values corresponding to the re-scoring; The screening result with the maximum normalized probability value is decoded by the decoding module to obtain the speech recognition result.
9. An information processing device, comprising: An input module, used for inputting the acquired speech data to be recognized into a speech recognition model; The encoding module of the speech recognition model is used to encode the speech data to be recognized to obtain encoding features; A connection time series classification module of a speech recognition model, used for processing the coding features to obtain a plurality of candidate results and confidence scores of the plurality of candidate results; A screening module, used to screen the multiple candidate results in descending order of confidence scores and a screening quantity range, and in the case where the confidence score of the candidate result currently being screened changes suddenly, if the number of candidate results obtained by screening is within the screening quantity range, multiple screening results are obtained at least based on the candidate results participating in the screening before the change; The decoding module of the speech recognition model is used to take the multiple screening results as input and output the speech recognition results of the speech data to be recognized.
10. An electronic device, comprising: processor, memory, and communications bus; The communication bus is used to realize the communication connection between the processor and the memory; The processor is used to execute the information processing program stored in the memory to implement the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Voice recognition method and system based on triggered non-autoregressive model
CN112037798A
Speech recognition method and device, electronic equipment and computer readable storage medium
CN113327603A