13.11.2014 Views

Introduction to Computational Linguistics

Introduction to Computational Linguistics

Introduction to Computational Linguistics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

17. Using Finite State Transducers 61<br />

Let’s look at the following list.<br />

(161)<br />

[katab] ‘he wrote’ [daras] ‘he studied’<br />

[Pamal] ‘he did’ [na\al] ‘he copied’<br />

[baktib] ‘I write’ [badris] ‘I study’<br />

[baPmil] ‘I do’ [ban\il] ‘I copy’<br />

[iktib] ‘write!’ [idris] ‘study!’<br />

[iPmil] ‘do!’ [in\il] ‘copy!’<br />

[kaatib] ‘writer’ [daaris] ‘studier’<br />

[Paamil] ‘doer’ [naa\il] ‘copier’<br />

[maktuub] ‘written’ [madruus] ‘studied’<br />

[maPmuu] ‘done’ [man\uul] ‘copied’<br />

Now, we want a transducer <strong>to</strong> translate katab in<strong>to</strong> a sequence ktb plus 3rd, plus<br />

singular plus past. Similarly with the other roots. And it shall translate baktib<br />

in<strong>to</strong> ktb plus 1st, plus singular plus present. And so on. The transducer will take<br />

the form CaCaC and translate it in<strong>to</strong> CCC plus the markers 3rd, singular and past.<br />

(Obviously, one can reverse this and ask the transducer <strong>to</strong> spell out the form CCC<br />

plus 3rd, singular, past in<strong>to</strong> CaCaC.)<br />

17 Using Finite State Transducers<br />

Transducers can be nondeterministic, and this nondeterminism we cannot always<br />

eliminate. One example is the following machine. It has two states, 0 and 1, 0 is<br />

initial, and 1 is accepting. It has the transitions 0 −→ a:b 1 and 1 −→ ε:a<br />

1. This machine<br />

accepts a as input, <strong>to</strong>gether with any output string ba n , n ∈ N. What runs does<br />

this machine have? Even given input a there are infinitely many runs:<br />

(162)<br />

0 a:b −→ 1<br />

0 a:b −→ 1 ε:b<br />

−→ 1<br />

0 a:b −→ 1 ε:b<br />

−→ 1 ε:b<br />

−→ 1<br />

0 a:b −→ 1 ε:b<br />

−→ 1 ε:b<br />

−→ 1 ε:b<br />

−→ 1<br />

In addition, given a specific output, sometimes there are several runs on that given<br />

pair. Here is an example. Again two states, 0 and 1, and the following transitions:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!