\begin{document} 
\overfullrule = 0 pt 		%we don't like those #?!* 
\def \wtab {\hskip 12.5 mm}              %typewriter-like tabulator 

\author{Jan Nouza}
\title{Lecture Notes in Computer Science:}
\def \styleeajf#1{#1}     %Default predefined paragraph style  Font: Roman 
\def \stylea#1 { \styleeajf{ \parindent = 11.35 pt  #1  } }   %Normal  Font: Times
\def \styleb#1 { \stylea{ \fontseries{b}\selectfont\fontsize{14}{16.8pt}\selectfont \newpage\begin{samepage}\parindent = 0 pt  #1 \end{samepage}\vskip 80pt  } }   %Heading 1
\def \stylec#1 { \stylea{ \fontseries{b}\selectfont\vskip 26pt \begin{samepage}\parindent = 0 pt  #1 \end{samepage}\vskip 14pt  } }   %Heading 2
\def \styled#1 { \stylea{ \fontseries{b}\selectfont\vskip 22pt \begin{samepage}\parindent = 0 pt  #1 \end{samepage}\vskip 11pt  } }   %Heading 3
\def \stylee#1 { \stylea{ \fontseries{b}\selectfont\fontfamily{cmss}\selectfont \fontsize{12}{14.4pt}\selectfont \vskip 12pt \parindent = 0 pt  #1 \vskip 3pt  } }   %Heading 4  Font: Arial
\def \stylef#1 { \stylea{ \fontfamily{cmss}\selectfont \fontsize{11}{13.2pt}\selectfont \vskip 12pt \parindent = 0 pt  #1 \vskip 3pt  } }   %Heading 5  Font: Arial
\def \styleg#1 { \stylea{ \fontshape{it}\selectfont\fontfamily{cmr}\selectfont \fontsize{11}{13.2pt}\selectfont \vskip 12pt \parindent = 0 pt  #1 \vskip 3pt  } }   %Heading 6  Font: Times New Roman
\def \styleh#1 { \stylea{ \fontfamily{cmss}\selectfont \vskip 12pt \parindent = 0 pt  #1 \vskip 3pt  } }   %Heading 7  Font: Arial
\def \stylei#1 { \stylea{ \fontshape{it}\selectfont\fontfamily{cmss}\selectfont \vskip 12pt \parindent = 0 pt  #1 \vskip 3pt  } }   %Heading 8  Font: Arial
\def \stylej#1 { \stylea{ \fontseries{b}\selectfont\fontshape{it}\selectfont\fontfamily{cmss}\selectfont \fontsize{9}{10.8pt}\selectfont \vskip 12pt \parindent = 0 pt  #1 \vskip 3pt  } }   %Heading 9  Font: Arial
\def \styleba {   }   %Default Paragraph Font
\def \stylebf#1 { \stylea{  #1  } }   %Header
\def \stylebg#1 { \stylea{  #1  } }   %Footer
\def \stylebh { \styleba  }   %Page Number
\def \stylebi#1 { \stylea{ \fontseries{b}\selectfont\fontsize{14}{16.8pt}\selectfont \newpage\begin{samepage}\begin{center} #1 \end{center}\end{samepage}\vskip 23pt  } }   %title
\def \stylebj#1 { \stylea{ \begin{center} #1 \end{center}\vskip 11pt  } }   %author
\def \styleca#1 { \stylea{ \fontsize{9}{10.8pt}\selectfont \begin{center} #1 \end{center} } }   %address
\def \stylecb#1 { \stylea{ \fontsize{9}{10.8pt}\selectfont \begin{center} #1 \end{center} } }   %email  Font: Courier
\def \stylecc#1 { \stylea{ \fontseries{b}\selectfont\fontsize{12}{14.4pt}\selectfont \vskip 26pt \begin{samepage}\parindent = 0 pt  #1 \end{samepage}\vskip 14pt  } }   %heading1
\def \stylecd#1 { \stylea{ \fontseries{b}\selectfont\vskip 22pt \begin{samepage}\parindent = 0 pt  #1 \end{samepage}\vskip 11pt  } }   %heading2
\def \stylece#1 { \stylea{ \fontseries{b}\selectfont\vskip 16pt \begin{samepage}\parindent = 0 pt  #1 \end{samepage} } }   %heading3
\def \stylecf#1 { \stylea{ \vskip 6pt \begin{center}\leftskip = 11.35 pt  #1 \end{center}\vskip 6pt  } }   %equation
\def \stylecg#1 { \stylea{ \fontsize{9}{10.8pt}\selectfont \vskip 6pt \begin{samepage}\parindent = 0 pt  #1 \end{samepage}\vskip 12pt  } }   %figure legend
\def \stylech#1 { \stylea{ \fontsize{9}{10.8pt}\selectfont \vskip 12pt \begin{samepage}\parindent = 0 pt  #1 \end{samepage}\vskip 6pt  } }   %table title
\def \styleci#1 { \stylecj{ \fontsize{9}{10.8pt}\selectfont \vskip 30pt \rightskip = 28.35 pt \leftskip = 28.35 pt  #1 \vskip 6pt  } }   %abstract
\def \stylecj#1 { \stylea{ \parindent = 0 pt  #1  } }   %p1a
\def \styleda#1 { \stylea{ \fontsize{9}{10.8pt}\selectfont \leftskip = 11.35 pt \parindent = -11.35 pt  #1  } }   %referenceitem
\def \styledb { \styleba \fontsize{6}{7.2pt}\selectfont   }   %Footnote Reference
\def \styledc#1 { \stylea{ \fontsize{9}{10.8pt}\selectfont \begin{flushleft}\parindent = 0 pt  #1 \end{flushleft}\vskip 12pt  } }   %Running head - left
\def \styledd#1 { \styledc{ \begin{flushright} #1 \end{flushright} } }   %Running head - right
\def \stylede#1 { \styledf{  #1  } }   %Bullet Item
\def \styledf#1 { \stylea{ \leftskip = 11.35 pt \parindent = -11.35 pt  #1  } }   %Item
\def \styledg#1 { \styledf{  #1  } }   %Numbered Item
\def \styledh#1 { \stylea{ \fontsize{9}{10.8pt}\selectfont \leftskip = 8.5 pt \parindent = -8.5 pt  #1  } }   %Footnote Text
\def \styledi#1 { \stylea{ \vskip 6pt \begin{flushleft}\leftskip = 11.35 pt \parindent = 0 pt  #1 \end{flushleft}\vskip 6pt  } }   %programcode  Font: Courier
\def \styledj#1 { \stylea{ \fontsize{9}{10.8pt}\selectfont \leftskip = 8.5 pt \parindent = -8.5 pt  #1  } }   %Fußnotentext.Footnote
\def \styleea#1 { \stylea{ \fontseries{b}\selectfont\vskip 6pt  #1 \vskip 6pt  } }   %Caption
\def \styleeb#1 { \stylea{ \fontshape{it}\selectfont\vskip 16pt \parindent = 0 pt  #1  } }   %heading4

