Phonetic units are identified in a body of utterance data according to a
novel segmentation approach. A body of received utterance data is
processed and a set of candidate phonetic unit boundaries is determined
that defines a set of candidate phonetic units. The set of candidate
phonetic unit boundaries is determined based upon changes in Cepstral
coefficient values, changes in utterance energy, changes in phonetic
classification, broad category analysis (retroflex, back vowels, front
vowels) and sonorant onset detection. The set of candidate phonetic unit
boundaries is filtered by priority and proximity to other candidate
phonetic units and by silence regions. The set of candidate phonetic units
is filtered using no-cross region analysis to generate a set of filtered
candidate phonetic units. No-cross region analysis generally involves
discarding candidate phonetic units that completely span an energy up,
energy down, dip or broad category type no-cross region. Finally, a set of
phonetic units is selected from the set of filtered candidate phonetic
units based upon the probabilities of candidate boundaries defining the
ends of the unit and within the unit.