## 3 Systems
### Spoken Term Detection
#### 3.1.1 Kaldi-Based DNN with Data Augmentation System (Kaldi DNN + DA)
Specifically, these text transcriptions are given to the SRILM toolkit [173] to create a trigram-based language model with 45,000 trigrams, 188,000 bigrams and 28,000 unigrams. The system's vocabulary consists of the different words contained in the training data and, after removing the OOV words, amounts to 28,000 words. The multilingual G2P transcriber [174] is employed to obtain the phone transcription of each word. Then, the Kaldi decoder outputs word lattices using the DNN-HMM based acoustic models. The STD subsystem, which takes the word lattices as input, includes the Kaldi term detector and Kaldi decision maker. The Kaldi term detector [74; 76; 77] searches for the input queries within the word lattices. To do so, these lattices are first processed using the lattice indexing technique described in [175] so that these are converted from individual weighted finite state transducers (WFSTs) to a single generalized factor transducer structure in which the start-time, end-time and lattice posterior probability of each word token are stored as 3-dimensional vectors. This factor transducer represents an inverted index of all word sequences in the lattices. Thus, given a list of queries in a written form, a finite state machine is first created, then it accepts each query and finally composes it with the factor transducer to obtain all occurrences of the queries in the search speech files. The Kaldi decision maker provides a YES/NO decision for each detection based on the term specific threshold (TST) approach presented in [54], so that a score for each detection is computed as shown in Equation (4):  
\[p>\frac{N_{conf}}{\frac{T}{\beta}+\frac{\beta-1}{\beta}N_{conf}}, \tag{4}\]  
where \(p\) is the confidence score of the detection, \(N_{conf}\) is the sum of the confidence score of all the detections of the given query, \(\beta\) is set to 999.9 (as in Equation (1)), and \(T\) is the length of the audio (in seconds). No strategy was employed for retrieving the OOV words, and therefore this system cannot detect the OOV terms. In order to alleviate the data mismatch between training and test speech, a data augmentation strategy is incorporated to the system. This aims to generate artificial (i.e., synthetic) speech data to augment the speech training material. Both noise databases and a tool to simulate noisy conditions in the speech with different signal-to-noise ratio (SNR) levels were employed. The noise resources consist of two different databases: (1) free TV programs and radio music background excerpts collected through the Internet; and (2) the DEMAND database [176]. The noise effects in the DEMAND database are common in-door and out-door background sounds, which aim to mimic acoustic noises that occur in natural conversations, such as those in the MAVIR database. Both TV programs and radio music background excerpts aim to mimic the acoustic events that may occur in the RTVE database. The filtering and noise adding tool (FaNT), which was originally used to create noisy data in the AURORA 2 speech recognition corpus, was employed to synthesize the augmented speech data [177]. This tool allows adding noise to previously recorded speech signals with the desired SNR. Two different SNR ranges were employed for the two noise databases (i.e., 1-10 dB and 6-15 dB) so that the training data are augmented by a factor of 4.