{ \stylebi{ 
A Czech Large Vocabulary Recognition System  \\
for Real-Time Applications 
  } \par }

{ \stylebj{ 
Jan Nouza 
  } \par }

{ \styleca{ 
Technical University of Liberec, Department of Electronics and Signal Processing, 
  } \par }

{ \styleca{ 
Halkova 5, 461 17 Liberec, Czechia ~
  } \par }

{ \stylecb{ 
jan.nouza@vslib.cz 
  } \par }

{ \styleci{ 
{\fontseries{b}\selectfont Abstract.}{} In the paper we propose two methods for speeding up discrete-utterance recognition in vocabularies with hundreds to several thousands of words. We show that acceptable results as well as short response time can be achieved if the words are represented by concatenated monophone models (multi-mixture HMMs). In such case, the computation load of the classic Viterbi procedure can be reduced significantly if a proper caching scheme is used. In several experiments done with test vocabularies containing hundreds and thousands of Czech words we demonstrate that the recognition procedures can be speeded up by a factor of 50 to 100 without a loss of accuracy. The method is well suited for voice controlled systems with a large branching factor and low syntax, i.e. in voice portals, telephone directory assistance, etc.  
  } \par }

{ \stylecc{ 
1   Introduction 
  } \par }

{ \stylecj{ 
Automated voice-operated services, mainly those allowing access over telephone, become more and more popular [1]. As an example, we can mention system Infocity developed at our university that has been in public use since March 1999 and recently it registers about 50 to 100 calls per day. The system offers information about culture, sport, transport and commerce in Liberec in form of a simple dialogue between a caller and the computer [2]. Up to now the speech input to the system was limited to a small vocabulary with tens to hundreds of words. For many commercially interesting applications, like a telephone directory assistance, automatic call routing, time-table inquiries, etc, larger vocabularies with several thousands entries are necessary.  
  } \par }

