# MLLP-VRAIN Spanish ASR Systems for the Albayzin-RTVE 2020 Speech-to-Text Challenge: Extension
## 3 MLLP-VRAIN Systems
### Decoding Strategy  
Our hybrid ASR systems follow a real-time one-pass decoding by means of a History Conditioned Search (HCS) strategy, as described in [16]. HCS groups hypotheses by their LM history, with each group representing all state hypotheses sharing a common history. In this way, word histories only need to be considered when handling word labels, and thus can be ignored during dynamic programming at intra-word state level [50]. This approach allows us to benefit from the direct usage of additional LMs during decoding while satisfying real-time constraints. This decoding strategy introduces two additional and relevant parameters to control the trade-off between Real-Time Factor (RTF) and WER: LM history recombination, and LM histogram pruning. The static look-ahead table, needed by the decoder to use pre-computed look-ahead LM scores, is generated from a pruned version of the n-gram LM.  
For streaming ASR, as the full sequence (context) is not available during decoding, BLSTM AMs are queried with a sliding, overlapping context window of limited size over the input sequence, averaging outputs of all windows for each frame to obtain the corresponding acoustic score [20]. The size of the context window (in frames or seconds) is set in decoding, and defines the theoretical latency of the system. This limitation of the context prevents us from performing a Full Sequence Normalization, which is typically applied under the off-line setting. Instead, we applied the Weighted Moving Average (WMA) technique, which uses the content of the current context window to update normalization statistics on-the-fly [51]. This technique is applied over a batch \(B_{j}\) of frames as  
\[\hat{B}_{j}=B_{j}-\hat{\mu}_{j} \tag{1}\]  
where  
\[\hat{\mu}_{j}=\frac{\mathbf{f}_{j-1}+\sum_{t=1}^{b+w}B_{j,t}}{n_{j-1}+b+w} \tag{2}\]  
being \(\mathbf{f}_{j-1}\) the accumulated values of previous frames until batch \(B_{j-1}\), \(B_{j,t}\) the \(t\)-th frame in batch \(B_{j}\), \(n_{j-1}\) the number of frames until batch \(B_{j-1}\), and \(b\) and \(w\) the batch and window sizes, respectively. \(\mathbf{f}_{j}\) and \(n_{j}\) are accumulated values that are updated by weighting the contribution of previous batches with an adjustable parameter \(\alpha\):  
\[\mathbf{f}_{j}=\alpha\cdot\mathbf{f}_{j-1}+\sum_{t=1}^{b}B_{j,t} \tag{3}\]  
\[n_{j}=\alpha\cdot n_{j-1}+b \tag{4}\]  
Finally, as Transformer LMs have the inherent capacity of attending to potentially infinite word sequences, history is limited to a given maximum number of words, in order to meet the strict computational time constraints imposed by the streaming scenario [21]. By applying all these modifications, our decoder acquires the capacity to deliver live transcriptions for incoming audio streams of potentially infinite length, with latencies lower-bounded by the context window size.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Corpus** & **S (K)** & **RW (K)** & **V (K)** \\ \hline Common Crawl [49] & 1719 & 41,792 & 486 \\ Internal: & 1361 & 35,170 & 126 \\ parliamentary data & News & & \\ Commentary [46] & 207 & 5448 & 83 \\ Internal: educational & 87 & 1526 & 35 \\ \hline TOTAL & 369,434 & 3,423,146 & 5785 \\ \hline Google-counts v2 [37] & - & 97,447,282 & 3693 \\ \hline \hline \end{tabular}
\end{table}
Table 2: _Cont._