# What are typical triphones used in natural language processing?

What exactly would they be looking at in a sentence to aid the processing?

Also would such processing only work in English? I.e. would it be pointless looking for triphones in another language?

• "Triphones" to me sounds like an instance of "n-grams" so I would expect it to apply to all languages at least in some tweaked form. – hippietrail Sep 14 '11 at 17:46

First, the definition: a triphone is a sequence of three phonemes. This is equivalent to saying it is a 3rd order Markov chain or a trigram over phonemes. The application of such a model is usually to ask "what is the probability of the third given the first two?" in a chain as long as the utterance. Such a model assumes that all previous phonemes other than the preceding two are irrelevant. This is called a Markov assumption.

So, here's an example in English. I wrote a quick script to calculate triphones from CMUDict data. Let's look at the highest probability segments that follow ɪŋ. I'll use # for a word boundary:

``````# 73.18% (bring, running)
k 6.02% (think)
z 5.88% (things)
ɚ 4.04% (singer)
``````

So from this we get that most likely if we've heard ɪŋ, we're about to hear a word boundary, which makes sense because -ɪŋ is a suffix but also because /ŋ/ is generally only allowed in codas (ends of syllables) in English. The next most likely segment is /k/, which is to be expected given place of articulation assimilation for nasals in English (e.g., /n/ before /k/ becomes /ŋ/). -z and -ɚ are suffixes in English, so we'd expect them where word boundaries are likely. So you see that this simple model has captured a bit of phonotactics, phonology, and morphology. This is why it's handy in speech recognition.

So you can see that whenever the memory required to make a good prediction is short, such models work well. Basically, performance in a language is affected by the fit between the phonotactics of the language and Markov assumptions; the more a language defines short, linear relationships between phonemes, the better this model will perform. Also, it often depends on how often such relationships help resolve possible ambiguities or "mis-hearings."

Now, as to how they use sentence information, this is getting into what's called language modeling in speech recognition. What that particular technique is doing is taking some guesses at the words, assigning part of speech tags to those guesses, and then using a grammar to validate the recognition. For example, consider these two possible recognitions (with likely part of speech tag assignments in slashes):

1. Bob/noun likes/verb Mary/noun.