A dynamic error correction method and system for speech recognition results

By filtering low-entropy paths using frame-level confusion entropy integral values ​​and calculating real-time prosodic feature parameter vector alignment differences, the problem of low speech recognition accuracy in complex acoustic environments is solved, thus improving the accuracy of speech recognition.

CN121600911BActive Publication Date: 2026-04-14SANMING UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-01-21
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing speech recognition technologies struggle to accurately distinguish candidate words with similar acoustic characteristics in complex acoustic environments, resulting in low recognition accuracy.

Method used

By filtering low-entropy effective decoding paths through frame-level confusion entropy integral values, a homophone candidate word grid network is constructed. The prosodic feature alignment difference value is calculated by combining real-time prosodic feature parameter vectors with standard prosodic statistical templates, and the text is dynamically corrected and identified.

Benefits of technology

It improves the accuracy of speech recognition in complex acoustic scenarios by quantifying local uncertainty and introducing prosodic feature information to distinguish homophones or near-homophones with extremely similar acoustic features but subtle differences in intonation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121600911B_ABST
    Figure CN121600911B_ABST
Patent Text Reader

Abstract

The application relates to a dynamic error correction method and system for a speech recognition result, which comprises the following steps: performing frame processing on the speech to be recognized, generating a set of phoneme state posterior probability distributions, and calculating a frame-level confusion entropy integral value to quantify local uncertainty; screening low-entropy effective decoding paths based on the frame-level confusion entropy integral value and a signal-to-noise ratio inverse threshold, and then constructing a homophone candidate word lattice network; extracting audio segments corresponding to each node from the network, calculating a fundamental frequency track and a syllable duration, and generating a real-time rhythm feature parameter vector; calling a standard vocabulary pronunciation statistical library to obtain a standard rhythm statistical template, calculating a rhythm feature alignment difference value between the real-time rhythm feature parameter vector and the template, weighting and deducting the confidence of the candidate word according to the rhythm feature alignment difference value, and selecting the vocabulary with the highest confidence as the text after error correction. The application effectively improves the accuracy of speech recognition in a complex acoustic scene by screening decoding paths and introducing rhythm feature information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of speech recognition technology, and specifically to a dynamic error correction method and system for speech recognition results. Background Technology

[0002] Speech recognition technology aims to automatically convert human speech signals into computer-processable text sequences. Current speech recognition technologies, when handling continuous speech streams in complex acoustic environments, primarily rely on a combination of low-level spectral features and statistical language models to predict word sequences. However, when background noise is high or channel distortion exists, the posterior probability distribution output by the acoustic model tends to flatten, making it difficult for the system to make accurate decisions among multiple candidate words with similar acoustic characteristics. Relying solely on language models for disambiguation is also prone to semantic bias due to limitations in the coverage of the training corpus.

[0003] Therefore, there is an urgent need for a new dynamic error correction mechanism for speech recognition results to solve the problems of insufficient ability to distinguish homophones or near-homophones and low recognition accuracy in complex acoustic environments. Summary of the Invention

[0004] The purpose of this invention is to provide a dynamic error correction method and system for speech recognition results, so as to solve the problem of low recognition accuracy of candidate words with similar acoustic characteristics in complex acoustic environments in the prior art, and improve the accuracy of speech recognition in complex acoustic scenarios.

[0005] To achieve the above objectives, the present invention adopts the following technical solution: a dynamic error correction method for speech recognition results, comprising the following steps:

[0006] Step S1: Based on the received speech data stream to be recognized, perform frame-by-frame windowing processing on the speech data stream according to the preset frame length to generate a phoneme state posterior probability distribution set. Calculate the probability value of each frame in the phoneme state posterior probability distribution set to generate a frame-level confusion entropy integral value.

[0007] Step S2: Based on the frame-level confusion entropy integral value, call the preset signal-to-noise ratio inverse threshold parameter, compare the frame-level confusion entropy integral value with the signal-to-noise ratio inverse threshold parameter, filter out low-entropy effective decoding paths, perform wide beam search in the low-entropy effective decoding paths, establish a directed acyclic graph connection structure between word nodes, and generate a homophone candidate word lattice network.

[0008] Step S3: Based on the homophone candidate word grid network, extract the start and end timestamps of each word node, map the timestamps back to the original speech data stream, extract the corresponding audio segments, generate the audio data segments corresponding to the nodes, extract the fundamental frequency trajectory and calculate the syllable duration of the audio data segments corresponding to the nodes, and generate a real-time prosodic feature parameter vector.

[0009] Step S4: Based on the real-time prosodic feature parameter vector, call the preset standard vocabulary pronunciation statistics library to obtain the standard prosodic statistics template corresponding to the candidate word, calculate the prosodic feature alignment difference value between the real-time prosodic feature parameter vector and the standard prosodic statistics template, subtract the original confidence score of each candidate word in the homophonic candidate word grid network based on the prosodic feature alignment difference value, select the word with the highest confidence score, and generate dynamic error correction recognition text.

[0010] Further, in step S1, generating the frame-level confusion entropy integral value specifically includes:

[0011] Based on the received speech data stream to be recognized, frame-by-frame windowing processing is performed according to the preset frame length parameters and frame shift parameters. Acoustic feature vectors are extracted for each frame of speech signal, and the posterior probability values ​​of each state are calculated under all predefined phoneme states. The mapping relationship between the frame index and the phoneme state index is recorded, and a set of posterior probability distributions of phoneme states is generated.

[0012] Based on the posterior probability distribution set of the phoneme states, the degree of confusion is calculated using the following formula:

[0013]

[0014] in, For the first The numerical value indicating the degree of frame disorder. For the current frame index, For the previous frame index, For the first Phoneme state, The total number of phoneme states. For the first Frame in Posterior probability of each phoneme state For the first Frame in Posterior probability of each phoneme state To adjust the proportional coefficient for the overall impact of the change, To prevent extremely small positive numbers with a denominator of zero;

[0015] Based on the stated degree of confusion, frame-by-frame integration is performed within a preset time window in sequential order to complete the synchronization calibration of the time window boundaries and generate a frame-level confusion entropy integral value.

[0016] Further, in step S2, the low-entropy effective decoding path is selected, specifically as follows:

[0017] Based on the frame-level confusion entropy integral value, each decoding path is mapped to a corresponding time window according to the start and end timestamps of the decoding path. The frame-level confusion entropy integral value within the coverage area of ​​each path is extracted and compared with the inverse signal-to-noise ratio threshold parameter. Decoding paths with values ​​greater than the inverse signal-to-noise ratio threshold parameter are deleted to obtain low-entropy effective decoding paths.

[0018] Further, in step S2, generating a homophone candidate word network specifically includes:

