Professional Documents
Culture Documents
Paper FSA Trnaducer - En.id
Paper FSA Trnaducer - En.id
com
Abstract
We describe the algorithmic and software design principles of an object-oriented library for
weighted nite-state transducers. By taking advantage of the theory of rational power series, we were
able to achieve high degrees of generality, modularity and irredundancy, while attaining competitive e
ciency in demanding speech processing applications involving weighted automata of more than 107
negara bagian dan transisi. Selain dasar matematisnya, desain juga mengambil ide-ide penting dalam
desain algoritme dan bahasa pemrograman: pemrograman dinamis dan algoritme jalur terpendek di
atas semiring umum, pemrograman berorientasi objek, evaluasi malas, dan memoisasi.©
c 2000 Diterbitkan oleh Elsevier Science BV Hak cipta dilindungi undang-undang.
1. Perkenalan
Teknik keadaan hingga telah terbukti berharga dalam berbagai aplikasi pemrosesan bahasa alami
[5-11, 14, 16, 18, 19, 28, 32, 33, 36, 38, 39]. Namun, pemrosesan ucapan memberlakukan persyaratan
yang tidak dipenuhi oleh perpustakaan nite-state yang ada. Secara khusus, pengenalan suara
memerlukan sarana umum untuk mengelolaketakpastian:semua level representasi, dan semua
pemetaan antar level, melibatkan alternatif dengan probabilitas yang berbeda, karena ada
ketidakpastian dalam interpretasi sinyal suara di semua level. Algoritme dan sistem pengenalan suara
sebelumnya mengandalkan metode "ad hoc" untuk menggabungkan representasi keadaan akhir
dengan ketidakpastian. Namun, dengan mengambil keuntungan dari teori deret pangkat rasional,
kami dapat mengembangkan perpustakaan untuk membangun dan menerapkan transduser
keadaan-malam berbobot yang dapat mewakili semua
∗ Penulis
yang sesuai. Telp.: +1-973-360-8536; faks: +1-973-360-8092.
Alamat email:mohri@research.att.com (M. Mohri)
operasi manajemen nite-state dan ketidakpastian dalam pengenalan suara sambil menciptakan
peluang untuk pengoptimalan yang sampai sekarang belum dikenali dan mencapai kinerja yang
kompetitif atau unggul dalam banyak tugas pengenalan suara [23, 24, 30].
Makalah ini berfokus pada desain keseluruhan perpustakaan mulai dari dasar
matematika, bukan pada algoritme atau aplikasi tertentu, yang telah dijelaskan
di tempat lain [18, 21, 23-25, 27, 30]. Meskipun motivasi awal kami adalah untuk
meningkatkan alat yang tersedia untuk pengenalan suara, kami selalu bertujuan
untuk tingkat umum tertinggi yang kompatibel dengan dasar matematika dan
dengan tuntutan efisiensi aplikasi. Dengan mendasarkan tipe data kami pada
struktur aljabar paling restriktif yang kompatibel dengan algoritme yang
diinginkan, kami dapat menghindari implementasi berlebihan dari algoritme
generik yang sama pada tipe data terkait tetapi berbeda, sehingga menciptakan
desain dengan inti algoritme yang minimal dan sangat modular. Selain itu,
dengan menggunakan tipe data yang didefinisikan secara matematis,
Salah satu langkah utama desain program adalah memfaktorkan tugas yang sedang
dipelajari ke dalam algoritma dan struktur data. Kami menyarankan di sini analog
matematis dari prinsip itu: pemisahan aljabar dan algoritma. Dengan kata lain, algoritme
kami harus dirancang untuk bekerja secara umum dalam struktur aljabar.
Kami mulai dengan menguraikan dasar matematika untuk perpustakaan di Bagian 2. Beroperasi pada
tingkat umum yang lebih tinggi dari transduser keadaan-malam berbobot memerlukan algoritme baru yang
tidak selalu merupakan perluasan langsung dari algoritme klasik yang sesuai untuk automata tidak
berbobot, seperti yang dibahas di Bagian 3.1 . Secara khusus, kami menggunakan contoh -penghapusan di
Bagian 3.2 untuk mengilustrasikan bagaimana tingkat umum yang lebih tinggi dapat dicapai secara efisien
dengan menggunakan perhitungan jalur terpendek umum pada semiring.
Efisiensi perpustakaan di beberapa aplikasi sangat bergantung pada penundaan
perhitungan penuh hasil operasi sampai dibutuhkan. Sementara ide ini telah digunakan dalam
alat-alat nite-state sebelumnya, misalnya penentuan on-demand di egrep [2], perpustakaan
kami menggunakan evaluasi malas untuk semua operasi yang memenuhi batasan lokalitas
tertentu, seperti yang dijelaskan di Bagian 3.3.
Pertimbangan matematis dan algoritmik ini menghasilkan serangkaian operasi umum pada
tipe data otomat sederhana dan umum dengan berbagai kemungkinan implementasi, yang
dibahas dalam Bagian 4.
Akhirnya, di Bagian 5, kami menyajikan secara lebih rinci persyaratan dan status terkini dari
aplikasi utama kami, pengenalan suara, dan mengilustrasikannya dengan aplikasi
perpustakaan ke versi sederhana dari tugas pemrosesan ucapan yang khas.
2. Dasar matematika
operasi⊕ dan⊗ seperti yang (K;⊕;0) adalah monoid komutatif, (K;⊗;1) adalah monoid (mungkin
non-komutatif),⊗ mendistribusikan lebih⊕, dan 0⊗x=x⊗0=0 untuk semua x∈KSecara informal,
semiring adalah cincin yang mungkin tidak memiliki negasi. Berikut ini, kami akan sering
memanggilbebanelemen semiring.
Seri kekuatan formalS : x7→(S; x)adalah fungsi dari monoid bebas∗ ke semiringK
Deret pangkat rasional adalah deret pangkat formal yang dapat dibangun dengan
operasi rasional (penggabungan, penjumlahan, dan penutupan Kleene) darilajang
deret pangkat yang diberikan oleh (S; x)=k; (S;y)=0 jikax6= yuntukx∈ *; k∈KDeret
pangkat rasional adalah deret pangkat formal yang dapat diwakili oleh automata
berbobot [35].
Otomata berbobot adalah generalisasi dari gagasan otomat: setiap transisi dari otomat
berbobot diberi bobot di samping label biasa. Lebih formal, tertimbangakseptorlebih dari
alfabet malam dan semiring beratKadalah graf berarah sempit dengan simpul-simpul
yang merepresentasikan status dan busur yang merepresentasikan transisi di mana
setiap transisiTdiberi label dengan inputdia)∈ dan beratw(t)∈K
Selanjutnya, setiap negara bagianQmemilikiberat awal (Q)∈Kdanberat akhir (Q)∈K Dalam
transduser berbobot, setiap transisiTjuga memiliki label keluarano(t)∈-∗ di mana - adalah
alfabet keluaran transduser. NegaraQadalahawaljika (Q)6=0, danakhirjika (Q)6=0.1
Sebuah akseptor tertimbangSEBUAHmenentukan deret pangkat rasionalS(A)sebagai berikut. Untuk setiap
string masukanx,membiarkanP(x)be the set of transition paths p=t1 ···tn from an initial
p state
ip to a nal state fp such that x=i(t1)···i(tnp). Each such path assigns x the weight
⊗
w(p)= (ip)⊗( j w(tj))⊗ (fp). A similar de nition can be given for a weighted
transducer T, except that S(T) is now a rational power series over a semiring of
rational power series, those mapping transducer output strings to weights [34].
Most of the algorithms of our library work with arbitrary semirings or with semirings
from mathematically de ned subclasses (closed semirings, K-closed semirings [20]). To
instantiate the library for a particular semiring K, kita hanya perlu memberikan
representasi komputasi untuk elemen dan operasi semiring. Algoritma perpustakaan,
misalnya komposisi, -penghapusan, determinisasi dan minimalisasi, bekerja tanpa
perubahan pada semiring yang berbeda karena fondasinya dalam teori deret pangkat
rasional [18].
Misalnya, algoritma dan kode penentuan deret daya yang sama [18] dapat digunakan
untuk menentukan transduser [17], transduser berbobot, automata berbobot yang
ditemui dalam pemrosesan ucapan [23] dan automata berbobot menggunakan operasi
probabilitas. Untuk melakukannya, seseorang hanya perlu menggunakan algoritma
dengan string semiring ({∞};∧;·;∞; ) [21] dalam hal transduser, dengan semiring (R;+;·;0; 1)
dan (R+;min;+;∞;0) dalam kasus lain, dan dengan produk silang dari string
1Untuk kenyamanan implementasi, dan tanpa kehilangan sifat umum (bobot awal dapat disimulasikan dengan
transisi), automata yang didukung oleh perpustakaan memiliki satu status awal, dengan bobot awal 1. Selain itu,
kami mengizinkan label input transisi menjadi dan batasi label keluaran ke -{}untuk alasan praktis terkait dengan
implementasi yang efisien dari operasi dan komposisi rasional. Seperti diketahui, teori dapat diperluas untuk
mencakup kasus-kasus tersebut.
20 M.Mohri dkk. /Teoretika
semiring dan salah satu semiring ini dalam kasus transduser berbobot. Gambar 1
menunjukkan akseptor berbobot lebih (R;+;·;0; 1) dan penentuannya.
3. Algoritma
Meskipun algoritme untuk automata berbobot terkait erat dengan rekan tak berbobotnya
yang lebih dikenal, mereka berbeda dalam detail penting. Salah satu fitur penting dari library
nite-state kami adalah bahwa sebagian besar algoritmenya beroperasi pada automata dan
transduser berbobot umum.
Kami secara singkat menguraikan di bagian sebelumnya dasar matematika untuk automata berbobot,
dan bagaimana hal itu memungkinkan kami untuk menulis algoritme umum yang independen dari aljabar
yang mendasarinya. Karena sifat umum ini, bobot mungkin berupa angka, tetapi juga string, set, atau
bahkan ekspresi reguler. Bergantung pada algoritme, beberapa batasan berlaku untuk semiring yang
digunakan. Misalnya, beberapa algoritma memerlukankomutatifsemiring, artinya⊗ bersifat komutatif; orang
lain membutuhkantertutupsemirings, di mana penambahan nite didefinisikan dan berperilaku seperti
penambahan nite sehubungan dengan perkalian.
Algoritma jalur terpendek memainkan peran penting dalam aplikasi, digunakan untuk solusi dan
"terbaik" dalam kumpulan solusi yang mungkin diwakili oleh otomat (misalnya, penyelarasan string
terbaik atau hipotesis pengenalan terbaik), seperti yang akan kita lihat di Bagian 5.1. Oleh karena itu,
kami mengembangkan kerangka kerja umum untuk algoritma jalur terpendek sumber tunggal
berdasarkan semiring yang mengarah ke algoritma generik tunggal [20]. Algoritma generik ini
menghitung jarak terpendek sumber tunggal ketika bobot adalah angka, string, atau himpunan
bagian dari suatu himpunan. Kasus-kasus yang berbeda ini terkait dengan perhitungan automata
tertimbang deterministik minimal [21].
Karena kerangka kerja umum untuk menyelesaikan semua pasangan masalah jalur terpendek –
semiring tertutup – kompatibel dengan gagasan abstrak bobot yang kami gunakan, kami dapat
memasukkan versi efisien dari algoritma generik Floyd-Warshall [1, 3] di perpustakaan kami. Dengan
menggunakan algoritma dan kode yang sama, kami dapat menyediakan semua pasangan terpendek
M. Mohr
jarak ketika bobot adalah bilangan real yang mewakili, misalnya, probabilitas, tetapi juga ketika
mereka adalah string atau ekspresi reguler. Kasus terakhir ini berguna untuk menghasilkan ekspresi
reguler yang setara dengan otomat tertentu secara efisien. Algoritme Floyd–Warshall juga berguna
dalam algoritme penghapusan umum yang sekarang akan kami sajikan sebagai contoh.
1 M← Msaya|{}
2 MHai← Msaya| ∗{}
3 G← CKEHILANGAN(M )
4 untukP← 1 sampai|V|
5 lakukan untukmasing-masing∈TransG[P]
6 lakukan untuksetiapT∈Transsaya
M[Lanjut(e)]∧dia)6=
7 melakukanTkan← FINDTRANS(dia);Lanjut(T);TransM[P])
Hai
8 w(tkan)← w(tkan)⊕w(t)⊗kami)
Sebagian besar fungsi utama perpustakaan memiliki implementasi yang lambat, yang
berarti bahwa hasilnya dihitung hanya seperti yang disyaratkan oleh operasi yang
menggunakan hasil tersebut. Eksekusi lambat sangat menguntungkan ketika otomat
menengah besar dibangun dalam aplikasi tetapi hanya sebagian kecil otomat yang perlu
dikunjungi untuk input tertentu ke aplikasi. Misalnya, dalam pengenalan suara, beberapa
transduser berbobot - model bahasa, kamus, model akustik yang bergantung pada
konteks - disusun menjadi transduser yang berpotensi besar, tetapi hanya sebagian kecil
yang dicari saat memproses ucapan tertentu [ 30].
Prasyarat utama agar suatu fungsi memiliki implementasi yang lambat adalah bahwa fungsi
tersebut dapat diekspresikan sebagai alokalaturan komputasi, dalam arti bahwa transisi yang
meninggalkan status tertentu dalam hasil ditentukan semata-mata oleh status sumbernya dan
informasi dari argumen fungsi yang terkait dengan status tersebut. Misalnya, komposisi memiliki
implementasi yang lambat, seperti yang akan kita lihat di Bagian 3.4 di bawah ini. Demikian pula,
M.Mohri dkk. /Ilmu Komputer Teoritis 231 (2000) 17–32 23
union, concatenation dan penutupan Kleene dapat dihitung sesuai permintaan, dan begitu juga
penentuan.
=w2Qkan (Qkan
1⊗w2)
kan
1 :B−→
(QSebuah =wQ
1 kan1 dan Q2B−
:C→ 2)⇒(Q1; Q2)a : c=− (w→ 1; Q2);
di manaSx−:→
y=wTmewakili transisi dariSkeTdengan masukanx,keluarankamudan beratw. Jelas,
perhitungan ini bersifat lokal, dan dengan demikian dapat digunakan dalam implementasi komposisi
yang malas.
Transisi dengan label diT1atauT2menambahkan beberapa kehalusan pada komposisi. Secara
umum, keluaran dan masukan dapat disejajarkan dalam beberapa cara berbeda: keluaran dalamT1
dapat dikonsumsi baik dengan tetap dalam keadaan yang sama diT2atau dengan memasangkannya
dengan input diT2; sebuah masukanT2dapat ditangani dengan cara yang sama. Misalnya, dua
transduser pada Gambar 4 dapat menghasilkan semua jalur alternatif pada Gambar 5. Namun, jalur
tebal tunggal cukup untuk mewakili hasil komposisi, ditunjukkan secara terpisah pada Gambar 6.
Masalah dengan jalur redundan tidak hanya saja mereka meningkatkan ukuran hasil yang tidak perlu,
tetapi juga gagal mempertahankannyamultiplisitas jalur:setiap pasangan jalur yang kompatibel diT1
danT2dapat menghasilkan beberapa jalur dalamT1◦T2. Jika semiring berat tidak idempoten,
yang mengarah ke hasil yang tidak memenuhi definisi aljabar komposisi:
⊕
<T1◦T2=(u;w)= <T1=(kamu; v)⊗ <T2=(v;w):
v
Kami memecahkan masalah multiplisitas jalur dengan memetakan komposisi yang diberikan ke dalam
komposisi baru
T1◦T2→Tkan 1◦F◦Tkan 2
Jelas, semua operasi yang terlibat dalam komposisi yang disaring bersifat lokal, oleh karena
itu dapat dilakukan sesuai permintaan, tanpa perlu melakukan penggantian secara eksplisit.
bagian dariTsayaolehTkan saya.Rincian lebih lanjut tentang komposisi yang disaring dapat ditemukan di tempat lain [22, 27].
• Algoritma yang beroperasi pada bobot harus melakukannya hanya melalui operasi abstrak yang
mengimplementasikan semiring bobot.
Kami memotivasi dan menjelaskan dua persyaratan ini di bawah ini. Selain itu, sifat aplikasi
kami yang menuntut memberikan batasan bahwa abstraksi ini menambah sedikit beban
komputasi dibandingkan dengan arsitektur yang lebih khusus.
Membutuhkan algoritma untuk beroperasi pada automata hanya melalui pengakses abstrak dan
mutator memiliki tiga keuntungan: memungkinkan representasi internal automata disembunyikan,
memungkinkanumumalgoritma yang beroperasi pada beberapa representasi nite-state dan
menyediakan mekanisme untuk membuat dan menggunakan implementasi algoritma yang malas.
Untuk mengilustrasikan poin-poin ini, pertimbangkan pengakses inti yang didukung oleh semua kelas
automata di perpustakaan:
• fsm.Mulailah (),yang mengembalikan keadaan awalfsm;
• fsm.terakhir(negara),yang mengembalikan bobot akhirnegaradi dalamfsm;
• fsm.busur (negara),yang mengembalikan iterator atas transisi yang keluarnegaradi dalamfsm. Iterator itu
sendiri merupakan objek yang mendukungBerikutnyaoperasi, yang mengembalikan (penunjuk ke) setiap
transisi darinegaragantinya.
Suatu keadaan ditentukan oleh indeks bilangan bulat; transisi ditentukan oleh struktur
yang berisi label input, label output, bobot, dan indeks status berikutnya.2
Jelas, berbagai implementasi automata memenuhi antarmuka inti ini. Sebagai contoh sederhana,
transisi yang meninggalkan status dapat disimpan dalam array atau dalam daftar tertaut. Dengan
menyembunyikan implementasi otomat dari penggunanya, kita mendapatkan keuntungan biasa dari
memisahkan antarmuka dari implementasi: kita dapat mengubah representasi sesuai keinginan dan,
selama kita tidak mengubah antarmuka objek, kode yang menggunakannya tetap berjalan.
Faktanya, terbukti sangat berguna untuk memiliki beberapa implementasi automata di perpustakaan
yang sama. Misalnya, satu kelas automata di perpustakaan menyediakan operasi mutasi seperti
menambahkan status dan busur, dengan menggunakan representasi vektor yang dapat diperluas dari status
dan transisi yang mendukung penambahan yang efisien. Kelas lain, untuk automata hanya-baca,
menggunakan status tetap dan larik transisi yang dapat dipetakan memori secara efisien dari file. Kelas
ketiga, juga hanya-baca, menyimpan status dan transisi dalam bentuk terkompresi untuk menghemat ruang,
dan membuka kompresinya sesuai permintaan saat diakses.
Algoritme kami ditulis secara umum, karena menganggap bahwa automata mendukung
operasi inti di atas dan sesedikit yang diperlukan. Misalnya, beberapa kelas automata
mendukungfsm.angka ()operasi yang mengembalikanfsm's jumlah negara bagian, sementara
yang lain tidak (kita akan melihat contoh sebentar lagi). Jika memungkinkan dan cukup efisien,
kami menulis algoritme kami untuk menghindari penggunaan operasi opsional semacam itu.
Dengan cara ini, mereka akan bekerja di kelas otomat apa pun. Di sisi lain, jika itu benar-benar
2Menggunakan indeks bilangan bulat memungkinkan merujuk ke status yang mungkin belum dibuat dalam automata yang
dibuat oleh algoritme malas.
26 M.Mohri dkk. /Ilmu Komputer Teoritis 231 (2000) 17–32
Seperti disebutkan sebelumnya, banyak algoritme di perpustakaan kami akan bekerja dengan
berbagai semiring bobot. Desain kami mendorong penulisan algoritme pada semiring paling umum
dengan membuat bobot menjadi tipe abstrak dengan operasi penjumlahan dan perkalian yang sesuai
dan elemen identitas. Dengan cara ini, kita dapat beralih antara, katakanlah, semiring tropis dan
semiring probabilitas hanya dengan menggunakan implementasi tipe abstrak yang berbeda. Untuk
efisiensi, operasi bobot diwakili oleh makro dalam versi C kami dan oleh fungsi anggota sebaris dalam
versi C++ yang sedang dikembangkan.
3Bagi mereka yang tidak, implementasi C kami saat ini akan mengeluarkan kesalahan run-time, sementara pemeriksaan ketik run-time
dapat digunakan untuk menghindari kesalahan tersebut. Dalam versi C++ baru kami, kami akan menggunakan pemeriksaan tipe waktu
kompilasi jika memungkinkan
4Filosofi desain ini memiliki beberapa kesamaan dengan toolkit perangkat lunak modern lainnya seperti C+
+ Standard Template Library [26]
5Pengguna selalu dapat menyalin otomat malas ini ke dalam turunan dari kelas otomata statis yang mendukung
numstatesoperasi. Dengan kata lain, kami lebih menyukai konversi eksplisit ke konversi implisit.
M.Mohri dkk. /Ilmu Komputer Teoritis 231 (2000) 17–32 27
4.3. liputan
Seperti disebutkan di Bagian 1, metode nite-state telah digunakan dengan sangat sukses dalam
berbagai aplikasi pemrosesan bahasa. Namun, sampai kami mengembangkan perpustakaan kami,
aplikasi tersebut belum menyertakan pengenalan suara.
Sistem pengenalan ucapan saat ini bergantung pada berbagai model keadaan-malam
probabilistik, misalnyan-model bahasa gram [29], kamus multi-pengucapan [13], dan model
akustik tergantung konteks [12]. Namun, sebagian besar pengenal ucapan tidak memanfaatkan
properti bersama dari sumber informasi yang mereka gunakan. Sebaliknya, mereka
mengandalkan algoritma tujuan khusus untuk representasi tertentu. Itu berarti bahwa
28 M.Mohri dkk. /Ilmu Komputer Teoritis 231 (2000) 17–32
pengenal harus ditulis ulang jika representasi diubah untuk aplikasi baru atau untuk
meningkatkan akurasi atau kinerja. Eksperimen dengan representasi yang berbeda oleh karena
itu sulit, karena memerlukan perubahan atau bahkan penggantian program pengenalan yang
cukup rumit.
Situasi ini tidak terlalu berbeda dengan parsing bahasa pemrograman sebelumnya lex
danyacc [2]. Lebih jauh lagi, representasi dan algoritme khusus menghalangi optimasi
global tertentu berdasarkan properti umum model keadaan akhir. Sekali lagi, situasinya
mirip dengan kurangnya metode umum dalam penguraian bahasa pemrograman
sebelum pengembangan teori bahasa bebas konteks deterministik dan teknik optimasi
tata bahasa umum berdasarkan itu.
Seperti disebutkan dalam Bagian 1, dalam pengenalan suara, cara alternatif untuk
menghasilkan atau mengubah string harus diperhitungkan dengan kemungkinan generasi
atau transformasi itu. Oleh karena itu, langkah penting dalam menerapkan teknik nite-state
umum untuk masalah pengenalan suara adalah beralih dari bahasa reguler ke deret pangkat
rasional, dan dari automata tak berbobot ke automata berbobot.6Tantangan utama dalam
langkah ini adalah generalisasi algoritme inti ke kasus berbobot, dan implementasinya dengan
tingkat efisiensi yang diperlukan dalam pengenalan suara.
D(Sebuah0;B0)=0;
6Akseptor dan transduser berbobot juga telah digunakan dalam pengolahan citra [4].
M.Mohri dkk. /Ilmu Komputer Teoritis 231 (2000) 17–32 29
aku h ix
S S
P pcl
- pra
eh eh
k kcl
T tr
Gambar 8. Penjajaran tali.
ae eh 1 pengganti
D 2 penghapusan
pra 1 insersi
Gambar 9. Jarak edit tertimbang.
Contoh singkat dari input dan output untuk perintah ini ditunjukkan pada Gambar.
10.
Ketepatan penerapan penyelarasan jarak edit minimum ini bergantung pada
penggunaan aturan kombinasi bobot yang sesuai dalam komposisi automata,
khususnya semiring tropis, yang dibahas dalam Bagian 3.2.
Penyelarasan dengan transduksi dapat dengan mudah diperluas ke situasi di mana pengeditan
melibatkan string yang lebih panjang atau bergantung pada konteks, seperti yang ditunjukkan pada Gambar
11. Dalam kasus seperti itu, status dalam transduser edit mengkodekan kondisi konteks yang sesuai.
Selanjutnya, seperangkat aturan edit berbobot seperti pada Gambar 11 dapat langsung dikompilasi menjadi
transduser berbobot yang sesuai [25].
30 M.Mohri e
6. Kesimpulan
Kami menyajikan perpustakaan nite-state yang sangat umum berdasarkan gagasan semiring
dan deret pangkat rasional, yang memungkinkan kami menggunakan kode yang sama untuk
berbagai aplikasi berbeda yang membutuhkan semiring berbeda. Versi perpustakaan saat ini
ditulis dalam C, dengan operasi semiring didefinisikan sebagai makro. Versi baru kami sedang
ditulis dalam C++ untuk memanfaatkan template untuk mendukung label transisi yang lebih
umum dan beberapa semiring dalam satu aplikasi.
Pengalaman kami menunjukkan bahwa adalah mungkin dan bahkan terkadang lebih mudah untuk
mengimplementasikan algoritme generik yang efisien untuk kelas semiring daripada mengimplementasikan
algoritme khusus untuk semiring tertentu. Demikian pula, versi algoritme yang malas seringkali lebih mudah
diimplementasikan daripada rekan tradisionalnya.
Kami menguji efisiensi perpustakaan kami dengan membangun aplikasi pengenalan ucapan kosakata
besar yang kompetitif yang melibatkan automata yang sangat besar (kan106menyatakan,kan107
transisi) [23, 24]. Perpustakaan ini digunakan dalam berbagai proyek pengenalan
suara dan sintesis ucapan di AT&T Labs dan di Lucent Bell Laboratories.
Referensi
[1] AV Aho, JE Hopcroft, JD Ullman, Desain dan Analisis Algoritma Komputer, Addison-Wesley,
Reading, MA, 1974
M.Mohri dkk. /Ilmu Komputer Teoritis 231 (2000) 17–32 31
[2] AV Aho, R. Sethi, JD Ullman, Kompilator: Prinsip, Teknik dan Alat, Addison-Wesley: Membaca, MA,
1986.
[3] T. Cormen, C. Leiserson, R. Rivest, Pengantar Algoritma, The MIT Press, Cambridge, MA, 1992.
[4] K. Culik II, J. Kari, Gambar digital dan bahasa formal, dalam: G. Rozenberg, A. Salomaa (Eds.), Handbook
of Formal Languages, Springer, Berlin, 1997, hlm. 599–616,
[5] M. Gross, Penggunaan Automata Hingga dalam Representasi Leksikal Bahasa Alami, Catatan
Kuliah di Ilmu Komputer, vol. 377, Springer, Berlin, 1989.
[6] M. Gross, D. Perrin (Eds.), Kamus Elektronik dan Automata dalam Linguistik Komputasi, Catatan
Kuliah di Ilmu Komputer, vol. 377, Springer, Berlin, 1989.
[7] RM Kaplan, M. Kay, Model Reguler Sistem Aturan Fonologi, Comput. Linguistik 20 (3) (1994) 331–
378.
[8] F. Karlsson, A. Voutilainen, J. Heikkila, A. Anttila, Kendala Tata Bahasa, Sistem Bahasa-Independen untuk
Parsing Teks Tidak Terbatas, Mouton de Gruyter, 1995.
[9] L. Karttunen, The Replace Operator, Pertemuan Tahunan ke-33 Asosiasi Linguistik Komputasi,
Asosiasi Linguistik Komputasi, 1995, hlm. 16–23, Didistribusikan oleh Morgan Kaufmann
Publishers, San Francisco, CA.
[10] L. Karttunen, RM Kaplan, A. Zaenen, Morfologi Dua Tingkat dengan Komposisi, dalam Proc. Internasional ke-15.
Kon. pada Linguistik Komputasi (COLING'92), Nantes, Prancis, COLING, 1992.
[11] K. Koskenniemi, Penguraian dan disambiguasi keadaan hingga, Proc. internasional ke-13. Kon. pada Linguistik
Komputasi (COLING'90), Helsinki, Finlandia, COLING, 1990.
[12] K.-F. Lee, Model Markov tersembunyi fonetik yang bergantung pada konteks untuk pengenalan ucapan
berkelanjutan, IEEE Trans. Akun. Proses Sinyal Pidato. 38 (4) (1990) 599–609.
[13] A. Ljolje, MD Riley, Pengenalan suara yang optimal menggunakan pengenalan telepon dan akses leksikal, di Proc.
ICSLP, Ban , Kanada, Oktober 1992, hlm. 313–316.
[14] M. Mohri, Representasi Compact oleh transduser nite-state, dalam Pertemuan ke-32 Asosiasi
Linguistik Komputasi (ACL 94), Proc. Kon. Las Cruces, NM, ACL, 1994.
[15] M. Mohri, Minimisasi Transduser Sekuensial, Catatan Kuliah di Ilmu Komputer, vol. 807, Springer,
Berlin, 1994.
[16] M. Mohri, Analisis Sintaksis oleh tata bahasa lokal automata: sebuah algoritma yang efisien, di Proc.
internasional. Kon. tentang Leksikografi Komputasi (COMPLEX 94), Institut Linguistik, Akademi Sains
Hongaria, Budapest, Hongaria, 1994.
[17] M. Mohri, Pada Beberapa Aplikasi teori automata nite-state untuk pemrosesan bahasa alami, J. Natural
Bahasa Eng. 2 (1996) 1–20.
[18] M. Mohri, Transduser Keadaan Hingga dalam Pemrosesan Bahasa dan Pidato, Comput. Linguistik 23 (2)
(1997) 269–311.
[19] M. Mohri, Tentang penggunaan transduser sekuensial dalam pemrosesan bahasa alami, dalam: E. Roche, Y.
Schabes (Eds.), Pemrosesan Bahasa Finite-State, MIT Press, Cambridge, MA, 1997, 355–382 .
[20] M. Mohri, Kerangka Aljabar Umum dan Algoritma untuk Masalah Jarak Terpendek. Nota Teknis,
AT&T Labs-Research, 981210-TM, 1998.
[21] M. Mohri, algoritma Minimisasi untuk transduser sekuensial, Teori. Hitung. Sci. (2000) muncul.
[22] M. Mohri, FCN Pereira, M. Riley, Automata tertimbang dalam pemrosesan teks dan ucapan, di ECAI-96
Workshop, Budapest, Hongaria, ECAI, 1996.
[23] M. Mohri, M. Riley, Penentuan bobot dan minimalisasi untuk pengenalan ucapan kosakata besar,
dalam Eurospeech'97, Rhodes, Yunani, 1997.
[24] M. Mohri, M. Riley, D. Hindle, A. Ljolje, FCN Pereira, Ekspansi penuh jaringan yang bergantung pada konteks
dalam pengenalan ucapan kosakata besar, di Proc. ICASSP'98, IEEE, New York, 1998.
[25] M. Mohri, R. Sproat, Kompilator yang efisien untuk aturan penulisan ulang berbobot, dalam Pertemuan ke-34
Asosiasi Linguistik Komputasi (ACL 96), Proc. Conf., Santa Cruz, Ca, ACL, 1996.
[26] D. Musser, A. Saini, Tutorial STL dan Panduan Referensi, Addison-Wesley, Reading, MA, 1996.
[27] FCN Pereira, MD Riley, Pengenalan ucapan dengan komposisi automata nite tertimbang, dalam:
E. Roche, Y. Schabes (Eds.), Pemrosesan Bahasa Finite-State, MIT Press, Cambridge, Ma, 1997,
hlm. 431–453.
[28] D. Revuz, Minimisasi automata deterministik asiklik dalam waktu linier, Teori. Hitung. Sci. 92
(1992) 181–189.
32 M.Mohri dkk. /Ilmu Komputer Teoritis 231 (2000) 17–32
[29] G. Riccardi, E. Bocchieri, R. Pieraccini, model bahasa stokastik non-deterministik untuk pengenalan suara,
di Proc. IE Internasional. Kon. tentang Akustik, Pemrosesan Suara dan Sinyal, vol. 1, IEEE, New York,
1995, hlm. 237–240
[30] M. Riley, F. Pereira, M. Mohri, komposisi Transduser untuk perluasan jaringan yang bergantung pada konteks, dalam
Eurospeech'97, Rhodes, Yunani, 1997.
[31] E. Ristad, P. Yianilos, Model pertumbuhan hingga, Laporan Teknis CS-TR-533-96, Departemen Ilmu
Komputer, Universitas Princeton, 1996.
[32] E. Roche, Analisis Syntaxique Transformationnelle du Francais par Transducteurs et Lexique-
Grammaire, Ph.D. Skripsi, Universite Paris 7, 1993.
[33] E. Roche, Dua metode penguraian melalui tansduser keadaan nite, di Proc. internasional ke-16. Kon.
pada Linguistik Komputasi (COLING'94), Kyoto, Jepang, COLING, 1994.
[34] A. Salomaa, M. Soittola, Automata-Theoretic Aspects of Formal Power Series, Springer, New York, 1978.
[35] MP Schu tzenberger, Tentang definisi keluarga automata, Menginformasikan. Kontrol 4 (1961).
[36] M. Silberztein, Dictionnaires electroniques et analyze automatique de textes: le systeme INTEX, Masson, Paris,
France, 1993.
[37] I. Simon, Subset terbatas dari monoid gratis, di Proc. Simpel Tahunan ke-19. pada Yayasan Ilmu
Komputer, 1978, hlm. 143–150.
[38] R. Sproat, Morfologi dan Komputasi, The MIT Press, Cambridge, MA, 1992.
[39] R. Sproat, Sebuah arsitektur nite-state untuk tokenisasi dan konversi grafem-ke-fonem dalam
analisis teks multibahasa, di Proc. Lokakarya ACL SIGDAT, Dublin, Irlandia, ACL, 1995.
[40] M. Mohri, F. Pereira, M. Riley, Perpustakaan FSM – Tujuan Umum Hingga. Alat Perangkat Lunak Mesin Negara,
http://www.research.att.com/tools/fsm, 1998.