Vous êtes sur la page 1sur 189

Algorithms for Speech Recognition and

Language Processing

Mehryar Mohri Michael Riley Richard Sproat


AT&T Laboratories AT&T Laboratories Bell Laboratories
mohri@research.att.com riley@research.att.com rws@bell-labs.com

Joint work with


Emerald Chung, Donald Hindle, Andrej Ljolje, Fernando Pereira

Tutorial presented at COLING’96, August 3rd, 1996.

cmp-lg/9608018 v2 17 Sep 1996


Introduction (1)
Text and speech processing: hard problems
 Theory of automata
 Appropriate level of abstraction

 Well-defined algorithmic problems

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing Introduction 2


Introduction (2)
Three Sections:
 Algorithms for text and speech processing (2h)
 Speech recognition (2h)

 Finite-state methods for language processing (2h)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing Introduction 3


PART I
Algorithms for Text and Speech Processing

Mehryar Mohri
AT&T Laboratories
mohri@research.att.com

August 3rd, 1996

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 4


Definitions: finite automata (1)
A = (Σ; Q; ; I; F )
 Alphabet Σ,
 Finite set of states Q,
 Transition function : Q  Σ ! 2Q,
 I  Q set of initial states,
 F  Q set of final states.
A recognizes L(A) = fw 2 Σ : (I; w) \ F 6= ;g
(Hopcroft and Ullman, 1979; Perrin, 1990)

Theorem 1 (Kleene, 1965). A set is regular (or rational) iff it can be


recognized by a finite automaton.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 5


Definitions: finite automata (2)

b
a

a b a
0 1 2 3

a
b a
a 1 b 3
a
0 2
b b

Figure 1: L(A) = Σ aba.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 6


Definitions: weighted automata (1)
A = (Σ; Q; ; ; ; ; I; F )
 (Σ; Q; ; I; F ) is an automaton,
 Initial output function ,
 Output function : Q  Σ  Q ! K ,
 Final output function ,
 Function f : Σ ! (K; +; ) associated
X
with A:
8u 2 Dom(f ); f (u) = ((i)   (i; u; q )  (q )).
2 ((i;u)\F )
(i;q ) I

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 7


Definitions: weighted automata (2)

b/1

a/0 b/0
0/4 1/0 2/0 a/0
a/2 3/0

Figure 2: Index of t = aba.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 8


Definitions: rational power series
 Power series: functions mapping Σ to a semiring (K; +; )
X
– Notation: S = (S; w )w , (S; w ): coefficients
w2Σ
– Support: supp(S ) = fw 2 Σ : (S; w) 6= 0g
– Sum: (S + T ; w) = (S; w) + (T ; w)
X

– Star: S = S
n
n 0
X
– Product: (ST ; w) = (S; u)(T ; v )
uv=w2Σ
 Rational power series: closure under rational operations of polynomials
(polynomial power series) (Salomaa and Soittola, 1978; Berstel and
Reutenauer, 1988)

Theorem 2 (Schützenberger, 1961). A power series is rational iff it can be


represented by a weighted finite automaton.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 9


Definitions: transducers (1)
T = (Σ; ∆; Q; ; ; I; F )
 Finite alphabets Σ and ∆,
 Finite set of states Q,
 Transition function : Q  Σ ! 2Q,
 Output function : Q  Σ  Q ! Σ,
 I  Q set of initial states,
 F  Q set of final states.