[0019] Based on the low-entropy effective decoding path, a fixed beamwidth and pruning threshold are set to conduct a wide beam search within the same time window. Feasible branches are expanded layer by layer according to the co-occurrence frequency and time continuity of the phoneme state sequence, and branches that do not meet the pruning threshold are removed. Intersubstitutable pronunciation aggregation points are located, and multiple word nodes with pronunciation similarity are generated.

[0020] Based on multiple word nodes with similar pronunciations, a temporally ordered relationship is established according to the start and end timestamps. One-way edges are added to adjacent word nodes according to the connectability criterion that adjacent times do not overlap or the endpoints are connected, forming a directed acyclic graph connection structure and generating a homophone candidate word lattice network.

[0021] Further, in step S3, generating the audio data segment corresponding to the node specifically involves:

[0022] Based on the homophone candidate word grid network, the start and end timestamps are read for each word node. The timestamps are mapped back to the original speech data stream according to the sampling rate. Sample index conversion and boundary alignment are performed. The corresponding audio segments are extracted and the first and last silent samples are removed to generate the audio data segments corresponding to the nodes.

[0023] Further, in step S3, generating a real-time prosodic feature parameter vector specifically includes:

[0024] Based on the audio data segment corresponding to the node, frame-by-frame processing is performed according to fixed frame length and frame shift, and silent frames are removed. The continuous fundamental frequency trajectory is calculated and the syllable duration is segmented at the energy envelope trough and peak. The slope sign of the fundamental frequency trajectory is calculated in time order and the amplitude is converted to obtain the fundamental frequency rise and fall trend value and the syllable duration value.

[0025] Based on the fundamental frequency rise and fall trend values ​​and syllable duration values, the alignment and verification are performed according to the word node time order, and the data is written into the vector slots according to the word node time order to generate a real-time prosodic feature parameter vector.

[0026] Further, in step S4, the prosodic feature alignment difference value is calculated, specifically as follows:

[0027] Based on the real-time prosodic feature parameter vector, the word identifiers corresponding to each word node in the homophonic candidate word grid network are read, the standard word pronunciation statistics library is called to retrieve matching entries, and the entry content is sampled uniformly, time-normalized, and numerical format-standardized to generate a standard prosodic statistics template.

[0028] Calculate the prosodic feature alignment difference value between the standard prosodic statistical template and the real-time prosodic feature parameter vector.

[0029] Furthermore, the formula for calculating the prosodic feature alignment difference value is as follows:

[0030]

[0031]

[0032]

[0033] in, The prosodic feature alignment difference value. To start from the beginning Time The minimum cumulative cost, This comes at the cost of local observation. This is a time-normalized sequence of real-time prosodic feature parameter vectors. For sequence Length, This is a time-normalized sequence based on a standard prosodic statistical template. For sequence Length, , ; The first element in the time-normalized sequence of real-time prosodic feature parameter vectors Parameter values, The first sequence after time normalization of the standard prosodic statistical template Parameter values, This represents the local slope difference between sequence A and sequence B at the current alignment point. This is the dynamic influence coefficient. The significance coefficient is... This represents the maximum significance of sequence A and sequence B at the current alignment point. The first element in the time-normalized sequence of real-time prosodic feature parameter vectors Perceptual saliency values ​​at each location, The first sequence after time normalization of the standard prosodic statistical template Perceptual saliency values ​​at each location, The time warp penalty coefficient, The first sequence after time normalization of the standard prosodic statistical template Structural importance factors at each location.

[0034] Further, in step S4, generating dynamic error-correcting and recognition text specifically involves:

[0035] The prosodic feature alignment difference value is compared with a preset threshold to generate a corresponding penalty ratio. The original confidence scores of each candidate word in the homophonic candidate word grid network are penalized and deducted. The word node sequence with the highest confidence score is backtracked according to the directed acyclic graph connection structure to generate dynamic error correction recognition text.

[0036] The present invention also provides a dynamic error correction system for implementing the speech recognition results of the above method, comprising:

[0037] The speech preprocessing module is used to perform frame-by-frame windowing processing on the received speech data stream to be recognized according to a preset frame length, generate a phoneme state posterior probability distribution set, and calculate the probability value of each frame in the phoneme state posterior probability distribution set to generate a frame-level confusion entropy integral value.

[0038] The decoding path filtering module is used to call a preset signal-to-noise ratio inverse threshold parameter based on the frame-level confusion entropy integral value, compare the frame-level confusion entropy integral value with the signal-to-noise ratio inverse threshold parameter, filter out low-entropy effective decoding paths, perform wide beam search in the low-entropy effective decoding paths, establish a directed acyclic graph connection structure between word nodes, and generate a homophone candidate word lattice network.

[0039] The prosodic feature extraction module is used to extract the start and end timestamps of each word node according to the homophone candidate word grid network, map the timestamps back to the original speech data stream, extract the corresponding audio segments, generate the audio data segments corresponding to the nodes, extract the fundamental frequency trajectory and calculate the syllable duration of the audio data segments corresponding to the nodes, and generate a real-time prosodic feature parameter vector.

[0040] The dynamic error correction module is used to call a preset standard vocabulary pronunciation statistics library according to the real-time prosodic feature parameter vector, obtain the standard prosodic statistics template corresponding to the candidate word, calculate the prosodic feature alignment difference value between the real-time prosodic feature parameter vector and the standard prosodic statistics template, subtract the original confidence score of each candidate word in the homophonic candidate word grid network according to the prosodic feature alignment difference value, select the word with the highest confidence score, and generate dynamic error correction recognition text.

[0041] Compared with existing technologies, this invention has the following beneficial effects: By performing frame-level confusion entropy integral calculation on the posterior probability distribution of phoneme states, this invention can quantify the local uncertainty in the speech recognition process. By using integral smoothing processing, it effectively suppresses transient acoustic noise interference, thereby locating potential high-confusion regions in the recognition results. Combined with the inverse signal-to-noise ratio threshold parameter, it adaptively filters the decoding path to ensure that only low-entropy paths with high confidence are retained in high-noise environments. At the same time, it constructs a homophone candidate word lattice network containing rich possibilities for ambiguous segments, avoiding the risk of prematurely discarding correct candidate words from a single best path. Furthermore, it maps timestamps back to the original data stream to extract fundamental frequency trajectories and syllable durations, introducing prosodic feature information, enabling the recognition process to perceive intonation rise and fall and pronunciation length. By calculating the alignment difference value between real-time prosodic features and standard statistical templates, an objective evaluation mechanism is established. The original confidence of candidate words is weighted and deducted based on prosodic matching degree, thereby distinguishing homophones or near-homophones with extremely similar acoustic features but subtle differences in stress and intonation, improving the semantic accuracy of speech transcription in complex acoustic scenarios. Attached Figure Description

[0042] Figure 1 This is a flowchart of a dynamic error correction method for speech recognition results provided in an embodiment of the present invention. Detailed Implementation

[0043] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0044] It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.