{ \stylea{ 
These services to be practically applicable need a speech recognition module that proves a high accuracy and fast response. On the other side they need not to be designed necessarily for continuous speech processing. They often take input in form of short answers, either isolated words or phrases. A typical example is an automated telephone directory inquiry service: A caller is asked to specify the surname of the wanted person, his/her first name, the city name and the street name. At each step the recognition system must search within a large vocabulary, which may or may not be partly constrained by context following from the previous step. 
  } \par }

{ \stylea{ 
In this paper we propose methods for speeding up classification from large lists of candidates in an isolated-word recognition task and we test them for Czech language.    
  } \par }

{ \stylecc{ 
2   Speech Databases for Training and Testing 
  } \par }

{ \stylecj{ 
A speech recognition system that is to be flexible must operate with an inventory of sub-word units. In our case these units are phonemes. To train their statistic models we had to design, record and annotate a large corpus of spoken Czech. For testing purposes we prepared several databases that try to address practical tasks.  
  } \par }

{ \stylecd{ 
2.1   A database for training Czech sub-word units 
  } \par }

{ \stylecj{ 
There are several strategies to make a good training database. One, described in [3], takes an available corpus of spoken utterances and attempts to select those fulfilling some statistical criteria. We used another approach proposed in [4]. A special set of 80 sentences was constructed in the way that each Czech phoneme was represented by a sufficient number of samples. The goal was to cover all biphones occurring in Czech and thus create a chance for training triphones by a merging or cloning method [5, 6].  
  } \par }

{ \stylea{ 
The 80-sentence set covers all 41 single phonemes defined in [7]. The less frequent phonemes have at least 16 occurrences while the vowels, for example, occur in several hundred variants. The set covers almost 99 \% Czech biphones and about 3500 different triphones. Up to now the sentences have been recorded by some 35 people, some provided multiple recordings. The database contains almost 10 hours of speech signal that has been segmented and labeled at the phoneme level [8].      
  } \par }

{ \stylecd{ 
2.2   Testing databases 
  } \par }

{ \stylecj{ 
For evaluating new methods and testing potentially interesting applications we have prepared and collected several databases. Their features are summarized in Table 1. 
  } \par }

{ \stylech{ 
{\fontseries{b}\selectfont Table }{$\otimes$ \fontseries{b}\selectfont }{\fontseries{b}\selectfont {} SEQ Table $\backslash$n }{$\otimes$ \fontseries{b}\selectfont }{\fontseries{b}\selectfont 1}{$\otimes$ \fontseries{b}\selectfont }{\fontseries{b}\selectfont .}{} Databases of Czech words used for testing  
  } \par }