T defines a relation: [
R(T ) = f(u; v) 2 (Σ )2 : v 2 (I; u; q)g
2 \
q ( (I;u) F )

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 10


Definitions: transducers (2)

b:a
a:a a:b 3 a:a
a:a
1 2
b:b b:a
0 b:a

Figure 3: Fibonacci normalizer ([abb ! baa]  [baa abb]).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 11


Definitions: weighted transducers

b:a/1
a:b/0 a:b/1

a:b/0 b:c/1 a:b/0


0 1 2 3/0

Figure 4: Example, aaba ! (bbcb; (0 0 1 0)  (0 1 1 0)).


(min +) ; : aaba ! minf1; 2g = 1
(+ ); : aaba ! 0 + 0 = 0

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 12


Composition: Motivation (1)
 Construction of complex sets or functions from more elementary ones
 Modular (modules, distinct linguistic descriptions)

 On-the-fly expansion

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 13


Composition: Motivation (2)
source program

lexical
analyzer

syntax
analyzer

semantic
analyzer

intermediate code
generator

code
optimizer

code
generator

Figure 5: Phases of a compiler (Aho et al., 1986).


target program

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 14


Composition: Motivation (3)
Source text

Spellchecker

Inflected forms

Index

Set of positions

Figure 6: Complex indexation.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 15


Composition: Example (1)

a:a b:ε c:ε d:d


0 1 2 3 4

a:d ε :e d:a
0 1 2 3

a:d b:e c:ε d:a


(0,0) (1,1) (2,2) (3,2) (4,3)

Figure 7: Composition of transducers.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 16


Composition: Example (2)

a:a/3 b:ε/1 c:ε/4 d:d/2


0 1 2 3 4

a:d/5 ε :e/7 d:a/6


0 1 2 3

a:d/15 b:e/7 c: ε/4 d:a/12


(0,0) (1,1) (2,2) (3,2) (4,3)

Figure 8: Composition of weighted transducers (+; ).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 17


Composition: Algorithm (1)
 Construction of pairs of states
– Match:q1 a:b=w1 0 b:c=w2 0
! q1 and q2 ! q2
a:c=(w1 w2 ) 0 0
– Result: (q1 ; q2 ) ! (q1 ; q2 )
 Elimination of -paths redundancy: filter
 Complexity: quadratic

 On-the-fly implementation

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 18


Composition: Algorithm (2)
(a)
a:a b:ε c:ε d:d
A 0 1 2 3 4

(b)
a:d ε:e d:a
B 0 1 2 3
(c)
ε:ε1 ε:ε1 ε:ε1 ε:ε1 ε:ε1

A' a:a b:ε2 c:ε2 d:d


0 1 2 3 4

(d)
ε2:ε ε2:ε ε2:ε ε2:ε

a:d ε1:e d:a


B' 0 1 2 3

Figure 9: Composition of weighted transducers with -transitions.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 19


Composition: Algorithm (3)
a:d ε:e 1,2
0,0 1,1 (ε1:ε1)
(x:x)
b:ε b:e b:ε
(ε2:ε2) (ε2:ε1) (ε2:ε2)

ε:e
2,1 2,2
(ε1:ε1)
c:ε c:ε
(ε2:ε2) (ε2:ε2)

3,1 ε:e 3,2


(ε1:ε1)
d:a
(x:x)

4,3

Figure 10: Redundancy of -paths.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 20


Composition: Algorithm (4)
ε1:ε1

ε2:ε1 ε1:ε1
x:x 1
x:x

0 ε2:ε2
ε2:ε2

x:x 2

Figure 11: Filter for efficient composition.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 21


Composition: Theory
 Transductions (Elgot and Mezei, 1965; Eilenberg, 1974 1976;
Berstel, 1979).

 Theorem 3 Let 1 and 2 be two (weighted) (automata +


transducers), then (1  2 ) is a (weighted) (automaton + transducer).
 Efficient composition of weighted transducers (Mohri, Pereira, and
Riley, 1996).
 Works with any semiring
 Intersection: composition of automata (weighted).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 22


Intersection: Example
a
b a
a 1 b 3
a
0 2
b b

c c

1 b a b a
b 2 3 4 5
0 a

b
b (0,1) (0,2) a
b a
(0,0) a (1,3) (2,4) (3,5)

Figure 12: Intersection of automata.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 23


Union: Example
a/5

b/1 a/3
a/3 1 b/2 3/0
a/4
0 2
b/6 b/7

c/0 c/1

b/5 1 b/2 a/6 b/3 a/4


2 3 4 5/0
0 a/3

c/0 c/1

1 b/2 a/6 b/3 a/4


b/5 2 3 4 5/0
a/3
ε/0 0

10 a/5
ε/0 b/1
a/3
a/3 7
6 b/2 b/7 9/0

b/6 8 a/4

Figure 13: Union of weighted automata (min; +).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 24


Determinization: Motivation (1)
 Efficiency of use (time)
 Elimination of redundancy
 No loss of information (6= pruning)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 25


Determinization: Motivation (2)
leave/44.4

leave/61.9

leaves/51.4

Detroit/110
leave/64.6 10

Detroit/109

leaves/50.7
Detroit/106
flight/72.4 7
leave/68.9

leave/82.1 14 Detroit/91.9
flights/64

flights/61.8 leave/45.8 Detroit/91.6


1

which/69.9 flights/54.3 Detroit/88.5


leave/47.4

flights/53.5 6 leave/57.7
Detroit/103
which/81.6 4 flight/43.7
leave/70.9 Detroit/102
5 12 15/0
flights/50.2 leaves/34.6
0 which/72.9 Detroit/99.1

Detroit/106
which/77.7 2
flights/88.2
leaves/39.2

flight/45.4 leave/53.4 Detroit/105

3 9
flights/83.8 leave/54.4 Detroit/102
11
Detroit/99.7
flights/83.4 leaves/67.6

flights/79
leave/31.3
8
leave/35.9 Detroit/99.4

leaves/60.4 Detroit/96.3

13

leave/73.6

leave/37.3

leave/41.9

Figure 14: Toy language model (16 states, 53 transitions, 162 paths).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 26


Determinization: Motivation (3)
leave/64.6 4 Detroit/103

leaves/62.3
flights/53.1 2 5 Detroit/105
which/69.9
0 1 8/0
flight/53.2 Detroit/105
leave/63.6
3 6
leaves/67.6 Detroit/101

Figure 15: Determinized language model (9 states, 11 transitions, 4 paths).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 27


Determinization: Example (1)
b
a
2
b
b
3
0
a b

b b
1

t4

a b
{0} {1,2} {3}
b

Figure 16: Determinization of automata.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 28


Determinization: Example (2)
b/1
a/1
2
b/3
b/4
3/0
0
a/3 b/3

b/1 b/5
1/0

t4

{(1,2),(2,0)}/2
a/1 b/1

{(0,0)} {(3,0)}/0
b/1 b/3

{(1,0),(2,3)}/0

Figure 17: Determinization of weighted automata (min; +).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 29


Determinization: Example (3)

a:b

b:a 2 c:c
0 a:ba d:ε 3

1
b:aa

a:b
{(0,ε)} {(1,a),(2, ε)}
c:c
b:a
d:a {(3,ε)}

Figure 18: Determinization of transducers.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 30


Determinization: Example (4)

a:b/3

b:a/2 2 c:c/5
0 a:ba/4 d:ε/4 3/0

1/0
b:aa/3

a/1

a:b/3
{(0,e,0)} {(1,a,1),(2,ε,0)}
b:a/2 c:c/5

d:a/5 {(3,ε,0)}/0

Figure 19: Determinization of weighted transducers (min; +).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 31


Determinization: Algorithm (1)
 Generalization of the classical algorithm for automata
– Powerset construction
– Subsets made of (state, weight) or (state, string, weight)
 Applies to subsequentiable weighted automata and transducers

 Time and space complexity: exponential (polynomial w.r.t. size of


the result)

 On-the-fly implementation

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 32


Determinization: Algorithm (2)
Conditions of applications
 Twin states: q and q0 are twin states iff:
– If: they can be reached from the initial states by the same input
string u
– Then: cycles at q and q 0 with the same input string v have the
same output value
 Theorem 4 (Choffrut, 1978; Mohri, 1996a) Let  be an
unambiguous weighted automaton (transducer, weighted transducer),
then  can be determinized iff it has the twin property.
 Theorem 5 (Mohri, 1996a) The twin property can be tested in
polynomial time.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 33


Determinization: Theory
 Determinization of automata
– General case (Aho, Sethi, and Ullman, 1986)
– Specific case of Σ : failure functions (Mohri, 1995)
 Determinization of transducers, weighted automata, and weighted
transducers
– General description, theory and analysis (Mohri, 1996a; Mohri,
1996b)
– Conditions of application and test algorithm
– Acyclic weighted transducers or transducers admit
determinization
 Can be used with other semirings (ex: (R; +; ))

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 34


Local determinization: Motivation
 Time efficiency

 Reduction of redundancy
 Control of the resulting size (flexibility)
 Equivalent function (or equal set)
 No loss of information

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 35


Local determinization: Example
c:a/2
a:c/2
a:b/4 2
a:b/3
b:b/6

b:c/3 5
0 b:a/5
c:b/2
a:a/3 1

b:a/7 c:a/3
4

3 a:a/3
a:a/5
{(2,ε,0)} a:b/3
c:a/2
3
a:c/2
0 b:ε/5 ε::b/1
{(3,ε,0)}
a: ε/3 a:a/3 5
ε:a/2
1 4
c:a/3
ε:a/0
{(1,a,0),(2,b,1),(3,a,2)}
2 c:b/2
{(1,ε,0)}
6

b:c/3

Figure 20: Local determinization of weighted transducers (min; +).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 36


Local determinization: Algorithm
 Predicate, ex: (P ) (out degree(q) > k)
 k: threshold parameter
 Local: Dom(det) = fq : P (q)g
 Determinization only for q 2 Dom(det)
 On-the-fly implementation
 Complexity O(jDom(det)j  maxq 2Q
(out degree (q )))

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 37


Local determinization: theory
 Various choices of predicate (constraint: local)

 Definition of parameters
 Applies to all automata, weighted automata, transducers, and
weighted transducers
 Can be used with other semirings (ex: (R; +; ))

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 38


Minimization: Motivation
 Space efficiency
 Equivalent function (or equal set)
 No loss of information (6= pruning)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 39


Minimization: Motivation (2)
leave/64.6 4 Detroit/103

leaves/62.3
flights/53.1 2 5 Detroit/105
which/69.9
0 1 8/0
flight/53.2 Detroit/105
leave/63.6
3 6
leaves/67.6 Detroit/101

Figure 21: Determinized language model.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 40


Minimization: Motivation (3)

leave/0.0498

flights/0 2 leaves/0
which/291 Detroit/0
0 1 4 5/0
flight/1.34 leave/0
3
leaves/0.132

Figure 22: Minimized language model.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 41


Minimization: Example (1)
a
b
a 2 a
1 c
0 b c b
3 b
b 5
4

a
b t96

1 c a
a 2 4
b b
0 b
3
t97

Figure 23: Minimization of automata.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 42


Minimization: Example (2)
2
a:3 c:2
d:0 c:1
d:4 3 e:3
a:0 e:1
0 1 d:3 e:2 6 7
b:1
5
b:2 c:1

2
a:3 c:0
d:0 c:1
d:6 3 e:0
a:6 e:0
0 1 6 7
d:6 e:0
b:7
5
b:0 c:0

4
d:0
a:3
c:1
a:6 b:0 2 c:0
0 1
b:7 e:0 e:0
3 4 5
d:6

Figure 24: Minimization of weighted automata (min; +).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 43


Minimization: Example (3)
2
b:B c:C a:DB

d:D e:D f:BC


a:A 1 3 6 7
0 c:D
b:C
b:C
4 5

2
b:ε c:ε a:DB

d:CDB e:C f: ε
a:ABCDB 1 3 6 7
0 c:ε
b:CCDDB
b:ε
4 5

a:DB
b:ε 2 c:ε
a:ABCDB e:C f: ε
0 1 3 5 6
b:CCDDB d:CDB

Figure 25: Minimization of transducers.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 44


Minimization: Example (4)
2
b:B/5 c:C/3 a:DB/2

d:D/1 e:D/1 f:BC/6


a:A/0 1 3 6 7/0
0 c:D/4
b:C/2
b:C/2
4 5

2
b: ε/0 c: ε/0 a:DB/2

a:ABCDB/15 d:CDB/9 e:C/0 f:ε/0


1 3 6 7/0
0 c: ε/0
b: ε/0
b:CCDDB/15 4 5

a:DB/2
b:ε/0 2 c: ε/0
a:ABCDB/15 e:C/0 f: ε/0
0 1 3 5 6/0
b:CCDDB/15 d:CDB/9

Figure 26: Minimization of weighted transducers (min; +).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 45


Minimization: Algorithm (1)
 Two steps
– Pushing or extraction of strings or weights towards initial state
– Classical minimization of automata, (input,ouput) considered as a
single label
 Algorithm for the first step
– Transducers: specific algorithm
– Weighted automata: shortest-paths algorithms

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 46


Minimization: Algorithm (2)
 Complexity
– E: set of transitions
– S: sum of the lengths of output strings
– the longest of the longest common prefixes of the output paths
leaving each state
Type General Acyclic

Automata j j  log(jQj))
O( E j j j j
O( Q + E )

Weighted automata O (jE j  log(jQj)) O (jQj + jE j)

Transducers O (jQj + jE j O (S + jE j + jQj+

(log jQj + jPmax j)) (jE j (jQj jF j)) 


jPmax j)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 47


Minimization: Theory
 Minimization of automata (Aho, Hopcroft, and Ullman, 1974; Revuz,
1991)

 Minimization of transducers (Mohri, 1994)


 Minimization of weighted automata (Mohri, 1996a)
– Minimal number of transitions
– Test of equivalence
 Standardization of power series (Schützenberger, 1961)
– Works only with fields
– Creates too many transitions

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 48


Conclusion (1)
 Theory
– Rational power series
– Weighted automata and transducers
 Algorithms
– General (various semirings)
– Efficiency (used in practice, large sizes)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 49


Conclusion (2)
 Applications
– Text processing
(spelling checkers, pattern-matching, indexation, OCR)
– Language processing
(morphology, phonology, syntax, language modeling)
– Speech processing (speech recognition, text-to-speech synthesis)
– Computational biology (matching with errors)
– Many other applications

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART I 50


PART II
Speech Recognition

Michael Riley
AT&T Laboratories
riley@research.att.com

August 3rd, 1996

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 51


Overview
 The speech recognition problem

 Acoustic, lexical and grammatical models


 Finite-state automata in speech recognition
 Search in finite-state automata

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 52


Speech Recognition
Given an utterance, find its most likely written transcription.
Fundamental ideas:
 Utterances are built from sequences of units

 Acoustic correlates of a unit are affected by surrounding units


 Units combine into units at a higher level — phones ! syllables !
words
 Relationships between levels can be modeled by weighted graphs —
we use weighted finite-state transducers
 Recognition: find the best path in a suitable product graph

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 53


Levels of Speech Representation

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 54


Maximum A Posteriori Decoding
Overall analysis [4, 57]:
 Acoustic observations: parameter vectors derived by local spectral
analysis of the speech waveform at regular (e.g. 10msec) intervals
 Observation sequence o
 Transcriptions w
 Probability P (ojw) of observing o when w is uttered
 Maximum a posteriori decoding:

ŵ = argmax P (wjo) = argmax P (oPjw()oP) (w)


w w
= argmax P (ojw)
| {z }
P (w)
| {z }
w
generative language
model model

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 55


Generative Models of Speech
Typical decomposition of P (ojw) into conditionally-independent
mappings between levels:
 Acoustic model P (ojp) : phone sequences ! observation sequences.
Detailed model:
– P (ojd) : distributions ! observation vectors —
symbolic ! quantitative
– P (djm) : context-dependent phone models !
distribution sequences
–P (mjp) : phone sequences ! model sequences
 Pronunciation model P (pjw) : word sequences ! phone sequences
 Language model P (w) : word sequences

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 56


Recognition Cascades: General Form
 Multistage cascade:
o = sk sk−1 s1 w = s0
stage k stage 1

Find s0 maximizing
X Y
P (s0 ; sk ) = P (sk js0 )P (s0 ) = P (s0 ) P (sj jsj 1)
s1 ;:::;sk 1 
1 j k

 “Viterbi” approximation:

Cost(s0 ; sk ) = Cost(sk js0 ) + Cost(s0 )


P
Cost(sk js0 )  mins1 ;:::;sk 1   Cost(sj jsj
1 j k 1)

where Cost(: : :) = log P (: : :).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 57


Speech Recognition Problems
 Modeling: how to describe accurately the relations between levels )
modeling errors
 Search: how to find the best interpretation of the observations
according to the given models ) search errors

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 58


Acoustic Modeling – Feature Selection I
 Short-time spectral analysis:
Z

log g( )x(t +  )e i2f 
d

Short-time (25 msec. Hamming window) spectrum of /ae/ – Hz. vs. Db.

 Scale selection:
– Cepstral smoothing
– Parameter sampling (13 parameters)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 59


Acoustic Modeling – Feature Selection II [40, 38]
 Refinements
– Time derivatives – 1st and 2nd order
– non-Fourier analysis (e.g., Mel scale)
– speaker/channel adaptation
 mean cepstral subtraction
 vocal tract normalization
 linear transformations

 Result: 39 dimensional feature vector (13 cepstra, 13 delta cepstra,


13 delta-delta cepstra) every 10 milliseconds

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 60


Acoustic Modeling – Stochastic Distributions [4, 61, 39, 5]
 Vector quantization – find codebook of prototypes
 Full covariance multivariate Gaussians:
T T )S
P [y] = (2)N=12 jSj1=2 e 1
2 (y
1
(y )

 Diagonal covariance Gaussian mixtures

 Semi-continuous, tied mixtures

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 61


Acoustic Modeling – Units and Training [61, 36]
 Units
– Phonetic (sub-word) units – e.g., cat –> /k ae t/
– Context-dependent units – aek;t
– Multiple distributions (states) per phone – left, middle, right
 Training
– Given a segmentation, training straight-forward
– Obtain segmentation by transcription
– Iterate until convergence

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 62


Generating Lexicons – Two Steps
 Orthography ! Phonemes
“had” ! /hh ae d/
“your” ! /y uw r/
– complex, context-independent mapping
– usually small number of alternatives
– determined by spelling constraints; lexical “facts”
– large online dictionaries available
 Phonemes ! Phones
/hh ae d y uw r/ ! [hh ae dcl jh axr] (60% prob)
/hh ae d y uw r/ ! [hh ae dcl d y axr] (40% prob)
– complex, context-dependent mapping
– many possible alternatives
– determined by phonological and phonetic constraints

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 63


Decision Trees: Overview [9]

 Description/Use: Simple structure – binary tree of decisions,


terminal nodes determine prediction (cf. “Game of Twenty
Questions”). If dependent variable is categorical (e.g., red,
yellow, green), called “classification tree”, if continuous, called
“regression tree”.

 Creation/Estimation: Creating a binary decision tree for


classification or regression involves three steps (Breiman, et al):
1. Splitting Rules: Which split to take at a node?
2. Stopping Rules: When to declare a node terminal?
3. Node Assignment: Which class/value to assign to a terminal node?

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 64


1. Decision Tree Splitting Rules

Which split to take at a node?

 Candidate splits considered.


– Binary cuts: For continuous 1  x < 1, consider splits of
form:
x  k vs: x > k; 8k:
– Binary partitions: For categorical x 2 f1; 2; :::; ng = X ,
consider splits of form:

x2A vs: x 2 X A; 8A  X:

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 65


1. Decision Tree Splitting Rules – Continued
 Choosing best candidate split.
– Method 1: Choose k (continuous) or A (categorical) that
minimizes estimated classification (regression) error after split.
– Method 2 (for classification): Choose k or A that minimizes
estimated entropy after that split.
SPLIT #1 SPLIT #2

No. 1: 400 No. 1: 400


No. 2: 400 No. 2: 400

No. 1: 300 No. 1: 100 No. 1: 200 No. 1: 200


No. 2: 100 No. 2: 300 No. 2: 400 No. 2: 0

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 66


2. Decision Tree Stopping Rules
When to declare a node terminal?
 Strategy (Cost-Complexity pruning):
1. Grow over-large tree.
2. Form sequence of subtrees, T0 ; :::; Tn ranging from full tree to
just the root node.
3. Estimate “honest” error rate for each subtree.
4. Choose tree size with mininum “honest” error rate.
 To form sequence of subtrees, vary from 0 (for full tree) to 1 (for
just root node) in:
 
min R(T ) + j T j :
T
 To estimate “honest” error rate, test on data different from training
data, e.g., grow tree on 9=10 of available data and test on 1=10 of data
repeating 10 times and averaging (cross-validation).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 67


End of Declarative Sentence Prediction: Pruning
Sequence0.025

o
+
0.015
error rate

o
+

o
+
o
0.005

+ooo
+++ o
o
+ +ooooo oooo oo o o o o oooooo
+++++ +++ oo oo o o
++ ++ + + ++++++ + + + +++++++++++++++++++++
0.0

0 20 40 60 80 100

# of terminal nodes
+ = raw, o = cross-validated

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 68


3. Decision Tree Node Assignment

Which class/value to assign to a terminal node?

 Plurality vote: Choose most frequent class at that node for


classification; choose mean value for regression.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 69


End-of-Declarative-Sentence Prediction: Features [65]

 Prob[word with “.” occurs at end of sentence]

 Prob[word after “.” occurs at beginning of sentence]


 Length of word with “.”
 Length of word after “.”
 Case of word with “.”: Upper, Lower, Cap, Numbers

 Case of word after “.”: Upper, Lower, Cap, Numbers


 Punctuation after “.” (if any)
 Abbreviation class of word with “.”: – e.g., month name,
unit-of-measure, title, address name, etc.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 70


End of Declarative Sentence?

yes
48294/52895
bprob:<27.29
bprob:>27.29

yes yes
5539/10020 42755/42875
eprob:<1.045
eprob:>1.045

no yes
3289/3547 5281/6473
next:cap,upcase+.
next:n/a,lcase,lcase+.,upcase,num

yes no
5156/5435 913/1038
type:n/a
type:addr,com,group,state,title,unit

yes no
5137/5283 133/152

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 71


Phoneme-to-Phone Alignment
PHONEME PHONE WORD
p p purpose
er er
p pcl
- p
ax ix
s s
ae ax and
n n
d -
r r respect
ih ix
s s
p pcl
- p
eh eh
k kcl
t t

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 72


Phoneme-to-Phone Realization: Features [66, 10, 62]

 Phonemic Context:
– Phoneme to predict
– Three phonemes to left
– Three phonemes to right

 Stress (0, 1, 2)

 Lexical Position:
– Phoneme count from start of word
– Phoneme count from end of word

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 73


Phoneme-to-Phone Realization: Prediction Example

Tree splits for /t/ in ‘‘your pretty red’’:

PHONE COUNT SPLIT


ix 182499
n 87283 cm0: vstp,ustp,vfri,ufri,vaff,uaff,nas
kcl+k 38942 cm0: vstp,ustp,vaff,uaff
tcl+t 21852 cp0: alv,pal
tcl+t 11928 cm0: ustp
tcl+t 5918 vm1: mono,rvow,wdi,ydi
dx 3639 cm-1: ustp,rho,n/a
dx 2454 rstr: n/a,no

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 74


Phoneme-to-Phone Realization: Network Example
Phonetic network for ‘‘Don had your pretty...’’:

PHONEME PHONE1 PHONE2 PHONE3 CONTEXT


d 0.91 d
aa 0.92 aa
n 0.98 n
hh 0.74 hh 0.15 hv
ae 0.73 ae 0.19 eh
d 0.51 dcl jh 0.37 dcl d
y 0.90 y !dcl d)
(if d
0.84 - 0.16 y !dcl jh)
(if d
uw 0.48 axr 0.29 er
r 0.99 -
p 0.99 pcl p
r 0.99 r
ih 0.86 ih
t 0.73 dx 0.11 tcl t
iy 0.90 iy

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 75


Acoustic Model Context Selection [92, 39]
 Statistical regression trees used to predict contexts based on
distribution variance
 One tree per context-independent phone and state (left, middle, right)

 The trees were grown until the data criterion of 500 frames per
distribution was met
 Trees pruned using cost-complexity pruning and cross-validation to
select best contexts
 About 44000 context-dependent phone models
 About 16000 distributions

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 76


N-Grams: Basics
 ‘Chain Rule’ and Joint/Conditional Probabilities:

P [x1 x2 : : : xN ] = P [xN jx1 :::xN 1]P [xN 1 jx1:::xN 2] : : : P [x2 jx1 ]P [x1 ]
where, e.g.,

P [xN jx1 : : : xN P [x1 : : : xN ]


1] =
P [x1 : : : xN 1]
 (First–Order) Markov assumption:
P [xk 1 xk ]
P [xk jx1 : : : xk 1 ] = P [xk jxk 1 ] = P [x ]
k 1

 nth–Order Markov assumption:

P [xk jx1 : : : xk P [xk jxk n:::xk P [xk n : : : xk ]


1] = 1] =
P [xk n : : : xk 1]

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 77


N-Grams: Maximum Likelihood Estimation
Let N be total number of n-grams observed in a corpus and c(x1 : : : xn )
be the number of times the n-gram x1 : : : xn occurred. Then

P [x1 : : : xn ] = c (x1 : : : xn )
N
is the maximum likelihood estimate of that n-gram probability.
For conditional probabilities,
c (x1 : : : xn )
P [xn jx1 : : : xn 1] = c(x : : : x ) :
1 n 1

is the maximum likelihood estimate.


With this method, an n-gram that does not occur in the corpus is assigned
zero probability.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 78


N-Grams: Good-Turing-Katz Estimation [29, 16]
Let nr be the number of n-grams that occurred r times. Then
c  (x1 : : : xn )
P [x1 : : : xn ] = N
is the Good-Turing estimate of that n-gram probability, where
c (x) = (c(x) + 1) nnc(cx(x)+) 1 :
For conditional probabilities,
c (x1 : : : xn )
P [xn jx1 : : : xn 1] = c(x : : : x ) ; c(x1 : : : xn ) > 0
1 n 1

is Katz’s extension of the Good-Turing estimate.


With this method, an n-gram that does not occur in the corpus is assigned
the backoff probability P [xn jx1 : : : xn 1 ] = P [xn jx2 : : : xn 1 ]; where
is a normalizing constant.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 79


Finite-State Modeling [57]
Our view of recognition cascades: represent mappings between levels,
observation sequences and language uniformly with weighted finite-state
machines:

 Probabilistic mapping P (xjy): weighted finite-state transducer.


Example — word pronunciation transducer:

d:ε/1 ey:ε/.4 dx:ε/.8 ax:"data"/1


ae:ε/.6 t:ε/.2

 Language model P (w): weighted finite-state acceptor

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 80


Example of Recognition Cascade

O A D M
observations phones words

 Recognition from observations o by composition:


8
< 1 if s = o
– Observations: O(s; s) = :
0 otherwise
– Acoustic-phone transducer:A(a; p) = P (ajp)
– Pronunciation dictionary: D(p; w) = P (pjw)
– Language model: M (w; w) = P (w)
 Recognition: ŵ = argmax(O  A  D  M )(o; w)
w

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 81


Speech Models as Weighted Automata
 Quantized observations:
o1 o2 ... on
t0 t1 t2 tn

 Phone model A : observations ! phones


oi:ε/p01(i) oi:ε/p12(i) ε:π/p2f
s0 .. s 1 .. s2
. .. . ..
.. .
. .
oi:ε/p00(i) oi:ε/p11(i) oi:ε/p22(i)
P 
A =  A
Acoustic transducer:
 Word pronunciations Ddata : phones ! words
d:ε/1 ey:ε/.4 dx:ε/.8 ax:"data"/1
ae:ε/.6 t:ε/.2
P 
Dictionary: D= w Dw
M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 82
Example: Phone Lattice O  A
 Lattices: Weighted acyclic graphs representing possible
interpretations of an utterance as sequences of units at a given level of
representation (phones, syllables, words,: : : )
 Example: result of composing observation sequence for hostile battle
with acoustic model:
s/-8.579

s/-6.200

f/-8.129
t/-6.200

hh/-9.043 aa/-2.743
0 14 20 s/-8.007
ao/-2.593 f/-4.100 f/-3.057
v/-0.421 s/-7.129
th/-3.264 31 t/-2.493

q/-0.336 ax/-0.379
pau/-4.207 th/-2.464

dx/-0.514 uw/-0.714 78 l/-4.371


23 s/-3.343 38 70
s/-3.493 ae/-13.100
s/-3.336 pau/-2.421 ax/-3.721 v/-2.150 n/-1.236 74 r/-0.579
el/-4.357
s/-4.893 t/-3.621 53 b/-2.271 el/-5.679 83
el/-6.457 d/-4.721 58 n/-2.857
s/-3.179 ae/-10.600
27 t/-3.229 el/-4.229 48 68
s/-7.214 t/-3.386 b/-8.007
34 40 en/-1.729
pau/-6.621 44
s/-4.436 ax/-2.971

th/-6.257
s/-9.893

s/-10.657

s/-11.479

s/-12.007

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 83


Sample Pronunciation Dictionary D
Dictionary with hostile, battle and bottle as a weighted transducer:
ax:-/2.607

ay:-/1.616

t:-/0.067 2
0 s:-/0.035 3 el:-/0.431
-:hostile/2.943 aa:-/0.055 4
18
hh:hostile/0.134
-:-/2.466 -:-/0.000 17
hv:hostile/2.635
1

-:-/0.014

-:-/0.014
l:-/0.112 el:-/0.164 6

b:battle/0.000 ae:-/0.057 t:-/2.113


-:-/0.000 16 9 8 7
dx:-/0.240
15
b:bottle/0.000
aa:-/0.055
14 13 t:-/2.113
ax:-/2.607
el:-/0.164
dx:-/0.240 12 11
-:-/0.014
ax:-/2.607

-:-/2.466
10

l:-/0.112

l:-/0.112
5

-:-/2.466

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 84


Sample Language Model M
Simplified language model as a weighted acceptor:

battle/10.896
battle/6.603
-/1.882 2

-/2.306
battle/9.268
hostile/9.394

hostile/11.119 0 -/2.374
4 -/3.173
3 bottle/11.510
-/3.537 -/1.913 5

bottle/13.970
-/1.102 1

-/3.961

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 85


Recognition by Composition
 From phones to words: compose dictionary with phone lattice to
yield word lattice with combined acoustic and pronunciation costs:
hostile/-32.900 battle/-26.825
0 1 2

 Applying language model: Compose word lattice with language


model to obtain word lattice with combined acoustic, pronunciation
and language model costs:
hostile/-21.781 2 battle/-17.916

0 3
hostile/-19.407 battle/-15.250
1

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 86


Context-Dependency Examples
 Context-dependent phone models: Maps from CI units to CD units.
Example: ae=b d ! aeb;d
 Context-dependent allophonic rules: Maps from baseforms to
detailed phones. Example: t=V 0 V ! dx
 Difficulty: Cross-word contexts – where several words enter and
leave a state in the grammar, substitution does not apply.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 87


Context-Dependency Transducers
Example — triphonic context transducer for two symbols x and y .

x.x x/x_x:x

x/x_y:x

x.y

y/x_y:y x/y_x:x

x/y_y:x y.y y/y_y:y y/x_x:y

y/y_x:y

y.x

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 88


Generalized State Machines
All of the above networks have bounded context and thus can be
represented as generalized state machines. A generalized state machine
M:
 Supports these operations:
– M:start – returns start state
– M:final(state) – returns 1 if final, 0 if non-final state
– M:arcs(state) – returns transitions (a1 ; a2 ; : : : ; aN ) leaving
state, where ai = (ilabel; olabel; weight; nextstate)
 Does not necessarily support:
– providing the number of states
– expanding states that have not been already discovered

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 89


On-Demand Composition [69, 53]
Create generalized state machine C for composition A  B .
 C:start := (A:start; B:start)
 C:final((s1; s2)) := A:final(s1) ^ B:final(s2)
 C:arcs((s1; s2)) := Merge(A:arcs(s1); B:arcs(s2))

Merged arcs defined as:

( l1; l3; x + y; (ns1; ns2)) 2 Merge(A:arcs(s1); B:arcs(s2))


iff

(l1; l2; x; ns1) 2 A:arcs(s1) and (l2; l3; y; ns2) 2 B:arcs(s2)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 90


State Caching
Create generalized state machine B for input machine A.

 B:start := A:start
 B:final(state) := A:final(state)
 B:arcs(state) := A:arcs(state)

Cache Disciplines:
 Expand each state of A exactly once, i.e. always save in cache
(memoize).
 Cache, but forget ’old’ states using a least-recently used criterion.

 Use instructions (ref counts) from user (decoder) to save and forget.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 91


On Demand Composition – Results
ATIS Task - class-based trigram grammar, full cross-word triphonic
context-dependency.

states arcs
context 762 40386
lexicon 3150 4816
grammar 48758 359532
full expansion  1:6  106 5:1  106
For the same recognition accuracy as with a static, fully expanded
network, on-demand composition expands just 1.6% of the total number
of arcs.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 92


Determinization in Large Vocabulary Recognition
 For large vocabularies, ’string’ lexicons are very non-deterministic
 Determinizing the lexicon solves this problem, but can introduce
non-coassessible states during its composition with the grammar
 Alternate Solutions:
– Off-line compose, determinize, and minimize:

Lexicon  Grammar
– Pre-tabulate non-coassessible states in the composition of:

Det(Lexicon)  Grammar

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 93


Search in Recognition Cascades
 Reminder: Cost  log probability
 Example recognition problem: ŵ = argmax(O  A  D  M )(o; w)
w

 Viterbi search: approximate ŵ by the output word sequence for the


lowest-cost path from the start state to a final state in O  A  D  M
— ignores summing over multiple paths with same output:

...:ε ...:wi
...:w1
...:ε

...:ε ...:wn
>
...:ε
O°A°D°M

 Composition preserves acyclicity, O is acyclic ) acyclic search