[0045] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments according to this application. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Furthermore, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.

[0046] like Figure 1 As shown, this embodiment provides a dynamic error correction method for speech recognition results, including the following steps:

[0047] Step S1: Based on the received speech data stream to be recognized, perform frame-by-frame windowing processing on the speech data stream according to the preset frame length to generate a phoneme state posterior probability distribution set. Calculate the probability value of each frame in the phoneme state posterior probability distribution set to generate a frame-level confusion entropy integral value.

[0048] Step S2: Based on the frame-level confusion entropy integral value, call the preset signal-to-noise ratio inverse threshold parameter, compare the frame-level confusion entropy integral value with the signal-to-noise ratio inverse threshold parameter, filter out low-entropy effective decoding paths, perform wide beam search in the low-entropy effective decoding paths, establish a directed acyclic graph connection structure between word nodes, and generate a homophone candidate word lattice network.

[0049] Step S3: Based on the homophone candidate word grid network, extract the start and end timestamps of each word node, map the timestamps back to the original speech data stream, extract the corresponding audio segments, generate the audio data segments corresponding to the nodes, extract the fundamental frequency trajectory and calculate the syllable duration of the audio data segments corresponding to the nodes, and generate a real-time prosodic feature parameter vector.

[0050] Step S4: Based on the real-time prosodic feature parameter vector, call the preset standard vocabulary pronunciation statistics library to obtain the standard prosodic statistics template corresponding to the candidate word, calculate the prosodic feature alignment difference value between the real-time prosodic feature parameter vector and the standard prosodic statistics template, subtract the original confidence score of each candidate word in the homophonic candidate word grid network based on the prosodic feature alignment difference value, select the word with the highest confidence score, and generate dynamic error correction recognition text.

[0051] In step S1, generating the frame-level confusion entropy integral value specifically includes:

[0052] 1) Based on the received speech data stream to be recognized, perform frame-by-frame windowing processing according to the preset frame length parameters and frame shift parameters, extract acoustic feature vectors for each frame of speech signal, calculate the posterior probability value of each state under all predefined phoneme states, record the mapping relationship between frame index and phoneme state index, and generate a set of posterior probability distributions of phoneme states.

[0053] 2) Calculate the degree of confusion based on the posterior probability distribution set of the phoneme states. The calculation formula is as follows:

[0054]

[0055] in, For the first The numerical value indicating the degree of frame disorder. For the current frame index, For the previous frame index, For the first Phoneme state, The total number of phoneme states. For the first Frame in Posterior probability of each phoneme state For the first Frame in Posterior probability of each phoneme state To adjust the proportional coefficient for the overall impact of the change, To prevent extremely small positive numbers with a denominator of zero;

[0056] 3) Based on the disorder level value, perform frame-by-frame integration within a preset time window in the order of consecutive frames to complete the synchronous calibration of the time window boundary and generate a frame-level confusion entropy integral value.

[0057] Specifically, based on the received speech data stream to be recognized, the original audio signal is first pre-emphasized, using a pre-emphasis filter with a coefficient of 0.97 to boost the energy of the high-frequency components. Then, it is discretized at a sampling rate of 16kHz. The preset frame length parameter is set to 25 milliseconds, corresponding to 400 sampling points, and the frame shift parameter is set to 10 milliseconds, corresponding to 160 sampling points. The continuous speech stream is divided into short-time frame sequences using an overlapping framing method. A Hamming window function is applied to each segmented frame, and the coefficients of the Hamming window are calculated according to the formula... ,in The number of sampling points is the frame length. Using the current sampling point index to smooth frame edges and reduce spectral leakage, a Fast Fourier Transform is performed on each windowed frame signal to calculate the square of the spectral energy modulus and obtain the power spectrum. The power spectrum is then filtered using a Mel filter bank with 40 triangular filters. After taking the logarithm, a Discrete Cosine Transform is performed, retaining the coefficients from the 1st to the 13th dimensions. First-order and second-order differences are calculated and concatenated to generate a 39-dimensional acoustic feature vector. This feature vector sequence is input into a pre-trained deep neural network acoustic model, which includes an input layer, five hidden layers, and a Softmax output layer. The forward propagation time is... During the calculation, the feature vector is multiplied by the weight matrix of each layer and a bias term is added. After processing by the ReLU activation function, the value is finally mapped to the range of 0 to 1 by the Softmax function in the output layer, and the probability value for all predefined phoneme states is output. The predefined three-phoneme state library, which contains 3000 bound state categories, is traversed. The specific posterior probability value of each frame in all 3000 states is extracted, and a distribution set with a two-dimensional array structure is constructed. At the same time, a one-to-one correspondence key-value pair between the global time index and the phoneme state index of the current frame is established and stored to generate the posterior probability distribution set of the phoneme state.

[0058] In the formula for calculating the degree of confusion, the uncertainty of the current frame during the decoding process is measured by combining static information entropy and dynamic probability change flux. The former uses Shannon entropy to quantify the flatness of the probability distribution output by the acoustic model at the current moment. The larger the entropy value, the more ambiguous the model's judgment of the current phoneme. The latter uses the probability distribution distance between adjacent frames divided by the current entropy value to construct a relative rate of change index, which is used to capture the drastic fluctuations in the transition region of speech state. This design can distinguish between "stable ambiguity" (such as silence or the middle of a long vowel) and "transitional ambiguity" (such as the boundary of phoneme switching), thereby locating error-prone areas.

[0059] For the current frame index, These two parameters, representing the index of the previous frame, are directly derived from the timing number after the speech signal is processed into frames. When processing the 50th frame of data... The value is 50. The value is 49, which is used to locate two adjacent moments in time to ensure that the calculation can capture the dynamic evolution of the speech signal over time. The index value strictly corresponds to the frame sequence number generated in the feature extraction stage.

[0060] For the first Phoneme state, The total number of phoneme states. The values ​​are derived from the triphone state clustering results determined during the acoustic model training phase. In the acoustic model based on a large-vocabulary continuous speech recognition task, context-related triphone states are bound into 3000 independent states through decision tree clustering. The value is 3000. The loop variable iterates from 1 to 3000, representing the state of each specific bound phoneme.

[0061] For the first Frame in Posterior probability of each phoneme state For the first Frame in The posterior probability of the i-th phoneme state is obtained through forward inference of a deep neural network acoustic model. The specific steps are as follows: [The text abruptly ends here, likely due to an incomplete sentence or missing information.] Frame and the The acoustic feature vectors of each frame are input to the Softmax output layer. The model outputs the confidence scores of each phoneme state for that frame. These confidence scores satisfy the normalization condition, i.e., the sum of the probabilities of all states is 1. For example, in the 1st... In each frame, the model outputs a probability of 0.0001 for the first state, 0.8 for the second state, and so on. These values ​​are directly read as parameter inputs.

