{'fraction_non_alphanumeric': 0.02799650043744532, 'fraction_numerical': 0.0, 'mean_word_length': 5.217391304347826, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Russian sub-word based speech recognition using pocketsphinx engine

Russian is a synthetic language with a large morpheme-per-word ratio and highly inflective nature. These two peculiarities increase the lexicon size for Russian automatic speech recognition (ASR) by tens of times in comparison to that for English covering the same out-of-vocabulary (OOV) rate. The employment of sub-word units is a widely spread state-of-the-art approach to reduce the abundant lexicon and lower the perplexity (PP) of the language model. The choice of sub-word units affects the accuracy of the entire speech recognition system, its performance as well as the complexity of the spoken phrase synthesis. Here, different recognition units are investigated using pocketsphinx-engine while recognizing the vocabulary of several million word forms. A designed text normalization approach is also briefly presented. This rule-based algorithm allows keeping diverse Russian abbreviations and numerals in the language model (LM) and avoiding the statistics distortion. The approach is directly applicable and useful for Russian text-to-speech translation as well.