graph

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 94


Single-source Shortest Path Algorithms [83]
 Meta-algorithm:
Q fs0g; 8 s; Cost(s) 1
While Q not empty, s Dequeue(Q)
For each s0 2 Adj [s] such that Cost(s0 ) > Cost(s) + cost(s; s0 )
Cost(s0 )Cost(s) + cost(s; s0 )
Enqueue(Q; s)
 Specific algorithms:
Name Queue type Cycles Neg. Weights Complexity
acyclic topological no yes O(jV j + jE j)
Dijkstra best-first yes no O(jE j log jV j)
Bellman-Ford FIFO yes yes O(jV j  jE j)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 95


The Search Problem
 Obvious first approach: use an appropriate single-source
shortest-path algorithm

 Problem: impractical to visit all states, can we do better?


– Admissible methods: guarantee finding best path, but reorder
search to avoid exploring provably bad regions
– Non-admissible methods: may fail to find best path, but may need
to explore much less of the graph
 Current practical approaches:
– Heuristic cost functions
– Beam search
– Multipass search
– Rescoring

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 96


Heuristic Cost Function — A* Search [4, 56, 17]
 States in search ordered by

cost-so-far(s) + lower-bound-to-complete(s)

 With a tight bound, states not on good paths are not explored
 With a loose lower bound no better than Dijkstra’s algorithm

 Where to find a tight bound?


– Full search of a composition of smaller automata (homomorphic
automata with lower-bounding costs?)
– Non-admissible A* variants: use averaged estimate of
cost-to-complete, not a lower-bound

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 97


Beam Search [35]
 Only explore states with costs within a beam (threshold) of the cost
of the best comparable state
 Non-admissible
 Comparable states  states corresponding to (approximately) the
same observations
 Synchronous (Viterbi) search: explore composition states in
chronological observation order

 Problem with synchronous beam search: too local, some observation


subsequences are unreliable and may locally put the best overall path
outside the beam

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 98


Beam-Search Tradeoffs [68]
Word lattice: result of composing observation sequence, level
transducers and language model.

Beam Word lattice Median number


error rate of edges
4 7.3% 86.5
6 5.4% 244.5
8 4.4% 827
10 4.1% 3520
12 4.0% 13813.5

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 99


Multipass Search [52, 3, 68]
 Use a succession of binary compositions instead of a single n-way
composition — combinable with other methods

 Prune: Use two-pass variant of composition to remove states not in


any path close enough to the best

 Pruned intermediate lattices are smaller, lower number of state


pairings considered
 Approximate: use simpler models (context-independent phone
models, low-order language models)
 Rescore: : :

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 100
Rescoring
Most successful approach in practice:

approximate
n best rescoring
w1
cheap detailed
o


models models wi
wn

 Small pruned result built by composing approximate models


 Composition with full models, observations
 Find lowest-cost path

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART II 101
PART III
Finite State Methods in Language
Processing

Richard Sproat

Speech Synthesis Research Department


Bell Laboratories, Lucent Technologies

rws@bell-labs.com

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 102
Overview

 Text-analysis for Text-to-Speech (TTS) Synthesis

– A rich domain with lots of linguistic problems

– Probably the least familiar application of NLP technologies

 Syntactic analysis

 Some thoughts on text indexation

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 103
The Nature of the TTS Problem

This is some text:


It was a dark and
stormy night. Four
score and seven
years ago. Now is
the time for all
good men. Let
them eat cake.
Quoth the raven
nevermore.

Linguistic Analysis

phonemes, durations
and pitch contours

Speech Synthesis

speech waveforms

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 104
From Text to Linguistic Representation

Ñ«YoC
‘The rat is eating the oil’ & N V N

lao3 shu3 chi1 you2


l a u∩ 
su ts

r j o u∩

µ µ µ µ

σ σ σ σ

ω ω ω

LH L H LH
Φ

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 105
Russian Percentages: The Problem
How do you say ‘%’ in Russian?
Adjectival forms when modifying nouns
20% skidka ) dvadcat i -procentn a skidka
‘20% discount’ dvadcat i -procent naja skidka
s 20% rastvorom ) s dvadcat i -procent nym rastvorom
‘with 20% solution’ s dvadcat i -procent nym rastvorom
Nominal forms otherwise
21% ) dvadcat~ odin procent
dvadcat’ odin procent
23% ) dvadcat~ tri procent a
dvadcat’ tri procent a
20% ) dvadcat~ procent ov
dvadcat’ procent ov
s 20% ) s dvadcat~  procent ami
‘with 20%’ s dvadcat’ ju procent ami

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 106
Text Analysis Problems
 Segment text into words.
 Segment text into sentences, checking for and expanding
abbreviations :

St. Louis is in Missouri.

 Expand numbers

 Lexical and morphological analysis

 Word pronunciation
– Homograph disambiguation

 Phrasing
 Accentuation

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 107
Desiderata for a Model of Text Analysis for TTS

 Delay decisions until have enough information to make them

 Possibly weight various alternatives

Weighted Finite-State Transducers offer an attractive computational model

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 108
Overall Architectural Matters
Example: word pronunciation in Russian

 Text form: kostra<kostra> (bonfire+genitive.singular)

 Morphological analysis:
kost0 Ërfnoungfmascgfinang+0 afsggfgeng

 Pronunciation: /kstr0 a/

 Minimal Morphologically-Motivated Annotation (MMA): kostr0 a

(Sproat, 1996)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 109
Overall Architectural Matters

Language Model

fst α:β
Lexical Analysis WFST:
γ:δ −1 −1
S O L

Morphological Analysis
D

:
#KOST"{E}P{noun}{masc}{inan}+"A{sg}{gen}#
Phonological Analysis WFST:
L=D O M L O P
fst α:β

M γ:δ

MMA
#KOSTP"A#

fst α:β fst α:β

S γ:δ γ:δ
P

Surface Orthographic Form Pronunciation


KOSTPA #kastr"a#

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 110
Orthography ! Lexical Representation
A Closer Look

Words : Lex. Annot.  Lex. Annot. : Lex. Anal. _ Punc. :Interp. 


S S

Special Symbols : Expansions SPACE :Interp.


S

Numerals : Expansions

SPACE: white space in German, Spanish, Russian : : :


 in Japanese, Chinese : : :

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 111
Chinese Word Segmentation
F ! F asp : le0 perf
FÑ F Ñ vb :
1 4 68

! liao3jie3 understand
j j vb :
2 1 8 11

! da4 big
jó j ó nc :
1 5 56
! da4jie1 avenue
£ £ adv :
1 11 45
! bu4 not
b b vb :
2 4 58
! zai4 at
Ñ Ñ vb :
4 45

! wang4 forget
Ñ£F Ñ vb++£ F npot
11 77

! : wang4+bu4liao3 unable to forget


Ú Ú np :
2 2 12 23

! wo3 I
ñ ñ vb :
4 88

! fang4 place
ñj ñj vb :
8 05
! fang4da4 enlarge
þÌ þ Ì nc :
1 10 70