[0062] To adjust the overall influence of the change term and the proportionality coefficient of the balance dimension, since the denominator of the second term in the formula includes the entropy value (with the dimension Nat), this coefficient needs to be implicitly included to ensure that the result of the second term can be added to the entropy value of the first term. The units of measurement are used to offset the influence of the denominator. The steps for obtaining the values ​​are as follows: Select a development set containing 1000 annotated speech sentences, perform a grid search in the range of 0.1 to 2.0 with a step size of 0.1, and for each... The disorder of the entire development set is calculated and decoding error correction tests are performed. The word error rate (WER) is statistically analyzed, and the value that minimizes the word error rate is selected as the final parameter. This value is then verified through experiments. The value is 0.5.

[0063] To prevent extremely small positive numbers with a denominator of zero, this parameter is used to ensure the numerical stability of the formula in extreme cases (e.g., the model outputs a probability of 1 for a certain state and 0 for the rest, resulting in an entropy of 0), and to avoid computational overflow. Based on the precision requirements of floating-point arithmetic in computers, it is usually set to an extremely small constant, and here it is taken as [value missing]. .

[0064] Calculations based on parameters:

[0065] Select the first part of a voice recording Frame and the The frame demonstrates the calculation example. To simplify the calculation process for demonstration purposes, only the top 3 main states with the highest probability (i.e., The demonstration will be conducted using the given state, while the probabilities of other states will be considered as 0.

[0066] The obtained Posterior probability of a frame in three states for .

[0067] The obtained Posterior probability of a frame in three states for .

[0068] Set the scaling factor , .

[0069] First step, calculate the... The static entropy of a frame (the first term of the formula and the main part of the denominator):

[0070] ;

[0071] ;

[0072] ;

[0073] ;

[0074] The second step is to calculate the sum of the absolute values ​​of the probability differences between adjacent frames (numerator):

[0075] ;

[0076] ;

[0077] ;

[0078] The third step is to substitute the values ​​into the complete formula and calculate. :

[0079] ;

[0080] ;

[0081] ;

[0082] ;

[0083] This result indicates that the first The frame disorder level is 1.0094. This value comprehensively reflects the uncertainty of the current frame model prediction and the degree of drastic state change relative to the previous frame. The higher the value, the more likely the position is to be a phoneme boundary or a difficult-to-identify area. If the value is greater than the subsequently set inverse signal-to-noise ratio threshold, it indicates that the decoding path corresponding to the frame has a high risk of error and needs to be corrected or downweighted through a dynamic error correction mechanism, so as to provide an accurate confidence basis for subsequent wide beam search.

[0084] Based on the disorder level values, the preset time window length is set to 10 frames. This parameter is set according to the statistical results of the average duration of phonemes, covering a speech segment of approximately 100 milliseconds. A first-in-first-out circular buffer queue is established, with a capacity equal to the time window length. The calculated disorder level values ​​are pushed into the queue one by one in the order of consecutive frames. For boundary cases where the start and end positions of the speech stream are less than 10 frames, a mirror filling method is used to symmetrically copy the values ​​at the boundary to complete the window data. Within the time window, frame-by-frame integration is performed. Specifically, the integration is a cumulative summation operation of discrete values. All disorder level values ​​in the queue are traversed and added to obtain the cumulative disorder value corresponding to the current center frame. Then, the time window is slid forward one frame, the old value at the head of the queue is removed, and the new value of the next frame is read in. The accumulation operation is repeated to form a smoothed numerical trajectory. At the same time, in order to eliminate the difference in units under different speech rates, the accumulated result is divided by the time window length for normalization processing to obtain the average disorder entropy per unit time. This normalized result is aligned and marked with the original timestamp of the current frame to generate a frame-level confusion entropy integral value.

[0085] In step S2, the low-entropy effective decoding path is selected as follows:

[0086] Based on the frame-level confusion entropy integral value, each decoding path is mapped to a corresponding time window according to the start and end timestamps of the decoding path. The frame-level confusion entropy integral value within the coverage area of ​​each path is extracted and compared with the inverse signal-to-noise ratio threshold parameter. Decoding paths with values ​​greater than the inverse signal-to-noise ratio threshold parameter are deleted to obtain low-entropy effective decoding paths.

[0087] Specifically, based on the frame-level confusion entropy integral value, the N-best list output by the decoder is read. This list typically contains 10 to 50 alternative paths. Each decoding path in the list is traversed, and the start and end frame indices of each word unit in the original audio are obtained. Based on these indices, the corresponding numerical interval is located in the frame-level confusion entropy integral value sequence. The average value of all integral values ​​within this interval is calculated as the path-level entropy value for that path. A preset signal-to-noise ratio inverse threshold parameter is then called. The setting process for this parameter is as follows: first, the signal-to-noise ratio of the current speech segment is calculated. The average noise power was calculated by selecting the silence data of the first 10 frames of the speech segment. The average signal power is calculated by selecting the top 10 frames with the highest energy within the speech segment. ,calculate Then according to the formula Calculate the threshold, where This is the inverse signal-to-noise ratio threshold parameter. This is the environmental sensitivity coefficient. To prevent tiny quantities with a denominator of zero, Based on tolerance bias, for example, setting , , If the currently calculated If it is 20dB, then The path-level entropy value of each decoding path is compared with the calculated threshold of 4.48. If the path-level entropy value of a path is 5.0, which is greater than the threshold, the path is determined to be in a high-obfuscation region and is untrusted, and it is removed from the N-best list. Otherwise, it is retained. All retained paths are re-indexed to generate low-entropy effective decoding paths.

[0088] In step S2, generating a homophone candidate word network specifically includes:

[0089] 1) Based on the low-entropy effective decoding path, a fixed beamwidth and pruning threshold are set to conduct a wide beam search within the same time window. Feasible branches are expanded layer by layer according to the co-occurrence frequency and time continuity of the phoneme state sequence, and branches that do not meet the pruning threshold are removed. The phoneme aggregation points that can be substituted for each other are located, and multiple word nodes with similar pronunciations are generated.

[0090] 2) Based on the multiple word nodes with similar pronunciations, establish a time-ordered relationship according to the start and end timestamps, add unidirectional edges to adjacent word nodes according to the connectability criterion that adjacent times do not overlap or the endpoints are connected, form a directed acyclic graph connection structure, and generate a homophone candidate word grid network.

