PENGENALAN VOKAL BAHASA INDONESIA DENGAN JARINGAN SYARAF TIRUAN MELALUI TRANSFORMASI WAVELET DISKRET Ignatius Leo May L 2F0 98 630 Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Jl. Prof Sudharto, Tembalang, Semarang (024) 7460057 Abstrak Transformasi dikenakan pada sinyal untuk memperoleh informasi lebih lanjut yang tidak terdapat pada data mentah (data pada kawasan waktu). Transformasi Wavelet adalah salah satu alat dalam pemrosesan/analisa sinyal. Transformasi Wavelet mampu memberikan informasi waktu dan frekuensi secara bersamaan yang artinya memberikan representasi waktu-frekuensi sebuah sinyal. Jaringan Syaraf Tiruan (JST) banyak diaplikasikan di berbagai bidang seperti pemrosesan sinyal, pengenalan pola, kecerdasan buatan dan lain sebagainya. Fitur kunci JST adalah kemampuan untuk generalisasi dari data pelatihan ke data “baru” yang lain. Pada aplikasi pengenalan vokal bahasa Indonesia (a, i, u, e, dan o) rekaman suara manusia yang melafalkan hanya satu jenis suara vokal ( a saja, i saja dst) dalam format wav ditransformasikan ke kawasan waktu-frekuensi menggunakan Transformasi Wavelet Diskret untuk mendapatkan fitur sinyal. Sinyal tertransformasi tersebut dilatihkan ke JST. Algoritma Learning Vector Quantization (LVQ) diaplikasikan ke jaringan untuk memperbaharui bobot. Hasil pelatihan adalah jaringan dengan nilai bobot yang berbeda dengan nilai bobot awal. Jaringan dievaluasi dengan mensimulasikannya jika masukan berupa data latihan dan data baru (blind data). Hasilnya menunjukkan bahwa persentase pengenalan terhadap data baru lebih rendah dibanding terhadap data latihan. Jaringan dengan persentase pengenalan tertinggi terhadap data latihan didapat dengan kombinasi variabel wavelet Sym2, level dekomposisi 10, dan epoch 500 sebesar 75,4%. Sementara itu jaringan dengan kombinasi variabel wavelet db4, level dekomposisi 10, dan epoch 2000 memberikan tingkat pengenalan tertinggi untuk masukan berupa data baru sebesar 51,9%. Kata Kunci : Transformasi Wavelet Diskret, Jaringan Syaraf Tiruan, Algoritma LVQ, Wavelet Induk, Epoch, Level Dekomposisi 1. 2.
I. PENDAHULUAN Bidang pengenalan pola (pattern recognition) semakin maju seiring dengan berkembangnya ilmu tentang Jaringan Syaraf Tiruan. Fitur utama yang menjadi alasan digunakannya JST adalah kemampuan untuk belajar dari data pelatihan dan generalisasi ke situasi/kondisi yang baru. Kemampuan belajar bisa dianalogikan dengan proses manusia belajar mengenali sesuatu. JST memang diilhami oleh cara otak manusia bekerja sehingga bisa menggolongkan/ mengklasifikasikan sesuatu. Pengenalan vokal adalah sub topik yang mendasar dalam bidang pengenalan pola. Secara umum ada lima macam bunyi vokal yaitu /a/, /i/, /u/, /e/, dan /o/ dimana pengucapan untuk tiap bahasa berbeda-beda. Agar bisa dikenali tiap vokal terlebih dahulu didapatkan ciri/sifat khasnya dengan menggunakan transformasi, dalam hal ini Transformasi Wavelet Diskret. Hasil transformasi yang merepresentasikan ciri sinyal dilatihkan ke JST. Untuk memperoleh hasil yang diinginkan, JST dilatih dengan algoritma pelatihan tertentu. Learning Vector Quantization (LVQ) adalah salah satu algoritma pelatihan yang banyak digunakan dalam aplikasi pengklasifikasian/pengenalan. Dalam Tugas Akhir ini sistem pengenalan vokal yang dibuat memiliki batasan permasalahan sebagai berikut:
3. 4.
Vokal diucapkan dalam bahasa Indonesia Transformasi yang dipakai adalah Transformasi Wavelet Diskret dengan wavelet induk haar, db4, dan Sym2 Level dekomposisi wavelet adalah 4,6, dan 10 Algoritma pelatihan adalah LVQ dengan iterasi sebanyak 500, 1000, dan 2000 kali II. TEORI DASAR
1. Vokal Bahasa Indonesia Vokal adalah bunyi bahasa yang arus udaranya tidak mengalami rintangan dan kualitasnya ditentukan oleh tiga faktor: tinggi-rendahnya posisi lidah, bagian lidah yang dinaikkan, dan bentuk bibir pada pembentukan vokal tersebut. Saat vokal diucapkan, lidah dapat dinaikkan atau diturunkan bersama rahang. Bagian lidah yang dinaikkan atau diturunkan itu dapat di bagian depan, tengah, atau belakangnya. Dalam bahasa Indonesia terdapat lima vokal yaitu /a/ , /i/ , /u/ , /e/ , dan /o/. Tabel 1 memperlihatkan vokal bahasa Indonesia. Tabel 1 Vokal bahasa Indonesia
Depan Tinggi Sedang Rendah
1
Tengah
i e
Belakang
u o a
pada tapis lolos atas (high pass filter) untuk menganalisa frekuensi tinggi dan melewatkan pada tapis lolos bawah (low pass filter) untuk menganalisa frekuensi rendah. Hasil penapisan adalah koefisien aproksimasi (komponen frekuensi rendah dan skala tinggi) dan koefisien detil (komponen frekuensi tinggi dan skala rendah).
Kualitas vokal juga dipengaruhi bentuk bibir. Untuk vokal tertentu, seperti /a/, bentuk bibir adalah normal, sedangkan untuk vokal /u/ bibir dimajukan sedikit dan bentuknya agak bundar. Untuk vokal /i/ bibir direntangkan ke kiri dan ke kanan sehingga bentuknya melebar. Dengan tiga faktor itu bunyi vokal dapat berciri tinggi, depan, dan bibir terentang, misalnya bunyi /i/, atau tinggi, belakang, dan bibir bundar, misalnya bunyi /u/. 2. Transformasi Wavelet Diskret Transformasi adalah proses merepresentasikan suatu sinyal ke dalam domain/kawasan lain. Tujuan dari transformasi adalah untuk lebih menonjolkan sifat atau karakteristik sinyal tersebut. Definisi wavelet adalah himpunan fungsi dalam ruang vektor L2I yang mempunyai sifat-sifat (i) berenergi terbatas, (ii) merupakan fungsi band-pass pada domain frekuensi, (iii) merupakan hasil translasi dan dilasi dari sebuah fungsi tunggal, yaitu
ψ a ,b ( x ) =
Gambar 2 Pemfilteran level dasar pada DWT
Gambar 2 merupakan proses mendapatkan koefisien aproksimasi dan detil yang disebut juga dekomposisi. Proses dekomposisi bisa berulang (multiple level decomposition).
1 x −b ψ a a
Transformasi wavelet dapat dinyatakan sebagai proses merepresentasikan sinyal masukan f(x) kedalam himpunan fungsi-fungsi yang memenuhi syarat-syarat tersebut (wavelet). Wavelet dapat membentuk keluarga wavelet yaitu wavelet induk (Mother Wavelet) bersama versi tergeser dan teregang/termampatnya. Jika Transformasi Fourier memecah sinyal menjadi sekumpulan sinyal sinus berbagai frekuensi, maka analisa wavelet memecah sinyal menjadi versi tergeser dan versi terskala dari wavelet induk. Pada Analisa wavelet dikenal faktor skala a yang secara sederhana berarti pemampatan dan peregangan wavelet.
Gambar 3 Pohon dekomposisi wavelet
Untuk Gambar 3 bisa dituliskan S = cA3 + cD3 + cD2 + cD1 atau cA1 = cA2 + cD2 = cA3 + cD3 + cD2 Hubungan skala a dengan level j dinyatakan a = 2j. Jika resolusi didefinisikan sebagai 1/a , maka resolusi akan naik jika faktor skala berkurang. Hubungan skala dan resolusi ditunjukkan pada Tabel 2 Tabel 2 Hubungan skala dan resolusi 10
9
….
2
1
0
-1
-2
skala
1024
512
….
4
2
1
½
¼
resolusi
1/210
1/29
….
¼
½
1
2
4
j
Gambar 1 penskalaan pada fungsi wavelet
3. Jaringan Syaraf Tiruan JST didefinisikan sebagai sistem komputasi yang didasarkan pada pemodelan saraf biologis (neuron) melalui pendekatan dari sifat-sifat komputasi biologis (biological computation). JST bisa dibayangkan berupa jaringan dengan elemen pemroses sederhana yang saling terhubung. Elemen pemroses berinteraksi melalui sambungan yang variabel, disebut bobot, dan bila diatur secara tepat dapat menghasilkan sifat yang diinginkan. Model neuron sederhana ditunjukkan gambar berikut:
Dalam analisa wavelet penskalaan berhubungan dengan frekuensi sinyal dengan hubungan 1. Skala rendah a → Wavelet termampat → perubahan secara cepat → frekuensi tinggi ω 2. Skala tinggi a → Wavelet teregang → perubahan secara lambat → frekuensi rendah ω Pada kasus Transformasi Wavelet Diskret nilai skala dan posisi didasarkan pada bilangan pangkat dua (skala dan posisi dyadic). Representasi waktu-skala didapat dengan penapisan digital. Sinyal dilewatkan 2
w1
x1
w2
x2
Σ
...
f(·)
y
wN
xN
θ
Gambar 4 Pemodelan neuron
dan pernyataan matematisnya
Gambar 5 Arsitektur jaringan LVQ
Jaringan LVQ terdiri atas dua lapis, lapis kompetitif dan lapis linear. Neuron-neuron pada lapis kompetitif berkompetisi dan menghasilkan neuron pemenang (winning neuron). Dalam memperbaharui bobot neuron pada lapis kompetitif, jaringan LVQ menggunakan Algoritma Pembelajaran LVQ1 atau LVQ2.1. Algoritma Pembelajaran LVQ1 mempunyai urutan berikut: 1. Menghitung jarak Euclidean antara vektor masukan dan semua bobot neuron pada lapis kompetitif. 2. Neuron dengan jarak yang paling kecil/negatif akan memenangkan kompetisi 3. Jika neuron pemenang diklasifikasikan sesuai dengan target yang telah ditentukan maka bobot neuron tersebut diperbaharui dengan
N y = f ∑wi xi −θ i=1 dengan
xi
= sinyal masukan, i = 1, 2, 3, ..., N (N = banyaknya simpul masukan) wi = bobot hubungan atau sinapsis = threshold atau bias θ f (·) = fungsi aktivasi y = sinyal keluaran dari neuron
Ide dasar JST adalah konsep belajar. Jaringan belajar melakukan generalisasi karakteristik tingkah laku obyek. Jika dilihat dari sudut pandang manusia, hal ini sama seperti bagaimana manusia belajar sesuatu. Manusia mengenal obyek dengan mengatur otak untuk menggolongkan atau melakukan generalisasi terhadap obyek tersebut. Manusia menyimpan ilmu pengetahuannya ke dalam otak yang berisikan synapsis, neuron, dan komponen lainnya. JST menyimpan ilmu pengetahuannya dalam nilai bobot sambungan (seperti synapsis dalam otak manusia) dan elemen-elemen (neuron) yang menghasilkan keluaran Untuk menyelesaikan permasalahan, JST memerlukan algoritma untuk belajar, yaitu bagaimana konfigurasi JST dapat dilatih untuk mempelajari data historis yang ada. Dengan pelatihan ini, pengetahuan yang terdapat pada data bisa diketahui dan direpresentasikan dalam bobot sambungannya. Jenis algoritma belajar yang ada diantaranya: a. Supervised Learning Algoritma ini diberikan target yang akan dicapai. Contoh: Backprogation Algorithm dan Learning Vector Quantization (LVQ) b. Unsupervised Learning Pada algoritma ini sama sekali tidak disediakan target. Contoh: Carpenter-Grossberg Adaptive Resonance Theory (ART), dan Competitive Learning Algorithm c. Reinforcement Learning Bentuk khusus supervised learning, Contoh: Genetic Algorithm (GA).
i*
4.
IW 1,1 (q) = i* IW 1,1 (q − 1) + α ( p(q) − i* IW 1,1 (q − 1)
Selain kasus point 3, neuron diperbaharui dengan i*
IW 1,1 (q) = i* IW 1,1 (q − 1) − α ( p(q) − i* IW 1,1 (q − 1)
Sedangkan Algoritma Pembelajaran LVQ2.1akan memperharui dua vektor bobot lapis kompetitif yang jarak Euclidean-nya paling dekat dengan vektor masukan. Syarat lain agar terjadi pembaharuan adalah: 1. Vektor masukan p dan vektor bobot j*IW1,1 berada pada kelas yang sama, kemudian p dan i*IW1,1 tidak berada pada kelas yang sama 2. vektor masukan p berada pada “jendela” yang berada di tengah-tengah dari nilai kedua vektor bobot tersebut. Jendela tersebut didefinisikan
1− w d dj dengan s ≡ min i , > s d d 1+ w j i dengan di dan dj berturut-turut menunjukkan jarak Euclidean p dari i*IW1,1 dan j*IW1,1. 3. Penyesuaian yang terjadi adalah menurut persamaan berikut : i*
Jaringan LVQ merupakan versi supervised dari Algoritma Pembelajaran Kompetitif. Arsitektur jaringan LVQ ditunjukkan gambar berikut:
IW1,1 (q) = i* IW1,1 (q - 1) - α (p(q) -
i*
IW1,1 (q - 1))
yaitu menggerakkan vektor bobot menjauh dari vektor masukan dan j*
3
IW 1,1 (q) = j* IW 1,1 (q - 1) + α (p(q) - j* IW 1,1 (q - 1))
menggerakkan vektor bobot mendekat ke vektor masukan.
IV. HASIL SIMULASI Program dibuat dengan bahasa MATLAB versi 5.3. Tampilan program diperlihatkan gambar berikut:
III. PERANCANGAN DAN IMPLEMENTASI SISTEM Program pengenalan vokal dibuat dengan alur program berikut Mulai
Perekaman suara vokal /a/, /i/, /u/, /e/, dan /o/ dari 20 responden
Membaca data suara berupa file .wav
Transformasi Wavelet Diskret
Gambar 7 Tampilan program
Proses pembacaan file wav dilakukan dengan menekan tombol “Read !”. Proses transformasi dilakukan dengan sebelumnya memilih wavelet induk dan level dekomposisi. Setelah memilih jumlah iterasi maka proses pelatihan jaringan akan dilaksanakan dengan total iterasi sebanyak N x 10, dengan N adalah pilihan iterasi dan 10 menunjukkan jumlah jaringan. Hasil pengenalan jaringan diketahui dengan menekan tombol “data baru” atau “data latihan” yang menunjukkan jenis data masukan untuk evaluasi jaringan. Setelah kesemua kombinasi parameter diujikan didapatkan hasil pengenalan sebagai berikut:
Pelatihan jaringan syaraf dengan algoritma LVQ
Pengujian jaringan dengan data latihan dan data baru
Selesai
Gambar 6 Bagan alir pembuatan program
Perekaman suara vokal mengambil 20 responden dan mengucapkan kelima vokal dalam bahasa Indonesia. Tiap vokal diambil 5 suara jadi satu responden memiliki 25 data suara rekaman. Data dari 20 responden dibagi dua macam, data 10 responden digunakan untuk pelatihan jaringan dan sisanya untuk pengujian jaringan. Spesifikasi file perekaman adalah format mono, frekuensi cuplikan 8 KHz, dan dikodekan dalam 8 bit. Data latihan ditransformasiwaveletkan dengan variasi parameter wavelet induk haar, db4, atau Sym2 serta level dekomposisi 4,6, atau 10. Hasil transformasi dimasukkan ke jaringan LVQ. Sistem pengenalan menggunakan skema Pembagian Pasangan Biner (Binary Pair Partitioned scheme) yaitu satu jaringan digunakan untuk mengklasifikasikan dua vokal yang berbeda. Jika ada 5 buah vokal a, i, u, e, dan o maka diperlukan 10 jaringan dengan kombinasi masukan ai, au, ae, ao, iu, ie, io, ue, uo, dan eo. Pelatihan jaringan memerlukan iterasi (epoch) yang bisa dipilih yaitu 500, 1000, dan 2000. Hasil pelatihan jaringan diujikan dengan masukan sistem berupa data latihan dan data baru (data selain data latihan). Hasil pengenalan dinyatakan dalam bentuk persentase keseluruhan dari 10 jaringan.
Tabel 3 Rata-rata pengenalan jaringan terhadap masukan berupa data latihan epoch No Wavelet 500 1000 level Induk 1 haar 4 71.7 69.6 6 66.7 66.7 10 57.5 57.4 2 Symlets 4 75.4 69.0 2 6 65.5 63.1 10 57.2 58.7 3 db 4 4 71.4 71.2 6 62.0 63.8 10 59.8 58.1
2000 74.0 67.3 54.3 73.3 64.9 58.4 70.1 61.8 56.4
Untuk masukan berupa data latihan, jaringan yang didapat dengan kombinasi parameter Sym2, level 4, dan epoch 500 menghasilkan tingkat pengenalan tertinggi sebesar 75,4%. Dari Tabel 3, penambahan level dekomposisi akan menurunkan tingkat pengenalan jaringan. Sedangkan jumlah epoch tidak terlalu berpengaruh terhadap tingkat pengenalan jaringan.
4
Tabel 4 Rata-rata pengenalan jaringan terhadap masukan berupa data baru epoch No Wavelet 500 1000 level Induk 1 haar 4 51.4 50.3 6 49.9 51.0 10 48.2 46.9 2 Symlets 4 49.1 51.3 2 6 50.0 50.8 10 50.9 50.3 3 db 4 4 51.4 50.3 6 49.9 51.0 10 48.2 46.9
Institute and State University, Blacksburg, Virginia, 1997. http://scholar.lib.vt.edu/theses/available/etd554502439741131/ [4] Misiti, Michael., Misiti, Yves., Oppenheim, Georges., Poggi, Jean-Michel., Wavelet Toolbox User’s Guide Version 2 for Use with MATLAB® http://www.mathworks.com/access/helpdesk/ help/pdf_doc/wavelet/wavelet_ug.pdf [5] Moeliono, Anton M., Dardjowidjojo, Soenjono., Tata Bahasa Baku Bahasa Indonesia, Balai Pustaka, 1992 [6] Orr, Genevieve., Scraudolph, Nici., Cummins, Fred., CS-449: Neural Networks, Wilamette University [7] Rabiner, Lawrence., Juang, Biing-Hwang., Fundamental of Speech Recognition, PrenticeHall Inc, New Jersey, 1993 Penggunaan [8] Triadi A. Putro, Thomas, Transformasi Wavelet dan Pengkode Blok dalam Kompresi Citra Digital, Jurusan Teknik Elektro Institut Teknologi Bandung, Tugas Akhir, 1994 [9] Valens, C., A really friendly guide to wavelets – Wavelet tutorial for engineers http://perso.wanadoo.fr/polyvalens/clemens/ wavelets/wavelets.html [10] Vidal, Enrique., Perez, Juan-Carlos., Constructive Design of LVQ and DSM Classifiers, Dpto. De Sistemas Informáticos y Computación (DSIC) Universidad Politécnica de Valencia, Valencia, Spain [11] Zahorian, Stephen A., Hawickhorst, Brad A., Rajagopal, Ram., A Comparison of Three Neural Network Architectures for Automatic Speech Recognition. Departement of Electrical and Computer Engineering Old Dominion University, Norfolk VA
2000 49.6 49.8 49.8 49.7 49.2 51.3 49.6 49.8 51.9
Dari Tabel 4, tingkat pengenalan tertinggi dicapai oleh jaringan dengan kombinasi variabel db4, level dekomposisi 10, dan epoch 2000 sebesar 51,9%. Jika dibandingkan dengan Tabel 3, Pengenalan jaringan terhadap data baru selalu lebih rendah dibandingkan dengan data latihan. V. KESIMPULAN Kesimpulan yang diambil dari pembuatan dan pengujian program simulasi pengenalan suara ini adalah sebagai berikut: 1. Transformasi Wavelet Diskret dapat digunakan dalam proses pengenalan suara pada bagian pemrosesan awal sinyal untuk mendapatkan informasi/ciri sinyal tersebut 2. Tingkat dekomposisi pada transformasi wavelet mempengaruhi tingkat pengenalan jaringan yaitu makin tinggi tingkat dekomposisi maka tingkat pengenalan jaringan makin menurun 3. Jaringan Syaraf LVQ lebih baik jika digunakan untuk klasifikasi dua kelas 4. Tingkat pengenalan terhadap data latihan lebih tinggi dibanding data baru 5. Dari hasil pengujian jaringan dengan tingkat pengenalan terbaik untuk data latihan sebesar 75,4% didapatkan dengan kombinasi parameter wavelet Symlets 2, level dekomposisi 4, dan 500 epoch. Sedangkan untuk data baru sebesar 51,9% dengan kombinasi parameter wavelet db4, level dekomposisi 10, dan 2000 epoch.
Ignatius Leo May, Lahir di Purbalingga 30 Maret 1980. Saat ini sedang menyelesaikan Tugas Akhir untuk meraih gelar tingkat strata 1 (S1) di Jurusan Teknik Elektro Universitas Diponegoro Semarang dengan konsentrasi Telekomunikasi.
DAFTAR PUSTAKA [1] Bandung, Y, Algoritma Mixed Excitation Linear Prediction (MELP) Untuk Pemampatan Sinyal Suara Dengan Kualitas Tinggi dan Laju Bit Rendah, Jurusan Teknik Elektro Institut Teknologi Bandung, Tugas Akhir, 2000 [2] Demuth, Howard., Beale, Mark., Neural Network Toolbox User’s Guide Version 4. http://www.mathworks.com/access/helpdesk/ help/pdf_doc/nnet/nnet.pdf [3] Lekutai, G, “Adaptive Self-Tuning Neuro Wavelet Network Controller, Dissertation in Department of Electrical Engineering,” Virginia Polytechnic 5