! na3li3 where
ó ó nc :
1 11 02

! jie1 avenue
Ññ Ñ ñ nc :
10 35

! jie3fang4 liberation
Ññj Ñ ñj urnp :
1 10 92

! 3 1 42 23 xie4 fang4da4 name

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 112
Chinese Word Segmentation

Space =  : #

L = Space _ (Dictionary _ (Space [ Punc))+

BestPath( ÚÑ£FÑñjóbþÌ  L) =
Ú Ñ £F
pro4:88 # vb+ Ññ
2 npot12:23 # 1 nc10:92 j 1 ó nc11:45 : : :
‘I couldn’t forget where Liberation Avenue is.’

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 113
Numeral Expansion

234  Factorization ) 2  102 + 3  101 + 4

 DecadeFlop ) 2  102 + 4 + 3  101

 NumberLexicon

+
zwei+hundert+vier+und+dreißig

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 114
Numeral Expansion

0:0
1:1
1:1
2:2
2:2
3:3
ε:10∧1 3:3
4:4
0:0
0
5:5 1
4:4
6:6 ε:10∧2 1:1 ε:10∧1
4
5:5
5

7:7 6:6
2:2
8:8 7:7
9:9 3:3 8:8
2
4:4 3 9:9
5:5
6:6
7:7
8:8
9:9

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 115
German Numeral Lexicon
fg
/ 1 : f g f gjfneutg)fsggf##g)/
(’eins num ( masc
/f2g : (zw’eifnumgf##g)/
/f3g : (dr’eifnumgf##g)/
.
..

f gf+++gf1gf10^1g)
/( 0 : f
(z’ehn num gf##g)/
/(f1gf+++gf1gf10^1g) : (’elffnumgf##g)/
/(f2gf+++gf1gf10^1g) : (zw’ölffnumgf##g)/
/(f3gf+++gf1gf10^1g) : (dr’eif++gzehnfnumgf##g)/
..
.
f gf10^1g)
/( 2 : f g f gf##g)/
(zw’an ++ zig num
/(f3gf10^1g) : (dr’eif++gßigfnumgf##g)/
..
.
f ^g
/( 10 2 ) : f gf##g)/
(h’undert num
/(f10^3g) : (t’ausendfnumgfneutgf##g)/

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 116
Morphology: Paradigmatic Specifications

Paradigm fA1g
# starke Flektion (z.B. nach unbestimmtem Artikel)
Suffix f++ger fsggfmascgfnomg
Suffix f++gen fsggfmascg(fgengjfdatgjfaccg)
Suffix f++ge fsggffemig(fnomgjfaccg)
Suffix f++gen fsgg(ffemigjfneutg)(fgengjfdatg)
Suffix f++ges fsggfneutg(fnomgjfaccg)
Suffix f++ge fplg(fnomgjfaccg)
Suffix f++ger fplgfgeng
Suffix f++gen fplgfdatg

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 117
Morphology: Paradigmatic Specifications
##### Possessiva ("mein, euer")
Paradigm fA6g
Suffix f++gfEpsg fsgg(fmascg|fneutg)fnomg
Suffix f++ge fsggffemigfnomg
Suffix f++ges fsgg(fmascg|fneutg)fgeng
Suffix f++ger fsggffemig(fgeng|fdatg)
Suffix f++gem fsgg(fmascg|fneutg)fdatg
Suffix f++gen fsggfmascgfaccg
Suffix f++gfEpsg fsggfneutgfaccg
Suffix f++ge fplg(fnomg|faccg)
Suffix f++ger fplgfgeng
Suffix f++gen fplgfdatg
M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 118
Morphology: Paradigmatic Specifications
/fA1g : (’aalf++gglattfadjg)/
/fA1g : (’abf++gänderf++glichfadjgfumltg)/
/fA1g : (’abf++gartigfadjg)/
/fA1g : (’abf++gbauf++gwürdigfadjgfumltg)/
..
.
/fA6g : (d’einfadjg)/
/fA6g : (’euerfadjg)/
/fA6g : (’ihrfadjg)/
/fA6g : (’Ihrfadjg)/
/fA6g : (m’einfadjg)/
/fA6g : (s’einfadjg)/
/fA6g : (’unserfadjg)/

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 119
Morphology: Paradigmatic Specifications

Project((fA6g_Endings)  ((fA6g:Stems)_Id(Σ ))) )

masc 9
8 neut nom
sg
0 m 1 ’ 2 e 3 i 4 n 5 adj 6 ++ 7 13 femi
sg 11 acc
e nom
pl
masc
s sg 25 neut 23
12 24 gen
r 10
pl
n gen
20
sg
21 femi 22 dat
m acc
17 sg 18 masc 19 dat
pl
14 sg neut 16
15
masc

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 120
Morphology: Finite-State Grammar

START PREFIX fEpsg


PREFIX STEM fEpsg
PREFIX STEM t"elef++g<1.0>
..
.
STEM SUFFIX ’abend
STEM SUFFIX ’abenteuer
..
.
SUFFIX PREFIX f++g<1.0>
SUFFIX FUGE fEpsg<1.0>
SUFFIX WORD fEpsg<2.0>
.
..

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 121
Morphology: Finite-State Grammar

FUGE SECOND f++g<1.5>


FUGE SECOND f++gsf++g<1.5>
.
..

SECOND PREFIX fEpsg<1.0>


SECOND STEM fEpsg<2.0>
SECOND WORD fEpsg<2.0>
..
.
WORD

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 122
Morphology: Finite-State Grammar

Unanständigkeitsunterstellung
‘allegation of indecency’

+
"unf++g"anf++gst’ändf++gigf++gkeitf++gsf++gunterf++gst’ellf++gung

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 123
Rewrite Rule Compilation

Context-dependent rewrite rules

General form:
 ! = 
; ; ;  regular expressions.
Constraint: cannot be rewritten but can be used as a context

Example:
a ! b=c b
(Johnson, 1972; Kaplan & Kay, 1994; Karttunen, 1995; Mohri & Sproat,
1996)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 124
Example

a ! b=c b

w = cab

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 125
Example

Input:
c a b
0 1 2 3

After r:
c a > b
0 1 2 3 4

After f:

c <1 a > b
0 1 2 3 4 5
<2

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 126
Example

After replace:
<1 2 b
c b
0 1 <2 a 4 5
3

After l1 :
b
c b
0 1 <2 a 2 4

After l2 :
c b b
0 1 2 3

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 127
Rewrite Rule Compilation

 Principle

– Based on the use of marking transducers

– Brackets inserted only where needed

 Efficiency

– 3 determinizations + additional linear time work

– Smaller number of compositions

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 128
Rule Compilation Method

r  f  replace  l1  l2

r: Σ  ! Σ > 
f: (Σ [ f>g)  >! (Σ [ f>g) f<1 ; <2 g >

replace : <1  >!<1


l1 : Σ  <1 ! Σ 
l2 : Σ  <2 ! Σ 

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 129
Marking Transducers

Proposition Let be a deterministic automaton representing Σ , then


the transducer  post-marks occurrences of by #.

a:a c:c

b:b q d:d

Final state q with entering and leaving transitions of Id( ).

a:a c:c
ε:#
b:b q q’ d:d

States and transitions after modifications, transducer  .

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 130
Marker of Type 2

#:ε
a:a c:c

b:b q d:d

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 131
The Transducers as Expressions using Marker

r = [reverse(Marker (Σ reverse(); 1; f>g; ;))]


f = [reverse(Marker ((Σ [ f>g) reverse(> >); 1; f<1 ; <2 g; ;))]

l1 = [Marker (Σ ; 2; ;; f<1 g)]< :< 2 2

l2 = [Marker (Σ ; 3; ;; f<2 g)]

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 132
Example: r for rule a ! b=c b

Σ reverse()
c:c
b:b
= a:a
b:b
a:a
0 1
c:c

Marker (Σ reverse(); 1; f>g; ;)


c:c
= a:a

b:b
0 1
Eps:>

reverse(Marker(Σ reverse(); 1; f>g; ;))


c:c
= a:a

Eps:>
0 1
b:b

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 133
The Replace Transducer

Σ:Σ, <2:<2, >:ε

[φ xψ] < :ε, < : ε, >:ε


<1:<1 1 1 2

0 2
>:ε

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 134
Extension to Weighted Rules

Weighted context-dependent rules:

 ! = 
 ; ;  regular expressions,
 formal power series on the tropical semiring

Example:
c ! (:9c) + (:1t)=a t

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 135
Rational power series

Functions S : Σ ! R+ [ f1g, Rational power series


 Tropical semiring: (R+ [ f1g; min; +)
X
 Notation: S = (S; w)
w Σ
2
 S = (2a)(3b)(4b)(5b) + (5a)(3b)
Example:
(S; abbb) = minf2 + 3 + 4 + 5 = 14; 5 + 3 + 3 + 3 = 11g = 11

Theorem 6 (Schützenberger, 1961): S is rational iff it is recognizable


(representable by a weighted transducer).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 136
Compilation of weighted rules

 Extension of the composition algorithm to the weighted case


– Efficient filter for -transitions

– Addition of weights of matching labels

 Same compilation algorithm

 Single-source shortest paths algorithms to find the best path

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 137
Rewrite Rules: An Example

s!z= ($|#) VStop ;


V:V

$:$
#:#
VStop:VStop z:z
z:z #:#
$:$ #:# 3

V:V
s:s s:s $:$
0
z:z s:z
1
s:s
V:V
s:z
s:z
2
#:#
VStop:VStop
$:$
4

VStop:VStop

/mis$mo$/  Voicing = /miz$mo$/

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 138
Syllable structure
  +
T
1 (C V C1:0 $ )
  T
2 : (Σ $ (CC \ : (CG [ OL)) Σ )
  T
3 : (Σ $ ([+cor] [ /x/ [ / /) /l/ Σ )
4 : (Σ $ ([+cor,+strid] [ /x/ [ / /) /r/ Σ )
estrella: /estreya/  Intro( $ )  Syl )
$/0 4 t/0
0
##/0 1
e/0 2
s/1 3
t/1 14
$/0 5 r/0 $/0 8 y/0
r/1 e/0 a/0 $/0 ##/0

 Intro( $ )  Syl) = /es $ tre $ ya $ /


6 7 9 10 11 12/0
$/0 y/1 $/0
15 13

BestPath(/estreya/
atlas: /atlas/  Intro( $ )  Syl )
$/0 4 l/0
0
##/0 1
a/0 2
t/1 3 5
a/0 6
s/1 7
$/0 8
##/0 9/0
l/1 $/0

 Intro( $ )  Syl) = /at $ las $ /


10

BestPath(/atlas/

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 139
Russian Percentage Expansion: An example

s 5% skidkoĭ

Lexical Analysis FST

sprep pjatnum ’nom -procentnadj ? +ajafem+sg+nom skidkfem ojsg+instr [


sprep pjatnum igen -procentnadj ? +ojfem+sg+instr skidkfem ojsg+instr 2:0 [
sprep pjatnum ’juinstr -procentnoun +amipl+instr skidkfem ojsg+instr 4:0 [
..
.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 140

Language Model FSTs:
 ! ? = procentnoun (Σ \ :#) # (Σ\ :#)noun
? !  = procentnadj (Σ \ :#) # 
(Σ \ :#)noun


 ! ? = procentn (Σ \ :#) Case\:instr # (Σ \ :#)instr

 ! ? = procentn (Σ \ :#) sg+Case # (Σ \ :#)pl

:(Σ ? Σ )
+
s pjatigen -procentnadj ojsg+instr skidkoj

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 141
Percentage Expansion: Continued
s 5% skidkoĭ

+
s pjatigen -procentnadj ojsg+instr skidkoj


LP

+
s # PiT"!pr@c"Entn&y # sK"!tk&y

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 142
Phrasing Prediction
 Problem: predict intonational phrase boundaries in long
unpunctuated utterences:

For his part, Clinton told reporters in Little Rock, Ark., on Wednesday
k that the pact can be a good thing for America k if we change our
economic policy k to rebuild American industry here at home k and if
we get the kind of guarantees we need on environmental and labor
standards in Mexico k and a real plan k to help the people who will
be dislocated by it.
 Bell Labs synthesizer uses a CART-based predictor trained on labeled
corpora (Wang & Hirschberg 1992).

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 143
Phrasing Prediction: Variables
For each < wi ; wj >:
 length of utterance; distance of wi in syllables/
stressed syllables/words : : : from the beginning/end of the sentence
 automatically predicted pitch accent for wi and wj
 part-of-speech (POS) for a 4-word window around < wi ; wj >;
 (largest syntactic constituent dominating wi but not wj and vice
versa, and smallest constituent dominating them both)
 whether < wi ; wj > is dominated by an NP and, if so, distance of
wi from the beginning of that NP, the NP, and distance/length
 (mutual information scores for a four-word window around
< wi ; wj >)
The most successful of these predictors so far appear to be POS, some
constituency information, and mutual information
M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 144
Phrasing Prediction: Sample Tree
no
69923/82958

punc:NO
punc:YES

no yes
69826/74358 8503/8600

j3f:CC,CS,EX,FORIN,IN,ININ,ONIN,TO,TOIN j3n:NN,NP
j3f:AT,CD,PART,UH,NA j3n:NNS,PN,NA

no no yes yes
9968/13032 59858/61326 777/848 7726/7752
7

j3f:CC,CS nploc:SUCC,SINGLE j4f:0,ONIN


j3f:EX,FORIN,IN,ININ,ONIN,TO,TOIN nploc:PRE,W/IN,OTHER
j4f:AT,CC,CD,FORIN,IN,ININ,TO,TOIN,NA

no no no no no yes
1502/2985 8466/10047 8536/9549 51322/51777 30/39 768/809
9 11 12 13

syls:<7.5 j2n:NN,NNS,NP
syls:>7.5 j2n:PN,NA

no yes no no
361/452 1392/2533 6111/7106 2425/2443
21

j1v:HV,MD,SAIDVBD,VB,VBD,VBG j4n:NN,NNS,NP j3w:WP$,WDT,WPS,WRB


j1v:HVD,VBN,VBZ,NA j4n:PN,NA j3w:NA

yes no no yes yes no


21/29 353/423 510/792 1110/1741 219/418 5912/6688
32 33 41

npdist:<1.875 j2n:NN,NNS,NP ssylsp:<4.5


npdist:>1.875 j2n:PN,NA ssylsp:>4.5

no yes yes no no yes


472/667 87/125 820/1042 409/699 48/53 214/365
68 69 70 80

j3f:CC j1f:AT,CS,FORIN,TOIN
j3f:CS j1f:CC,CD,IN,ININ,NA

yes no no yes
167/295 281/404 56/88 182/277
162 163

j1f:AT,CS,IN,TO raj4:CL,DEACC
j1f:CC,CD,FORIN,ININ,ONIN,TOIN,NA raj4:ACC

no yes no yes
40/60 147/235 275/379 19/25
284 285 286 287

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 145
Phrasing Prediction: Results
 Results for multi-speaker read speech:
– major boundaries only: 91.2%
– collapsed major/minor phrases: 88.4%
– 3-way distinction between major, minor and null boundary:
81.9%
 Results for spontaneous speech:
– major boundaries only: 88.2%
– collapsed major/minor phrases: 84.4%
– 3-way distinction between major, minor and null boundary:
78.9%
 Results for 85K words of hand-annotated text, cross-validated on
training data: 95.4%.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 146
Tree-Based Modeling: Prosodic Phrase Prediction
no
920/1800

[1] dpunc:<3.5
dpunc:>3.5

no yes
620/1080 420/720

[2] lpos:N,V,A,Adv,D rpos:N,A


lpos:P rpos:V,Adv,D,P

no no no yes
495/900 125/180 134/240 314/480
5 7
[3] rpos:N,A lpos:A
rpos:V,Adv,D,P lpos:N,V,Adv,D,P

no no no no
190/300 305/600 30/40 104/200
12
[4] dpunc:<2.5 dpunc:<1.5 lpos:V,Adv
dpunc:>2.5 dpunc:>1.5 lpos:N,D,P

no no no yes no yes
133/200 57/100 117/200 212/400 47/80 63/120
16 26
lpos:N lpos:V,A,Adv rpos:V,Adv,D rpos:N
lpos:V,A,Adv,D lpos:N,D rpos:P rpos:A

yes no no yes yes yes no yes


13/20 50/80 78/120 41/80 152/300 60/100 35/60 38/60
34 35 36 39 54 55
lpos:N lpos:V,A
lpos:D lpos:N,Adv,D

yes no no yes
23/40 22/40 64/120 96/180
74 75
rpos:V rpos:V
rpos:Adv,D rpos:Adv,D

yes no no yes
24/40 48/80 33/60 69/120
152 153 154 155

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 147
The Tree Compilation Algorithm
(Sproat & Riley, 1996)
 Each leaf node corresponds to single rule defining a constrained weighted
mapping for the input symbol associated with the tree
 Decisions at each node are stateable as regular expressions restricting the left
or right context of the rule(s) dominated by the branch
 The full left/right context of the rule at a leaf node are derived by intersecting
the expressions traversed between the root and leaf node
 The transducer for the entire tree represents the conjunction of all the
constraints expressed at the leaf nodes; it is derived by intersecting together
the set of WFSTs corresponding to each of the leaves
– Note that intersection is defined for transducers that express same-length
relations
 The alphabet is defined to be an alphabet of all correspondence pairs that
were determined empirically to be possible

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 148
Interpretation of Tree as a Ruleset

Node 16  
1 (Σ (I! [ I! #! [ I! #! #! ))
\ 3 N [A
2 (Σ (N [ V [ A [ Adv [ D)) \

4 (Σ (I! [ I! #! ))
# ) (I1:09 [ #0:41 ) = I (! #)?(N [ V [ A [ Adv [ D) N [A

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 149
Summary of Compilation Algorithm
Each rule represents a weighted two-level surface coercion rule
\ \
RuleL = Compile(T ! L = p p )
2
p PL 2
p PL

Each tree/forest represents a set of simultaneous weighted two-level


surface coercion rules
\
RuleT = RuleL
2
L T

\
RuleF = RuleT
2
T F

BestPath(,D#N#V#Adv#D#A#N  Tree) ) ,D#N#V#Adv , D#A#N2:76

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 150
Lexical Ambiguity Resolution
 Word sense disambiguation:
She handed down a harsh sentence. peine
This sentence is ungrammatical. phrase

 Homograph disambiguation :

He plays bass. /be/s/


This lake contains a lot of bass. /bæs/
 Diacritic restoration:
appeler l’autre cote de l’atlantique côté ‘side’
Cote d’Azur côte ‘coast’
(Yarowsky, 1992; Yarowsky 1996; Sproat, Hirschberg & Yarowsky, 1992;
Hearst 1991)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 151
Homograph Disambiguation 1
 N-Grams
Evidence ld lid Logprob
lead level/N 219 0 11.10
of lead in 162 0 10.66
the lead in 0 301 10.59
lead poisoning 110 0 10.16
lead role 0 285 10.51
narrow lead 0 70 8.49
 Predicate-Argument Relationships
follow/V + lead 0 527 11.40
take/V + lead 1 665 7.76
 Wide Context
zinc$ lead 235 0 11.20
copper $ lead 130 0 10.35
 Other Features (e.g. Capitalization)
M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 152
Homograph Disambiguation 2
r (P ron1 jCollocationi )
Sort by Abs(Log ( P
P r (P ron2 jCollocationi ) ))

Decision List for lead


Logprob Evidence Pronunciation
11.40 follow/V + lead ) lid
11.20 zinc $ lead ) ld
11.10 lead level/N ) ld
10.66 of lead in ) ld
10.59 the lead in ) lid
10.51 lead role ) lid
10.35 copper $ lead ) ld
10.28 lead time ) lid
10.16 lead poisoning ) ld
M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 153
Homograph Disambiguation 3: Pruning
 Redundancy by subsumption
Evidence lid ld Logprob
lead level/N 219 0 11.10
lead levels 167 0 10.66
lead level 52 0 8.93
 Redundancy by association
Evidence t ti
tear gas 0 1671
tear $ police 0 286
tear $ riot 0 78
tear $ protesters 0 71

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 154
Homograph Disambiguation 4: Use
Choose single best piece of matching evidence.
Decision List for lead
Logprob Evidence Pronunciation
11.40 follow/V + lead ) lid
11.20 zinc $ lead ) ld
11.10 lead level/N ) ld
10.66 of lead in ) ld
10.59 the lead in ) lid
10.51 lead role ) lid
10.35 copper $ lead ) ld
10.28 lead time ) lid
10.16 lead poisoning ) ld
M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 155
Homograph Disambiguation: Evaluation
Word Pron1 Pron2 Sample Size Prior Performance
lives laivz livz 33186 .69 .98
wound waYnd wund 4483 .55 .98
Nice nais nis 573 .56 .94
Begin biqgin beigin 1143 .75 .97
Chi tSi kai 1288 .53 .98
Colon koYqloYn qkoYln 1984 .69 .98
lead (N) lid ld 12165 .66 .98
tear (N) t ti 2271 .88 .97
axes (N) qæksiz qæksiz 1344 .72 .96
IV ai vi fAMW 1442 .76 .98
Jan dcæn jn 1327 .90 .98
routed Mutid MaYtid 589 .60 .94
bass beis bæs 1865 .57 .99
TOTAL 63660 .67 .97

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 156
Decision Lists: Summary

 Efficient and flexible use of data.

 Easy to interpret and modify.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 157
Decision Lists as WFSTs
The lead example

 Construct ‘homograph taggers’ H0 , H1 : : : that find and tag instances


of a homograph set in a lexical analysis. For example, H1 is:

##:##
φ:φ
1 l:l
φ:φ 2 e:e
φ:φ φ:φ 3
a:a
0
φ:φ 4
d:d
φ:φ 5 1:1
φ:φ nn:nn
6
7
<e>:H1
φ:φ 8

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 158
Decision Lists as WFSTs
 Construct an environmental classifier consisting of a pair of transducers C1 and C2 ,
where

– C1 optionally rewrites any symbol except the word boundary or the homograph tags
H0, H1 : : : , as a single dummy symbol ∆

– C2 classifies contextual evidence from the decision list according to its type, and
assigns a cost equal to the position of the evidence in the list; and otherwise passes
∆, word boundary and H0, H1 : : : through:

## follow vb ## ! ## ∆ V0 ## <1>
## zinc nn ## ! ## ∆ C1 ## <2>
## level(s?) nn ## ! ## ∆ R1 ## <3>
## of pp ## ! ## ∆ [1 ## <2>
## in pp ## ! ## ∆ 1] ## <2>
.
..

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 159
Decision Lists as WFSTs

 Construct a disambiguator D from a set of optional rules of the form:


H0 ! 3 / V0 Σ
H1 ! 3 / C1 Σ
H1 ! 3 / Σ C1
H0 ! 3 / ## ∆ R0
H1 ! 3 / ## ∆ R1
H0 ! 3 / [0 ## ∆ ## ∆ 0]
H1 ! 3 / [1## ∆ ## ∆ 1]
..
.
H0 ! 3 < 20 >
H1 ! 3 < 40 >

 Construct a filter F that removes all paths containing H0, H1 : : : .

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 160
Decision Lists as WFSTs

 Let an example input T be:

0
## c o p p e r nn ## a n d ## l e a d 1
18 nn
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ##
vb 19 20

 Then the disambiguated input T 0 is given by:

T \ P roject 1[ BestP ath [ T  H0  H1  C1  C2  D  F ] ]

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 161
Syntactic Parsing and Analysis

 Intersection grammars (Voutilainen, 1994, inter alia)

 FST simulation of top-down parsing (Roche, 1996)

 Local grammars implemented as failure function automata (Mohri,


1994)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 162
Intersection Grammars

 Text automaton consisting of all possible lexical analyses of the


input, including analysis of boundaries.
@ @ vb sg @ @ @
the dt cans 6

hold vb pl tuna nn sg
0

@@ 1 2 3

@@ 4 5

nn 17
pl 7

@@ 8 9 10 11

@@ 12 13 14 15

@@ 16

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 163
 Series of syntactic FSAs to be intersected with the text automaton,
constraining it.
dt
tuna
dt dt
hold
dt 1 @
the vb
ρ ρ @@
2 3 4

factory
0 ρ
cans
ρ

0
@@ 1
the 2
dt 3
@ 4
cans 5
nn 6
pl 7
@ 8
hold 9
vb 10
pl 11
@ 12
tuna 13
nn 14
sg 15
@@ 16

 Experimental grammars with a couple of hundred rules have been


constructed.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 164
Top Down Parsing
S = [S the cans hold tuna S]
Tdic =
cans:cans
tuna:tuna
1
[NP:(NP the:the
factory:factory
4 5
cans:cans
tuna:tuna
ρ:ρ
[S:[S NP]:NP)
[VP:[VP ρ:ρ
[NP:[NP [S:(S
3
e:[NP 7
e:NP] e:[VP ρ:ρ
9
0
VP]:VP) 11
e:VP]
[VP:(VP cans:cans ρ:ρ e:NP] 10
2

6
e:[NP 8
hold:hold 12

S]:S)

S  Tdic = (S [NP NP] [VP the cans hold tuna VP] S)


(S [NP the NP] [VP cans hold tuna VP] S)
(S [NP the cans NP] [VP hold tuna VP] S)
(S [NP the cans hold NP] [VP tuna VP] S)
(S [NP the cans hold tuna NP] [VP VP] S)
S  Tdic  Tdic = (S (NP the cans NP) (VP hold [NP tuna NP] VP) S)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 165
Local Grammars

 Descriptions of local syntactic phenomena, compiled into efficient, compact


deterministic automata, using failure functions. (Cf. the use of failure functions with
(sets of) strings familiar from string matching — e.g. Crochemore & Rytter, 1994)

 Descriptions may be negative or positive.


Example of a negative constraint:
– Let L(G) = DT @ WORD VB
– Construct deterministic automaton for Σ L(G)

dt
φ φ 1
@
φ
0 2
WORD
φ
3 vb
φ 4

– Given a sentence L(S ), compute L(S ) Σ L(G)Σ

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 166
Indexation of natural language texts
 Motivation
– Use of linguistic knowledge in indexation
– Optimal complexities
 Preprocessing of a text t, O(jtj)
 Search for positions of a string x,
O(jxj + NumOccurrences(x))
 Existing efficient indexation algorithms (PAT), but not convenient
(use with large linguistic information)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 167
Example (1)

4
5
a:0 2 b:0
a:0 3
0 1 b:0
b:1
b:2 4
b:0 a:0
5 6
a:1

Figure 27: Indexation with subsequential transducers t = aabba.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 168
Example (2)

{2}
{0,1,2,3,4,5} {1,2,5} 2 {3}
a b
a 3
0 1 b
b {4}
b 4 {5}
b a
5 6
a
{3,4}
Figure 28: Indexation with automata t = aabba.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 169
Algorithms
 Based on the definition of an equivalence relation R on Σ :
(w1 R w2 ) iff w1 and w2 have the same set of ending positions in t

 Construction
– Minimal machines (subsequential transducer or automaton)
– Use of a failure function to distinguish equivalence classes
 Can be adapted to natural language text
(not storing list of positions of short words)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 170
Indexation with finite-state machines
 Complexity
– Transducers (Crochemore, 1986): Preprocessing O(jtj), Search
O(jxj + NumOccurrences(x)) if using complex labels
– Automata (Mohri, 1996b): Preprocessing quadratic, Search
O(jxj + NumOccurrences(x))
 Advantage: use of linguistic information
– Extended search: composition with morphological transducer
– Refinement: composition with finite-state grammar
 Applications to WWW (Internet)

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing PART III 171
References
[1] Aho, Alfred V., John E. Hopcroft, and Jeffrey D. Ullman. 1974. The
design and analysis of computer algorithms. Addison Wesley: Reading,
MA.
[2] Aho, Alfred V., Ravi Sethi, and Jeffrey D. Ullman. 1986. Compilers,
Principles, Techniques and Tools. Addison Wesley: Reading, MA.
[3] Austin, S., R. Schwartz, and P. Placeway. 1991. The
forward-backward search algorithm. Proc. ICASSP ‘91, S10.3.
[4] Bahl, L.R., F. Jelinek, and R. Mercer. 1983. A maximum likelihood
approach to continuous speech recognition. IEEE Transactions on PAMI,
pp 179-190, March, 1983.
[5] Bellegarda, J. 1990. Tied mixture continuous parameter modeling for
speech recognition IEEE Transactions on ASSP 38(12) 2033-2045.
[6] Berstel, Jean. 1979. Transductions and Context-Free Languages.
M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 172
Teubner Studienbucher: Stuttgart.
[7] Berstel, Jean, and Christophe Reutenauer. 1988. Rational Series and
Their Languages. Springer-Verlag: Berlin-New York.
[8] Bird, Steven, and T. Mark Ellison. 1994. One-level phonology:
Autosegmental representations and rules as finite automata.
Computational Linguistics, 20(1):55–90.
[9] Breiman, Leo, Jerome H. Friedman, Richard A. Olshen, and Charles J.
Stone. 1984. Classification and Regression Trees. Wadsworth & Brooks,
Pacific Grove CA.
[10] Chen, F. 1990. Identification of contextual factors for pronunciation
networks. Proc. ICASSP ‘90, S14.9,
[11] Choffrut, Christian. 1978. Contributions à l’étude de quelques
familles remarquables de fonctions rationnelles. Ph.D. thesis, (thèse de
doctorat d’Etat), Université Paris 7, LITP: Paris, France.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 173
[12] Cormen, T., C. Leiserson, and R. Rivest. 1992. Introduction to
Algorithms. The MIT Press: Cambridge, MA.
[13] Eilenberg, Samuel. 1974-1976. Automata, Languages and Machines,
volume A-B. Academic Press.
[14] Elgot, C. C. and J. E. Mezei. 1965. On relations defined by
generalized finite automata. IBM Journal of Research and Development,
9.
[15] Gildea, Daniel, and Daniel Jurafsky. 1995. Automatic induction of
finite state transducers for simple phonological rules. In 33rd Annual
Meeting of the Association for Computational Linguistics, pages 9–15.
ACL.
[16] Good, I. 1953. The population frequencies of species and the
estimation of population parameters. Biometrica V 40(3,4) 237-264.
[17] Gopalakrishnam, P., L. Bahl, and R. Mercer. 1995. A tree search
strategy for large-vocabulary continuous speech recognition Proc.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 174
ICASSP ‘95, 572-575.
[18] Gross, Maurice. 1989. The use of finite automata in the lexical
representation of natural language. Lecture Notes in Computer Science,
377.
[19] Hearst, Marti. 1991. Noun homograph disambiguation using local
context in large text corpora. In Using Corpora, Waterloo, Ontario.
University of Waterloo.
[20] Hopcroft, John E. and Jeffrey D. Ullman. 1979. Introduction to
Automata Theory, Languages, and Computation. Addison Wesley:
Reading, MA.
[21] Johnson, C. Douglas. 1972. Formal Aspects of Phonological
Description. Mouton, Mouton, The Hague.
[22] Joshi, Aravind K. 1996. A parser from antiquity: an early
application of finite state transducers to natural language processing. In
ECAI-96 Workshop, Budapest, Hungary. ECAI.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 175
[23] Kaplan, Ronald M. and Martin Kay. 1994. Regular models of
phonological rule systems. Computational Linguistics, 20(3).
[24] Karlsson, Fred, Atro Voutilainen, Juha Heikkila, and Atro Anttila.
1995. Constraint Grammar, A language-Independent System for Parsing
Unrestricted Text. Mouton de Gruyter.
[25] Karttunen, Lauri. 1995. The replace operator. In 33rd Meeting of the
Association for Computational Linguistics (ACL 95), Proceedings of the
Conference, MIT, Cambridge, Massachussetts. ACL.
[26] Karttunen, Lauri. 1996. Directed replacement. In 34th Annual
Meeting of the Association for Computational Linguistics, pages
108–115. ACL.
[27] Karttunen, Lauri, and Kenneth Beesley. 1992. Two-level rule
compiler. Technical Report P92–00149, Xerox Palo Alto Research Center.
[28] Karttunen, Lauri, Ronald M. Kaplan, and Annie Zaenen. 1992.
Two-level morphology with composition. In Proceedings of the fifteenth

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 176
International Conference on Computational Linguistics (COLING’92),
Nantes, France. COLING.
[29] Katz, S. 1987. Estimation of probabilities from sparse data for the
language model component of a speech recognizer. IEEE Trans. of ASSP,
35(3):400–401.
[30] Kiraz, George Anton . 1996. S.emH.e: A generalized two-level
system. In 34th Annual Meeting of the Association for Computational
Linguistics, pages 159–166. ACL.
[31] Koskenniemi, Kimmo. 1983. Two-Level Morphology: a General
Computational Model for Word-Form Recognition and Production. PhD
thesis. University of Helsinki, Helsinki.
[32] Koskenniemi, Kimmo. 1985. Compilation of automata from
morphological two-level rules. In Proceedings of the Fifth Scandinavian
Conference of Computational Linguistics, Helsinki, Finland.
[33] Koskenniemi, Kimmo. 1990. Finite-state parsing and

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 177
disambiguation. In Proceedings of the thirteenth International
Conference on Computational Linguistics (COLING’90), Helsinki,
Finland. COLING.
[34] Kuich, Wener and Arto Salomaa. 1986. Semirings, Automata,
Languages. Springer-Verlag: Berlin-New York.
[35] Lee, C. and L. Rabiner. 1989. A frame-synchronous network search
algorithm for connected word recognition IEEE Transactions on ASSP
37(11) 1649-1658.
[36] Lee, K.F. 1990. Context dependent phonetic hidden Markov models
for continuous speech recognition. IEEE Transactions on ASSP. 38(4)
599–609.
[37] van Leeuwen, Hugo. 1989. TooL iP: A Development Tool for
Linguistic Rules. PhD thesis. Technical University Eindhoven.
[38] Leggestter, C.J. and P.C. Woodland. 1994. Speaker adaptation of
continuous density HMMs using linear regression. Proc. ICSLP ’94 2:

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 178
451-454. Yokohama.
[39] Ljolje, A.. 1994. High accuracy phone recognition using context
clustering and quasi-triphonic models. Computer Speech and Language,
8:129–151.
[40] Ljolje, A., M. Riley, and D. Hindle. 1996. Recent improvements in
the AT&T 60,000 word speech-to-text system. Proc. DARPA Speech and
Natural Language Workshop, February 1996. Harriman, NY.
[41] Lothaire, M. 1990. Mots. Hermes: Paris, France.
[42] Lucassen, J., and R. Mercer 1984. An information theoretic
approach to the automatic determination of phonemic baseforms.
Proceedings of ICASSP 84, 42.5.1-42.5.4.
[43] Magerman, David. 1995. Statistical decision-tree models for
parsing. In 33rd Annual Meeting of the Association for Computational
Linguistics, pages 276–283. ACL.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 179
[44] Mohri, Mehryar. 1994a. Compact representations by finite-state
transducers. In 32nd Meeting of the Association for Computational
Linguistics (ACL 94), Proceedings of the Conference, Las Cruces, New
Mexico. ACL.
[45] Mohri, Mehryar. 1994b. Minimization of sequential transducers.
Lecture Notes in Computer Science, 807.
[46] Mohri, Mehryar. 1994c. Syntactic analysis by local grammars
automata: an efficient algorithm. In Papers in Computational
Lexicography: COMPLEX ’94, page s 179–191, Budapest. Research
Institute for Linguistics, Hungarian Academy of Sciences.
[47] Mohri, Mehryar. 1995. Matching patterns of an automaton. Lecture
Notes in Computer Science, 937.
[48] Mohri, Mehryar. 1996a. Finite-state transducers in language and
speech processing. Computational Linguistics, to appear.
[49] Mohri, Mehryar. 1996b. On some applications of finite-state

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 180
automata theory to natural language processing. Journal of Natural
Language Engineering, to appear.
[50] Mohri, Mehryar, Fernando C. N. Pereira, and Michael Riley. 1996.
Weighted automata in text and speech processing. In ECAI-96 Workshop,
Budapest, Hungary. ECAI.
[51] Mohri, Mehryar and Richard Sproat. 1996. An efficient compiler for
weighted rewrite rules. In 34th Meeting of the Association for
Computational Linguistics (ACL 96), Proceedings of the Conference,
Santa Cruz, California. ACL.
[52] Murveit, H., J. Butzbeger, V. Digalakis, and M. Weintrab. 1993.
Large-vocabulary dictation using SRI’s decipher speech recognition
system: Progressive search techniques.
In Proceedings of the International Conference on Acoustics, Speech, and
Signal Processing, pages II.319–II.322. ICASSP93.
[53] Odell, J.J, V. Valtchev, P. Woodland, and S. Young. 1994. A one pass

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 181
decoder design for large vocabulary recognition Proc. ARPA Human
Language Technology Workshop. March 1994. Morgan Kaufmann.
[54] Oncina, José, Pedro Garcı́a, and Enrique Vidal. 1993. Learning
subsequential transducers for pattern recognition tasks. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 15:448–458.
[55] Ostendorf, M., and N. Veilleux. 1994. A hierarchical stochastic
model for automatic prediction of prosodic boundary location.
Computational Linguistics, 20(1):27–54.
[56] Paul, D. 1991. Algorithms for an optimal A* search and linearizing
the search in the stack decoder. Proc. ICASSP ‘91, S10.2.
[57] Pereira, Fernando C. N., and Michael Riley. 1996. Speech
recognition by composition of weighted finite automata. CMP-LG
archive paper 9603001.
[58] Pereira, Fernando C. N., Michael Riley, and Richard Sproat. 1994.
Weighted rational transductions and their application to human language

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 182
processing. In ARPA Workshop on Human Language Technology.
Advanced Research Projects Agency.
[59] Pereira, Fernando C. N. and Rebecca N. Wright. 1991. Finite-state
approximation of phrase structure grammars. In 29th Annual Meeting of
the Association for Computational Linguistics, (ACL 91), Proceedings of
the conference, Berkeley, California. ACL.
[60] Perrin, Dominique. 1990. Finite automata. In J. Van Leuwen, editor,
Handbook of Theoretical Computer Science, Volume B: Formal Models
and Semantics. Elsevier, Amsterdam, pages 1–57.
[61] Rabiner, L. 1989. A tutorial on hidden Markov models and selected
applications in speech recognition. Proc. IEEE. 77(2) February 1989.
[62] Randolph, M. 1990. A data-driven method for discovery and
predicting allophonic variation. Proc. ICASSP ‘90, S14.10.
[63] Revuz, Dominique. 1991. Dictionnaires et lexiques, méthodes et
algorithmes. Ph.D. thesis, Université Paris 7: Paris, France.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 183
[64] Riccardi, G. , E. Bocchieri, and R. Pieraccini. 1995.
Non-deterministic stochastic language models for speech recognition. In
Proceedings of the International Conference on Acoustics, Speech, and
Signal Processing, pages I.237–I.240. ICASSP95, May 1995.
[65] Riley, M. 1989. Some applications of tree-based modeling to speech
and language. Proc. DARPA Speech and Natural Language Workshop.
Cape Cod, MA, 339-352, Oct. 1989.
[66] Riley, M. 1991. A statistical model for generating pronunciation
networks. In Proceedings of the International Conference on Acoustics,
Speech, and Signal Processing, pages S11.1.–S11.4. ICASSP91, October
1991.
[67] Riley, M., and A. Ljolje. 1992. Recognizing phonemes vs.
recognizing phones: a comparison. Proceedings of ICSLP, Banff,
Canada, October 1992.
[68] Riley, M., A. Ljolje, D. Hindle, and F. Pereira. 1995. The AT&T

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 184
60,000 word speech-to-text system. Eurospeech ’95, Madrid, Spain, Sept.
1995.
[69] Riley, M., F. Pereira, and E. Chung. 1995. Lazy transducer
composition: a flexible method for on-the-fly expansion of
context-dependent grammar networks. IEEE Workshop of Automatic
Speech Recogntion Snowbird, Utah, December 1995.
[70] Roche, Emmanuel. 1993. Analyse syntaxique transformationnelle du
français par transducteur et lexique-grammaire. Ph.D. thesis, Université
Paris 7: Paris, France.
[71] Roche, Emmanuel. 1996. Finite-state transducers: Parsing free and
frozen sentences. In Proceedings of the ECAI-96 Workshop on Extended
Finite State Models of Language, Budapest, Hungary. European
Conference on Artificial Intelligence.
[72] Salomaa, Arto and Matti Soittola. 1978. Automata-Theoretic Aspects
of Formal Power Series. Springer-Verlag: New York.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 185
[73] Schützenberger, Marcel Paul. 1961. A remark on finite transducers.
Information and Control, 4:185–196.
[74] Schützenberger, Marcel Paul. 1961. On the definition of a family of
automata. Information and Control, 4.
[75] Schützenberger, Marcel Paul. 1977. Sur une variante des fonctions
séquentielles. Theoretical Computer Science.
[76] Schützenberger, Marcel Paul. 1987. Polynomial decomposition of
rational functions. In Lecture Notes in Computer Science, volume 386.
Lecture Notes in Computer Science, Springer-Verlag: Berlin Heidelberg
New York.
[77] Silberztein, Max. 1993. Dictionnaires électroniques et analyse
automatique de textes: le système INTEX. Masson: Paris, France.
[78] Richard, Sproat. 1995. A finite-state architecture for tokenization
and grapheme-to-phoneme conversion in multilingual text analysis. In
Proceedings of the ACL SIGDAT Workshop, Dublin, Ireland. ACL.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 186
[79] Sproat, Richard. 1996. Multilingual text analysis for text-to-speech
synthesis. In Proceedings of the ECAI-96 Workshop on Extended Finite
State Models of Language, Budapest, Hungary. European Conference on
Artificial Intelligence.
[80] Sproat, Richard, Julia Hirschberg, and David Yarowsky. 1992. A
corpus-based synthesizer. In Proceedings of the International Conference
on Spoken Language Processing, pages 563–566, Banff. ICSLP.
[81] Sproat, Richard, and Michael Riley. 1996. Compilation of weighted
finite-state transducers from decision trees. In 34th Annual Meeting of the
Association for Computational Linguistics, pages 215–222. ACL.
[82] Sproat, Richard, Chilin Shih, William Gale, and Nancy Chang. 1996.
A stochastic finite-state word-segmentation algorithm for Chinese.
Computational Linguistics, 22(3).
[83] Tarjan, R. 1983. Data Structures and Network Algorithms. SIAM.
Philadelphia.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 187
[84] Traber, Christof. 1995. SVOX: The implementation of a
text-to-speech system for German. Technical Report 7. Swiss Federal
Institute of Technology, Zurich.
[85] Tzoukermann, Evelyne, and Mark Liberman. 1990. A finite-state
morphological processor for Spanish. In COLING-90, Volume 3, pages 3:
277–286. COLING.
[86] Voutilainen, Atro. 1994. Designing a parsing grammar. Technical
Report 22, University of Helsinki.
[87] Wang, Michelle, and Julia Hirschberg. 1992. Automatic
classification of intonational phrase boundaries. Computer Speech and
Language, 6:175–196.
[88] Woods, W.A. 1970. Transition network grammars for natural
language analysis. Communications of the Association for the
Computational Machinery, 13(10).
[89] Woods, W.A. 1980. Cascaded ATN grammars. Computational

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 188
Linguistics, 6(1).
[90] Yarowsky, David. 1992. Word-sense disambiguation using statistical
models of roget’s categories trained on large corpora. In Proceedings of
COLING-92. Nantes, France. COLING.
[91] Yarowsky, David. 1996. Homograph disambiguation in
text-to-speech synthesis. In Jan van Santen, Richard Sproat, Joseph Olive,
and Julia Hirschberg, editors, Progress in Speech Synthesis. Springer,
New York.
[92] Young, S.J., J.J. Odell, and P.C Woodland. 1994. Tree-based
state-tying for high accuracy acoustic modelling. Proc. ARPA Human
Language Technology Workshop. March 1994. Morgan Kaufmann.

M.Mohri-M.Riley-R.Sproat Algorithms for Speech Recognition and Language Processing REFERENCES 189

Vous aimerez peut-être aussi