[0091] Specifically, based on the low-entropy effective decoding path, the configuration parameters for wide-beam search are initialized, and a fixed beamwidth of 40 is set. This means that at each time step in the decoding process, only the 40 active state nodes with the highest cumulative scores are retained. The calculation logic for the pruning threshold is set, which dynamically fluctuates based on the score of the best path at the current time, and obtains the highest log probability score among all active paths at the current time. Set the preset tolerance range value The value is set to 15.0. This value was determined by referencing the distribution of score differences between the correct and optimal paths in a large number of historical decoding logs, taking the difference covered by the 99% confidence interval, and calculating the pruning threshold. For example, if the current highest score is -120.5, then the pruning threshold is -135.5. The search is expanded within the time window, and the weighted sum of the acoustic model score and the language model score of each expansion branch is calculated. If the cumulative total score of a branch is lower than -135.5, the branch is directly truncated and expansion is stopped. For the remaining branches, the corresponding phoneme sequence is extracted, and a pre-set phoneme confusion matrix is ​​called. This matrix records the misidentification probability between each phoneme pair. The edit distance between the pronunciation sequences of words in different branches is calculated. If the edit distance between two words is less than or equal to 1, that is, there is only a difference of one phoneme, then they are determined to belong to the same pronunciation aggregation point. These words are marked as candidate objects, and their corresponding word text, start and end time and confidence score are extracted to generate multiple word nodes with pronunciation similarity.

[0092] Based on multiple word nodes with similar pronunciations, an adjacency list data structure is constructed to store the topological relationships of the graph, and the start timestamps of all word nodes are read. and end timestamp Sort all nodes in ascending order based on their starting timestamp values. Iterate through the sorted list of nodes, and for any two nodes in the list... and (in exist Previously, they were checked to see if they met the time connectivity criterion. The formula for determining the connectivity criterion is as follows: ,in For successor nodes The start timestamp, Predecessor node End timestamp, The tolerance parameter, which sets the allowed number of frames for time-series continuation, is based on the average statistical error of the phoneme segmentation boundaries. For example, it can be set to... (Approximately 30 milliseconds) If the calculated end time of node A is frame 100 and the start time of node B is frame 102, and the absolute value of the difference is 2, which is less than the threshold of 3, then it is determined that the two satisfy the connection condition. A directed edge from node A to node B is created in the adjacency list, and the transition probability between nodes is obtained by querying the language model as the weight of the edge. This step is repeated until all possible node combinations are traversed. Finally, the depth-first search algorithm is used to detect whether there is a cycle in the graph. If a cycle is found, the edge with the smallest weight in the cycle is disconnected to ensure the unidirectional fluidity of the graph structure and generate a homophone candidate word grid network.

[0093] In step S3, generating the audio data segment corresponding to the node specifically involves:

[0094] Based on the homophone candidate word grid network, the start and end timestamps are read for each word node. The timestamps are mapped back to the original speech data stream according to the sampling rate. Sample index conversion and boundary alignment are performed. The corresponding audio segments are extracted and the first and last silent samples are removed to generate the audio data segments corresponding to the nodes.

[0095] Specifically, based on the homophone candidate word grid network, each word node in the network is traversed, and its start and end timestamp information is read. These timestamps are usually in the form of frame indices. According to the sampling rate parameter set during audio recording, such as 16000Hz, the time length corresponding to each frame is calculated. If the frame shift is 10 milliseconds, then each additional frame corresponds to 160 sampling points. The start frame index is multiplied by 160 to obtain the start sampling point position, and the end frame index is multiplied by 160 to obtain the end sampling point position. The calculated sampling point positions are used to locate the corresponding digital signal segments in the original speech data stream. For the segmented segments, the short-time energy analysis method is used to detect the silence at the beginning and end. The short-time energy threshold is set to 10% of the average energy of the segment. The scan proceeds from the start point of the segment until the energy of 5 consecutive sampling points is higher than the threshold, which is marked as a valid start point. Similarly, the scan proceeds from the end point to determine the valid end point. If no obvious silence segment is detected, the original segment is retained, and the audio is re-segmented according to the valid start and end points to generate the audio data segments corresponding to the nodes.

[0096] In step S3, generating the real-time prosodic feature parameter vector specifically includes:

[0097] 1) Based on the audio data segment corresponding to the node, perform frame-by-frame processing with fixed frame length and frame shift, remove silent frames, calculate the continuous fundamental frequency trajectory, and segment the syllable duration at the energy envelope trough and peak. Calculate the slope sign of the fundamental frequency trajectory in chronological order and convert the amplitude to obtain the fundamental frequency rise and fall trend value and the syllable duration value.

[0098] 2) Based on the fundamental frequency rise and fall trend value and the syllable duration value, the alignment and verification are performed according to the word node time order, and the data is written into the vector slot according to the word node time order to generate a real-time prosodic feature parameter vector.

[0099] Specifically, based on the audio data segment corresponding to the node, the analysis frame length is set to 25 milliseconds and the frame shift to 10 milliseconds. Each audio data segment is windowed and framed, and the energy value of each frame is calculated. If the energy value is lower than the preset silence threshold (e.g., 5% of the maximum energy of the entire segment), it is marked as a silent frame and removed. For the remaining audio frames, the fundamental frequency (F0) is extracted using the autocorrelation function method, with the fundamental frequency search range set to 50Hz to 400Hz. Peak detection is performed on the autocorrelation results of each frame to determine the fundamental frequency value, forming a continuous fundamental frequency trajectory. At the same time, the short-time energy envelope of each frame is calculated, and local minima in the envelope are found as syllable segmentation boundaries. The time difference between adjacent boundaries is counted to obtain the duration of each syllable (in milliseconds). For the fundamental frequency trajectory, the least squares method is used to linearly fit the F0 curve within each syllable to obtain the slope of the fitted line. ,like If it is determined to be a rising tone, If the tone is determined to be falling, it is determined to be level. At the same time, the difference between the maximum and minimum values ​​of F0 within the syllable is calculated as the amplitude change. The slope sign (rising / falling / level corresponds to 1 / -1 / 0) is combined with the amplitude change to obtain the fundamental frequency rise / fall trend value and the syllable duration value.

[0100] Based on the fundamental frequency rise and fall trend values ​​and syllable duration values, a fixed-length feature vector template is established. This template contains fundamental frequency feature slots and duration feature slots corresponding to each syllable. According to the time order of the phoneme sequence in the word node, the fundamental frequency rise and fall trend value of the first extracted syllable is filled into the first fundamental frequency slot, and the corresponding syllable duration value is filled into the first duration slot, and so on. If the actual number of detected syllables is less than the number of slots preset in the template, the remaining slots are filled with zeros. If it is more than the number of slots, the features of the first N main syllables are taken. At the same time, all the filled values ​​are normalized. The syllable duration value is divided by the total duration of the word node to obtain the relative duration ratio, and the fundamental frequency amplitude change is divided by the average fundamental frequency value of the audio segment to obtain the relative amplitude change rate. Finally, all the processed values ​​are concatenated in order to generate a real-time prosodic feature parameter vector.

[0101] In step S4, the prosodic feature alignment difference value is calculated as follows:

[0102] Based on the real-time prosodic feature parameter vector, the word identifiers corresponding to each word node in the homophonic candidate word grid network are read, the standard word pronunciation statistics library is called to retrieve matching entries, and the entry content is sampled uniformly, time-normalized, and numerical format-standardized to generate a standard prosodic statistics template.