{ \stylea{ \begin{flushleft}\parindent = 0 pt 
Database name \end{flushleft}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
Vocabulary size \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
{\fontseries{b}\selectfont (}{} phonemes per word \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
Confusability \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
Names \vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
360 \end{center}\vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
6.3 \end{center}\vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
high \end{center}\vskip 1pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
Surnames \vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
800 \end{center}\vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
7.5 \end{center}\vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
middle \end{center}\vskip 1pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
City names \vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
5 346 \end{center}\vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
8.7 \end{center}\vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
middle \end{center}\vskip 1pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
Voc10K \vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
10 000 \end{center}\vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
6.9 \end{center}\vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
high \end{center}\vskip 1pt  } \par }

{ \stylea{ 
  } \par }

{ \stylecj{ 
 ~
  } \par }

{ \stylecj{ 
{}    ~
  } \par }

{ \stylea{ 
The first set includes all Christian names in the Czech calendar, the second is a selection of surnames from Liberec telephone directory, the third contains all local (city and village) names in Czechia and the last consists of the most frequent 10 thousand words in a 80-M-word newspaper corpus. Each database has its specific features. For example, the Names set includes quite a lot of minimal pairs or groups, like {\fontshape{it}\selectfont Jan-Jana}, {\fontshape{it}\selectfont Daniel-Daniela}, {\fontshape{it}\selectfont Alena-Ilona-Elena-Helena, Miroslav-Miloslav-Jaroslav}. In the City name set there are both very short and very long items, like {\fontshape{it}\selectfont Aš}{} vs{\fontshape{it}\selectfont . Blatnice\_{}pod\_{}Svatý}{\fontshape{it}\selectfont m\_{}Antonínkem}. The Voc10K set often contains several morphological forms of the same word, from which some cannot be distinguished on acoustic level, e.g. {\fontshape{it}\selectfont volal-volala-volali-volaly-volalo}. 
  } \par }

{ \stylea{ 
Each database consists of 1000 test words recorded by 10 speakers through a standard front-end employed in our recognition engine. Hence, each recorded item passed through the same endpoint and parameterization procedure like in a live test. 
  } \par }

{ \stylecc{ 
3  Methods for efficient word recognition 
  } \par }

{ \stylecj{ 
The phonemes in our system are represented by three-state hidden Markov models (HMMs) with left-to-right structure and no skips, as shown in Fig.1. Output pdfs are multi-mixture gaussians defined in the 18-dimensional space of parameters derived from LP cepstrum. A word (or phrase) model is created by concatenating appropriate phoneme models. Monophones or triphones can be employed alternatively, as it is depicted in Fig.1      
  } \par }

{ \stylea{ 
 ~
  } \par }

{ \stylea{ 
 ~
  } \par }

{ \stylea{ \parindent = 0 pt 
{$\otimes$  }EMBED Word.Picture.8{$\otimes$  }{$\otimes$  }{$\otimes$  } ~
  } \par }

{ \stylea{ \parindent = 0 pt 
 ~
  } \par }

{ \stylecg{ 
{\fontseries{b}\selectfont Fig. }{$\otimes$ \fontseries{b}\selectfont }{\fontseries{b}\selectfont {} SEQ Fig. $\backslash$n }{$\otimes$ \fontseries{b}\selectfont }{\fontseries{b}\selectfont 1}{$\otimes$ \fontseries{b}\selectfont }{\fontseries{b}\selectfont .}{} A model of Czech word Chýnov created by concatenating monophone or triphone three-state HMMs. 
  } \par }

{ \stylea{ 
After training models of different type and size and testing them on the Name set we got results that are summarized in Table 2. We can see that the score obtained with 16-mixture monophones is almost comparable with that of the triphones of the same size. However, the recognition time (measured on a PC 600 MHz) for the best models is too long (about 8 s for a word). A considerable reduction of the computation load is necessary if we want to employ the models in practical applications. 
  } \par }

{ \stylech{ 
{\fontseries{b}\selectfont Table 2.}{} Recognition results obtained for the Name set and different models  
  } \par }

{ \stylea{ \begin{flushleft}\parindent = 0 pt 
Model type \end{flushleft}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
Recognition score  \\
[\%] \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
Average recognition time per word [ms] \end{center}\vskip 3pt  } \par }

{ \stylea{ \leftskip = 347.3 pt 
  } \par }

{ \stylea{ \parindent = 0 pt 
Monophones - 4 mixtures \vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
87.1 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
2570 \end{center}\vskip 3pt  } \par }

{ \stylea{ \leftskip = 347.3 pt 
 \strut\hrule } \par }

{ \stylea{ \parindent = 0 pt 
Monophones - 8 mixtures \vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
88.2 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
4960 \end{center}\vskip 3pt  } \par }

{ \stylea{ \leftskip = 347.3 pt 
  } \par }

{ \stylea{ \parindent = 0 pt 
Monophones - 16 mixtures \vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
91.5 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
8350 \end{center}\vskip 3pt  } \par }

{ \stylea{ \leftskip = 347.3 pt 
  } \par }

{ \stylea{ \parindent = 0 pt 
Triphones - 16 mixtures \vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
91.9 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
8400 \end{center}\vskip 3pt  } \par }

{ \stylea{ \leftskip = 347.3 pt 
  } \par }

{ \stylea{ 
 ~
  } \par }

{ \stylecd{ 
3.1   Reducing state likelihood computations 
  } \par }

{ \stylecj{ 
Anybody who implemented an HMM recognizer knows that most computation time is spent by calculating state output probabilities. If a signal represented by {\fontshape{it}\selectfont F}{} frames is to be matched to {\fontshape{it}\selectfont M}{} word models, each having (in average) {\fontshape{it}\selectfont N}{} states, the total number of evaluations of multi-dimensional multi-mixture gaussian fuctions is equal to the product  {\fontshape{it}\selectfont F}{} x {\fontshape{it}\selectfont M}{} x {\fontshape{it}\selectfont N}. For typical values it may lead to 100 x 1000 x 20 = 2 M gaussian  
  } \par }

{ \stylecj{ 
evaluations needed for the classification of a word. This large number can be reduced by adopting various schemes based on the beam search strategy. However, these schemes carry a potential danger of loss of accuracy, which may happen, particularly, in case when word endpoints are not determined correctly. 
  } \par }

{ \stylea{ 
Our approach is based on reducing the number of likelihood calculations by caching the already computed values and reusing them if the frame is matched to the same state. The frequency of repeated calculations for the same frame-state pair is very high for monophones, because there are only 41 x 3 different states in a Czech system. Moreover, the cache hit rate increases with increasing the vocabulary. For illustration, if the caching scheme is used for the recognition within the Voc10k vocabulary, 99.94 \% likelihood values can be fetched from the cache. Obviously, this rate is much lower for triphones, where there are several thousands of different states. The impact of the caching scheme on the computation time is demonstrated in Table 3.   
  } \par }

{ \stylecd{ 
3.2   Eliminating computations for same word sub-strings 
  } \par }

{ \stylecj{ 
Another savings in the matching (Viterbi) algorithm can be achieved if we realize that some words in the vocabulary share same sub-strings of phonemes, especially at initial parts. If the models of these words enter the matching procedure each after other, some of the accumulated likelihood values computed for the previous model can be reused for the next model. This is shown in fig.2   
  } \par }

{ \stylea{ 
 ~
  } \par }

{ \stylea{ \parindent = 0 pt 
{$\otimes$  }EMBED Word.Picture.8{$\otimes$  }{$\otimes$  }{$\otimes$  } ~
  } \par }

{ \stylea{ \parindent = 0 pt 
{\fontseries{b}\selectfont\fontsize{9}{10.8pt}\selectfont  Fig. 2.}{\fontsize{9}{10.8pt}\selectfont  {} An example of two models sharing the first 4 states. In the frame-state space there are points (filled by gray color) whose accumulated likelihood values computed for model }{\fontshape{it}\selectfont\fontsize{9}{10.8pt}\selectfont  n}{\fontsize{9}{10.8pt}\selectfont  {} can be reused for model }{\fontshape{it}\selectfont\fontsize{9}{10.8pt}\selectfont  n+1}{\fontsize{9}{10.8pt}\selectfont  . The demarcation lines delimit the Viterbi search space for each model. } ~
  } \par }

{ \stylea{ \parindent = 0 pt 
 ~
  } \par }

{ \stylea{ 
Utilizing this fact and organizing the vocabulary in the way that the neighboring words enable the highest possible reduction factor we can save another significant portion of the computation load. When organizing the vocabulary we may use the alphabetic order but also we must take into account the length of the neighboring words (more precisely, the number of states of the corresponding models). The impact of this secondary cache scheme demonstrates Table 3.  
  } \par }

{ \stylech{ 
{\fontseries{b}\selectfont Table 3.}{} Recognition times achieved with the Names set for the original and the optimized computation schemes. The values represent average classification times per word. The C1 method  is that described in section 3.1, the C2 is the combination of the two caching methods mentioned in this chapter.  
  } \par }

{ \stylea{ 
 ~
  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
Model type \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
Original time [ms] \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
C1 method time [ms] \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
C2 method time [ms] \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
Monophones - 4 mixtures \vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
2570 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
160 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
90 \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
Monophones - 8 mixtures \vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
4960 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
190 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
110 \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
Monophones - 16 mixtures \vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
8350 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
250 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
160 \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
Triphones - 16 mixtures \vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
8400 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
2450 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
1780 \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylecc{ 
4   Practical experiments 
  } \par }

{ \stylecj{ 
In the previous text we showed that it is possible to reduce the computation load of isolated-word recognition without a loss of accuracy. The reduction is considerable, in particular, for the system based on monophones. For triphones the caching scheme has only a small effect. Hence, a triphone-based system must rely on other paradigms (e.g. the already mentioned beam search) that are sub-optimal and may introduce some additional errors. 
  } \par }

{ \stylea{ 
We have implemented the methods into a word recognition system. Recently it operates with 16-mixture monophone models, that provide the same scores as the triphone ones, but in time 10 to 50 times shorter. The results from experiments with different test databases are summarized in Table 4. The recognition rate was significantly lower for the Voc10K database. This is because it contains many groups of words that can be distinguished only in a context. 
  } \par }

{ \stylech{ 
{\fontseries{b}\selectfont Table 4.}{} Recognition results from experiments with different test databases  
  } \par }

{ \stylea{ \begin{flushleft}\parindent = 0 pt 
Database type \end{flushleft}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
Recognition  score [\%] \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
Recognition time per word [ms] \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
Names \vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
91.5 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
160 \end{center}\vskip 3pt  } \par }

{ \stylea{ 
 \strut\hrule } \par }

{ \stylea{ \parindent = 0 pt 
Surnames \vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
89.4 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
350 \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
City names \vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
87.1 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
1120 \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylea{ \parindent = 0 pt 
Voc10K \vskip 1pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
75.8 \end{center}\vskip 3pt  } \par }

{ \stylea{ \begin{center}\parindent = 0 pt 
1260 \end{center}\vskip 3pt  } \par }

{ \stylea{ 
  } \par }

{ \stylecc{ 
5   Conclusions 
  } \par }

{ \stylecj{ 
Two methods are proposed for speeding up recognition of words or utterances spoken in isolated way. A considerable reduction of classification time is achieved, in particular, for a monophone-based system. In the recognition test with a 5-K~word vocabulary (the City Names) the reduction factor was higher than 100 while, the score was still at an acceptable level for a practical task. It should be mentioned that the test data came from live recordings and therefore the reported results correspond with those obtained in on-line tests performed under computer room conditions. 
  } \par }

{ \stylea{ 
Recently the recognition module based on the monophone models (adapted for telephone signals) have been built in automated information system InfoCity. In spite of the lower signal quality the system runs with average recognition rate about 90 \%.      
  } \par }

{ \stylecj{ 
 ~
  } \par }

{ \stylece{ 
Acknowledgments. {\fontseries{b}\selectfont The research reported in this paper was supported by the Grant Agency of the Czech Republic (grant no.102/96/KO87), by the Czech Ministry of Education, through research goal project MSM 242200001 and by project Kontakt no. ME293.}{}  ~
  } \par }

{ \stylecc{ 
References 
  } \par }

{ \styleda{ \leftskip = 14.2 pt \parindent = -14.2 pt 
1.  Proc. of Workshop Voice Operated Telecom Services (Do they have a bright future?). Ghent, May 2000.  
  } \par }

{ \styleda{ \leftskip = 14.15 pt \parindent = -14.15 pt 
Nouza J., Holada M.: A Voice-Operated Multi-Domain Telephone Information System. Proc. of 25th Int. Conference on Acoustics, Speech and Signal Processing (ICASSP2000), Istanbul, June 2000 (to appear). 
  } \par }

{ \styleda{ \leftskip = 14.15 pt \parindent = -14.15 pt 
Radová V., Vopálka P.: Methods of Sentences Selection for Read-Speech Corpus Design. Proc. of the 1st Workshop on Text, Speech and Dialogue, Plzeò 1999, pp.165-170. ~
  } \par }

{ \styleda{ \leftskip = 14.15 pt \parindent = -14.15 pt 
Hájek D.: A Continuous Speech Recognition System. MSc thesis (in Czech). Technical University of~Liberec, May 1998. ~
  } \par }

{ \styleda{ \leftskip = 14.15 pt \parindent = -14.15 pt 
Hájek D., Nouza J.: A Quasi-Triphone Model Created by Merging Context-Specific Phone Models. In Studientexte zur Sprachkommunikation, Heft 14 (Elektronische Sprachsignalverarbeitung), Cottbus 1997, pp.85-92 ~
  } \par }

{ \styleda{ \leftskip = 14.15 pt \parindent = -14.15 pt 
Ming J., O'Boyle O., Owens M., Smith F.J.: A Bayesian Approach for Building Triphone Models for Continuous Speech Recognition. IEEE Trans. Speech and Audio Processing, vol. 7, no. 6, 1999, pp. 678-684.  ~
  } \par }

{ \styleda{ \leftskip = 14.15 pt \parindent = -14.15 pt 
Nouza J., Psutka J., Uhlíø J.: Phonetic Alphabet for Speech Recognition of Czech. Radioengineering, vol.6, no.4, Dec.1997, pp.16-20. ~
  } \par }

{ \styleda{ \leftskip = 14.15 pt \parindent = -14.15 pt 
Nouza J., Myslivec M.: Creating and Annotating Speech Database for Continuous Speech Recognition. Proc. of. 4th ECMS Workshop, Liberec, May 1999, pp.147-151. ~
  } \par }

{ \styledd{ 
Lecture Notes in Computer Science~~~~~~{$\otimes$ \stylebh\fontsize{10}{12pt}\selectfont  }{\stylebh\fontsize{10}{12pt}\selectfont  {} PAGE }{$\otimes$ \stylebh\fontsize{10}{12pt}\selectfont  }{\stylebh\fontsize{10}{12pt}\selectfont  1}{$\otimes$ \stylebh\fontsize{10}{12pt}\selectfont  } ~
  } \par }

{ \stylea{ 
 ~
  } \par }

{ \stylea{ 
 ~
  } \par }

{ \styleda{ \leftskip = 14.15 pt \parindent = -14.15 pt 
 ~
  } \par }

\end{document}