[0103] Calculate the prosodic feature alignment difference value between the standard prosodic statistical template and the real-time prosodic feature parameter vector.

[0104] The formula for calculating the prosodic feature alignment difference value is as follows:

[0105]

[0106]

[0107]

[0108] in, The prosodic feature alignment difference value. To start from the beginning Time The minimum cumulative cost, This comes at the cost of local observation. This is a time-normalized sequence of real-time prosodic feature parameter vectors. For sequence Length, This is a time-normalized sequence based on a standard prosodic statistical template. For sequence Length, , ; The first element in the time-normalized sequence of real-time prosodic feature parameter vectors Parameter values, The first sequence after time normalization of the standard prosodic statistical template Parameter values, This represents the local slope difference between sequence A and sequence B at the current alignment point. This is the dynamic influence coefficient. The significance coefficient is... This represents the maximum significance of sequence A and sequence B at the current alignment point. The first element in the time-normalized sequence of real-time prosodic feature parameter vectors Perceptual saliency values ​​at each location, The first sequence after time normalization of the standard prosodic statistical template Perceptual saliency values ​​at each location, The time warp penalty coefficient, The first sequence after time normalization of the standard prosodic statistical template Structural importance factors at each location.

[0109] Specifically, based on the real-time prosodic feature parameter vector, each candidate word node in the homophonic candidate word grid network is traversed, and its corresponding unique identifier is extracted. A query connection is established with a pre-set standard word pronunciation statistics database, which is constructed based on 5,000 hours of standard Mandarin broadcast-level speech data. This database contains the average prosodic parameters of tens of thousands of commonly used words in different contexts. The corresponding standard pronunciation data entries are retrieved from the database using the word identifiers to obtain raw data containing the standard fundamental frequency trajectory, average syllable duration, and energy distribution. A sampling rate unification operation is performed on the obtained raw data. If the sampling rate of the standard database data is 44.1kHz while the real-time data is 16kHz, a multiphase filtering resampling algorithm is used to downsample the standard data to 16kHz to eliminate errors caused by inconsistent frequency resolution. Then, time normalization is performed. Considering the differences in speech rate among different speakers, the absolute duration is not used directly. Instead, the proportion of each syllable duration to the total word pronunciation duration is calculated, and the absolute milliseconds are converted into relative proportion values. The numerical format is standardized using the Z-score normalization method, and the global mean of the word pronunciation features pre-stored in the database is read. with standard deviation For the feature values ​​of each frame implement The transformation eliminates the influence of different individual pronunciation pitch benchmarks, and the processed feature sequences are encapsulated in chronological order to generate standard prosodic statistical templates.

[0110] In the formula for calculating the prosodic feature alignment difference, conventional DTW only considers the Euclidean distance of the values, which is prone to misalignment under noise interference. This formula, however, addresses the issue of local observation costs. It simultaneously measures numerical differences and differences in trends (slopes), and amplifies alignment errors of key syllables (such as stressed syllables) using perceptual salience. It also applies a dynamic penalty to off-diagonal movement (i.e., time stretching) using a structural importance factor, thereby ensuring that low difference values ​​are obtained only when the prosodic structures are highly similar, effectively distinguishing erroneous candidate words with the same pronunciation content but prosodic inconsistencies.

[0111] and These are the normalized fundamental frequency component sequences extracted from the real-time prosodic feature parameter vector and the time-normalized sequence of the standard prosodic statistical template, respectively. It is not the entire multidimensional vector, but the Z-score value representing pitch change in the vector. The steps to obtain it are as follows: extract the fundamental frequency (F0) dimension value separately from the real-time feature parameter vector sequence generated in the previous step. This value has been Z-score standardized and usually takes a value between -3 and 3, representing the standard deviation multiple of the deviation from the mean. It is used as the calculation input to measure the distance between the two in the pitch trend.

[0112] The dynamic influence coefficient is used to adjust the weight of local slope differences in the overall difference. This parameter reflects the sensitivity of auditory perception to pitch change trends. The numerical acquisition steps are as follows: 1000 clearly pronounced speech samples with subtle pitch differences are selected. Five linguistic experts are invited to listen and score these samples, focusing on evaluating the matching degree of pitch trend. Simultaneously, the numerical distance and slope distance of the samples are calculated. A multiple regression model is established, with expert scores as the target variable and numerical distance and slope distance as independent variables. The regression coefficient is calculated. Through extensive experimental regression analysis, the empirical value of this coefficient is determined to be 1.5, indicating that differences in slope shape are more discriminative than simple numerical differences, and because... All are dimensionless Z-score values, therefore It is also a dimensionless coefficient.

[0113] The significance factor is used to control the degree to which perceived significance amplifies errors. The steps to obtain this parameter are as follows: construct a test set containing accented and non-accented errors; statistically analyze the false negative rate of the recognition system under different error types; and adjust the value within the range of 0.1 to 3.0 using a grid search method. The value is used to observe the response magnitude of the alignment difference value at the accent position. The goal is to make a small difference at the accent position produce a cost of the same magnitude as a large difference at other positions. Based on the test results, this coefficient is set to 1.0.

[0114] and This is the perceptual saliency value of the sequence at a specific position, representing the degree of auditory salience at that time point. The steps to obtain this value are as follows: considering both the relative energy and relative duration of the syllables, the calculation formula is... ,in Energy of the current frame The maximum energy of the word in question. Syllable duration For the longest syllable duration, all energy and duration are taken from the corresponding components in the feature vector, and the calculation result is a dimensionless value between 0 and 1. For example, if a stressed syllable has strong energy and a long duration, the calculated value is... .

[0115] The time warp penalty coefficient is used to prevent excessive path warping, i.e., excessive time stretching. The steps to obtain this parameter are: analyzing the range of speech rate variations in standard Mandarin, statistically analyzing the variance of the duration stretching ratio of the same word at different speech rates, setting a baseline penalty value of 0.5, and testing the alignment accuracy under different penalty values ​​on the validation set. The final coefficient was determined to be 0.6, meaning that each insertion or deletion operation (time misalignment) incurs an additional cost, which is related to... Same magnitude.

[0116] For the standard prosodic statistics template The structural importance factor of each position reflects its status in the prosodic structure of the word. The steps to obtain it are as follows: based on the linguistic knowledge base, the syllables in the word are marked as the beginning, middle, end and stress positions, and different weights are assigned to them. For example, the weight of the stress position is 1.2 and the weight of the unstressed position is 0.8. This value is directly stored in the metadata of the standard vocabulary pronunciation statistics database and is directly called during matching.

[0117] Calculations based on parameters:

[0118] Set sequence (Real-time baseband Z-score value) ,length ;sequence (Standard fundamental frequency Z-score value) ,length .

[0119] Set the value of the previous time step (Used to calculate the slope of the first point).

[0120] Setting significance , .

[0121] Setting structural factors .

[0122] parameter .

[0123] Initialize boundary conditions: ,the remaining and All are infinite.

[0124] Step 1: Calculate local cost .

[0125] Squared difference of numerical values: .

[0126] Slope difference (dimensionless): , .

[0127] Squared difference in slope: .

[0128] Maximum significance: .

[0129] .

[0130] calculate Only from Move diagonally.

[0131] .

[0132] Step 2: Calculate local cost .

[0133] Squared difference of numerical values: .

[0134] Slope difference: , .

[0135] Slope difference squared: 0.

[0136] Significance: .

[0137] .

[0138] calculate :

[0139] Path 1: Unreachable.

[0140] Path 2: (Horizontal movement).

[0141] Path 3: Unreachable.

[0142] Take the minimum value. .

[0143] Step 3: Calculate local cost .

[0144] Squared difference of numerical values: .

[0145] Slope difference: , .

[0146] Squared difference in slope: .

[0147] Significance: .

[0148] .

[0149] calculate :

[0150] Path 1: (Vertical movement).

[0151] .

[0152] Step 4: Calculate local cost .

[0153] Squared difference of numerical values: .

[0154] Slope difference: , .

[0155] Squared difference in slope: .

[0156] Significance: .

[0157] .

[0158] calculate Source of minimum value:

[0159] .

[0160] .

[0161] (Move diagonally).

[0162] Obviously, diagonal movement has the lowest cost.

[0163] .

[0164] Final result The prosodic feature alignment difference between the real-time prosodic feature sequence and the standard template is 0.8734. The smaller the value, the higher the degree of agreement between the two in terms of fundamental frequency amplitude, fundamental frequency change trend and key prosodic points. That is, the prosodic performance of the candidate word is closer to the standard pronunciation. Conversely, if the value is too large, it means that although the phoneme sequence may match, there is a significant deviation in the prosodic features. It is very likely that the homonym is misidentified. This value will be directly used as the quantitative basis for the subsequent penalty mechanism.

[0165] In step S4, generating dynamic error-correcting and recognition text specifically involves:

[0166] The prosodic feature alignment difference value is compared with a preset threshold to generate a corresponding penalty ratio. The original confidence scores of each candidate word in the homophonic candidate word grid network are penalized and deducted. The word node sequence with the highest confidence score is backtracked according to the directed acyclic graph connection structure to generate dynamic error correction recognition text.

[0167] Specifically, the prosodic feature alignment difference value is compared with a preset threshold. The process of setting the preset threshold is to collect one thousand correctly recognized speech entries that have been manually verified, and calculate their average alignment difference value with the standard template. and standard deviation Set threshold For example, calculated ,but The difference value calculated at the moment Compared with 0.9, if If the rhythm is well matched, the penalty ratio is set to 0. Then, the linear mapping function is called to generate the penalty ratio, and the formula is: ,in The penalty slope coefficient is set to 0.5, for example. ,but That is, deducting 10% of the score, based on the generated penalty ratio, reading the original confidence scores of each candidate word in the homophonic candidate word grid network, performing the subtraction operation, updating the final score of each node, in the updated word grid network, using the Viterbi algorithm to backtrack from the starting node according to the principle of maximizing the cumulative score, confirming the optimal word node sequence one by one, and splicing the text content corresponding to these nodes to generate dynamic error correction recognition text.

[0168] This embodiment also provides a dynamic error correction system for implementing the speech recognition results of the above method, including: a speech preprocessing module, a decoding path filtering module, a prosodic feature extraction module, and a dynamic error correction module.

[0169] The speech preprocessing module is used to perform frame-by-frame windowing processing on the received speech data stream to be recognized according to a preset frame length, generate a phoneme state posterior probability distribution set, and calculate the probability value of each frame in the phoneme state posterior probability distribution set to generate a frame-level confusion entropy integral value.

[0170] The decoding path filtering module is used to call a preset signal-to-noise ratio inverse threshold parameter based on the frame-level confusion entropy integral value, compare the frame-level confusion entropy integral value with the signal-to-noise ratio inverse threshold parameter, filter out low-entropy effective decoding paths, perform wide-beam search in the low-entropy effective decoding paths, establish a directed acyclic graph connection structure between word nodes, and generate a homophone candidate word lattice network.

[0171] The prosodic feature extraction module is used to extract the start and end timestamps of each word node according to the homophonic candidate word grid network, map the timestamps back to the original speech data stream, extract the corresponding audio segments, generate the audio data segments corresponding to the nodes, extract the fundamental frequency trajectory and calculate the syllable duration of the audio data segments corresponding to the nodes, and generate a real-time prosodic feature parameter vector.

[0172] The dynamic error correction module is used to call a preset standard vocabulary pronunciation statistics library according to the real-time prosodic feature parameter vector, obtain the standard prosodic statistics template corresponding to the candidate word, calculate the prosodic feature alignment difference value between the real-time prosodic feature parameter vector and the standard prosodic statistics template, deduct the original confidence score of each candidate word in the homophonic candidate word grid network according to the prosodic feature alignment difference value, select the word with the highest confidence score, and generate dynamic error correction recognition text.

[0173] This embodiment also provides a computer device, including: at least one processor, at least one memory, and computer program instructions stored in the memory, which implement the above-described method when executed by the processor.

[0174] This embodiment also provides a computer-readable storage medium storing computer program instructions that, when executed by a processor, implement the above-described method.

[0175] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0176] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0177] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0178] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0179] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.

Claims

1. A dynamic error correction method for speech recognition results, characterized in that, Includes the following steps: Step S1: Based on the received speech data stream to be recognized, perform frame-by-frame windowing processing on the speech data stream according to the preset frame length to generate a phoneme state posterior probability distribution set. Calculate the probability value of each frame in the phoneme state posterior probability distribution set to generate a frame-level confusion entropy integral value. Step S2: Based on the frame-level confusion entropy integral value, call the preset signal-to-noise ratio inverse threshold parameter, compare the frame-level confusion entropy integral value with the signal-to-noise ratio inverse threshold parameter, filter out low-entropy effective decoding paths, perform wide beam search in the low-entropy effective decoding paths, establish a directed acyclic graph connection structure between word nodes, and generate a homophone candidate word lattice network. Step S3: Based on the homophone candidate word grid network, extract the start and end timestamps of each word node, map the timestamps back to the original speech data stream, extract the corresponding audio segments, generate the audio data segments corresponding to the nodes, extract the fundamental frequency trajectory and calculate the syllable duration of the audio data segments corresponding to the nodes, and generate a real-time prosodic feature parameter vector. Step S4: Based on the real-time prosodic feature parameter vector, call the preset standard vocabulary pronunciation statistics library to obtain the standard prosodic statistics template corresponding to the candidate word, calculate the prosodic feature alignment difference value between the real-time prosodic feature parameter vector and the standard prosodic statistics template, subtract the original confidence score of each candidate word in the homophonic candidate word grid network based on the prosodic feature alignment difference value, select the word with the highest confidence score, and generate dynamic error correction recognition text; In step S1, generating the frame-level confusion entropy integral value specifically includes: Based on the received speech data stream to be recognized, frame-by-frame windowing processing is performed according to the preset frame length parameters and frame shift parameters. Acoustic feature vectors are extracted for each frame of speech signal, and the posterior probability values ​​of each state are calculated under all predefined phoneme states. The mapping relationship between the frame index and the phoneme state index is recorded, and a set of posterior probability distributions of phoneme states is generated. Based on the posterior probability distribution set of the phoneme states, the degree of confusion is calculated using the following formula: in, For the first The numerical value indicating the degree of frame disorder. For the current frame index, For the previous frame index, For the first Phoneme state, The total number of phoneme states. For the first Frame in Posterior probability of each phoneme state For the first Frame in Posterior probability of each phoneme state To adjust the proportional coefficient for the overall impact of the change, To prevent extremely small positive numbers with a denominator of zero; Based on the stated degree of confusion, frame-by-frame integration is performed within a preset time window in sequential order to complete the synchronization calibration of the time window boundaries and generate a frame-level confusion entropy integral value.

2. The dynamic error correction method for speech recognition results according to claim 1, characterized in that, In step S2, the low-entropy effective decoding path is selected as follows: Based on the frame-level confusion entropy integral value, each decoding path is mapped to a corresponding time window according to the start and end timestamps of the decoding path. The frame-level confusion entropy integral value within the coverage area of ​​each path is extracted and compared with the inverse signal-to-noise ratio threshold parameter. Decoding paths with values ​​greater than the inverse signal-to-noise ratio threshold parameter are deleted to obtain low-entropy effective decoding paths.

3. The dynamic error correction method for speech recognition results according to claim 1, characterized in that, In step S2, generating a homophone candidate word network specifically includes: Based on the low-entropy effective decoding path, a fixed beamwidth and pruning threshold are set to conduct a wide beam search within the same time window. Feasible branches are expanded layer by layer according to the co-occurrence frequency and time continuity of the phoneme state sequence, and branches that do not meet the pruning threshold are removed. Intersubstitutable pronunciation aggregation points are located, and multiple word nodes with pronunciation similarity are generated. Based on multiple word nodes with similar pronunciations, a temporally ordered relationship is established according to the start and end timestamps. One-way edges are added to adjacent word nodes according to the connectability criterion that adjacent times do not overlap or the endpoints are connected, forming a directed acyclic graph connection structure and generating a homophone candidate word lattice network.

4. The dynamic error correction method for speech recognition results according to claim 1, characterized in that, In step S3, generating the audio data segment corresponding to the node specifically involves: Based on the homophone candidate word grid network, the start and end timestamps are read for each word node. The timestamps are mapped back to the original speech data stream according to the sampling rate. Sample index conversion and boundary alignment are performed. The corresponding audio segments are extracted and the first and last silent samples are removed to generate the audio data segments corresponding to the nodes.

5. The dynamic error correction method for speech recognition results according to claim 1, characterized in that, In step S3, generating the real-time prosodic feature parameter vector specifically includes: Based on the audio data segment corresponding to the node, frame-by-frame processing is performed according to fixed frame length and frame shift, and silent frames are removed. The continuous fundamental frequency trajectory is calculated and the syllable duration is segmented at the energy envelope trough and peak. The slope sign of the fundamental frequency trajectory is calculated in time order and the amplitude is converted to obtain the fundamental frequency rise and fall trend value and the syllable duration value. Based on the fundamental frequency rise and fall trend values ​​and syllable duration values, the alignment and verification are performed according to the word node time order, and the data is written into the vector slots according to the word node time order to generate a real-time prosodic feature parameter vector.

6. The dynamic error correction method for speech recognition results according to claim 1, characterized in that, In step S4, the prosodic feature alignment difference value is calculated as follows: Based on the real-time prosodic feature parameter vector, the word identifiers corresponding to each word node in the homophonic candidate word grid network are read, the standard word pronunciation statistics library is called to retrieve matching entries, and the entry content is sampled uniformly, time-normalized, and numerical format-standardized to generate a standard prosodic statistics template. Calculate the prosodic feature alignment difference value between the standard prosodic statistical template and the real-time prosodic feature parameter vector.

7. The dynamic error correction method for speech recognition results according to claim 1, characterized in that, In step S4, generating dynamic error-correcting and recognition text specifically involves: The prosodic feature alignment difference value is compared with a preset threshold to generate a corresponding penalty ratio. The original confidence scores of each candidate word in the homophonic candidate word grid network are penalized and deducted. The word node sequence with the highest confidence score is backtracked according to the directed acyclic graph connection structure to generate dynamic error correction recognition text.

8. A dynamic error correction system for achieving the speech recognition result of the method as described in any one of claims 1-7, characterized in that, include: The speech preprocessing module is used to perform frame-by-frame windowing processing on the received speech data stream to be recognized according to a preset frame length, generate a phoneme state posterior probability distribution set, and calculate the probability value of each frame in the phoneme state posterior probability distribution set to generate a frame-level confusion entropy integral value. The decoding path filtering module is used to call a preset signal-to-noise ratio inverse threshold parameter based on the frame-level confusion entropy integral value, compare the frame-level confusion entropy integral value with the signal-to-noise ratio inverse threshold parameter, filter out low-entropy effective decoding paths, perform wide beam search in the low-entropy effective decoding paths, establish a directed acyclic graph connection structure between word nodes, and generate a homophone candidate word lattice network. The prosodic feature extraction module is used to extract the start and end timestamps of each word node according to the homophone candidate word grid network, map the timestamps back to the original speech data stream, extract the corresponding audio segments, generate the audio data segments corresponding to the nodes, extract the fundamental frequency trajectory and calculate the syllable duration of the audio data segments corresponding to the nodes, and generate a real-time prosodic feature parameter vector. The dynamic error correction module is used to call a preset standard vocabulary pronunciation statistics library according to the real-time prosodic feature parameter vector, obtain the standard prosodic statistics template corresponding to the candidate word, calculate the prosodic feature alignment difference value between the real-time prosodic feature parameter vector and the standard prosodic statistics template, subtract the original confidence score of each candidate word in the homophonic candidate word grid network according to the prosodic feature alignment difference value, select the word with the highest confidence score, and generate dynamic error correction recognition text.

Citation Information

Patent Citations

  • Phoneme confusion network-based phoneme posterior probability calculation method

    CN101887725A

  • Two-process error correction method and device for real-time speech transcription

    CN120690225A