Simposium Nasional I RAPI 2002
PENGENALAN VOKAL BAHASA INDONESIA DENGAN JARINGAN SYARAF TIRUAN MELALUI TRANSFORMASI FOURIER
Doni Sitanggang Jurusan Teknik Elektro Undip Jl. Prof. Sudharto, Tembalang Semarang
Sumardi Jurusan Teknik Elektro Undip Jl. Prof. Sudharto, Tembalang Semarang
[email protected]
Achmad Hidayatno Jurusan Teknik Elektro Undip Jl. Prof. Sudharto, Tembalang Semarang
[email protected]
Abstrak Pengenalan Vokal Bahasa Indonesia dengan jaringan Syaraf tiruan dapat dipahami dan dimengerti melalui beberapa transformasi. Transformasi Fourier adalah salah satu alat (tool) dalam pemrosesan atau analisa sinyal.Transformasi Fourier digunakan karena dapat memberikan informasi-informasi yang disajikan dalam ranah frekuensi baik yang bersifat diskret maupun kontinu.JST (Jaringan Syaraf Tiruan) banyak digunakan untuk aplikasi pengenalan pola (pattern recognition). Kemampuan untuk pembelajaran dari data pelatihan dan generalisasi ke situasi/kondisi yang baru adalah alasan mendasar mengapa JST banyak digunakan.Dalam aplikasi pengenalan vokal bahasa Indonesia (a, i, u, e, o), rekaman suara manusia untuk satu macam vokal (a saja, i saja dst) dalam bentuk file .wav yang kemudian dapat dibaca melalui program Matlab, selanjutnya masuk ke transformasi Fourier sehingga didapatkan representasi frekuensi dari sinyal tersebut dalam bentuk numeris. Data-data numeris tersebut dilatih dengan Jaringan Syaraf Tiruan untuk dikenali. Metoda pembelajaran yang digunakan adalah LVQ (Learning Vector Quantization). Dari hasil pembelajaran akan didapatkan bobot jaringan yang telah berubah.Jaringan diuji dengan memberikan masukkan berupa data latihan dan data baru. Hasil pengujian menunjukkan bahwa penegnalan jaringan terhadap data baru lebih rendah terhadap data latihan. Untuk persentase pengenalan masing-masing vokal untuk masukkan data latihan, tingkat pengenalan tertinggi didapatkan dari jaringan yang dihasilkan dari kombinasi 512 titik uji dan 2000 epoch sebesar 95%. Sedangkan untuk data pengujian diperoleh 82,7% dengan titik uji dan epoch yang sama dengan data latihan. Kata Kunci : Transformasi Fourier, Jaringan Syaraf Tiruan, Algoritma LVQ, Epoch, titik uji
I. PENDAHULUAN 1.1 Latar Belakang Suara manusia merupakan salah satu alat komunikasi yang sangat berguna. Dalam berkomunikasi hal yang terpenting adalah bagaimana seseorang dapat mengolah suara, agar dapat didengar jelas oleh rekan bicaranya. Organ-organ tubuh yang mendukung proses besuara adalah mulut, lidah, bibir, rahang dan tenggorokkan yang kesemuanya itu Saling berhubungan. Ada 2 jenis bunyi suara yang kita kenal yaitu bunyi vokal maupun bunyi konsonan. Huruf-huruf yang termasuk bunyi vokal ada 5 yaitu a, i, u, e, o, sedangkan untuk bunyi konsonan terdiri dari 21 huruf yaitu b, c, d, f, g, h, j, k, l, m, n, p, q, r, s, t, v, w, x, y, z. Pengenalan bunyi vokal dapat dianalisa lebih lanjut dan akhirnya dapat berupa aplikasi dari ciri vokal tersebut Transformasi Fourier merupakan salah satu dari beberapa tranformasi yang dapat digunakan dalam pengenalan bunyi vokal. Parameter-parameter yang dihasilkan tranformasi Fourier kemudian dimasukkan kedalam JST (jaringan syaraf tiruan) dengan menggunakan metode pembelajaran LVQ (Learning Vector Quatization). Metode pembelajaran ini dilakukan secara berulang-ulang hingga dapat mengenali ciri-ciri vokal yang ada.
ISSN : 1412-9612
E - 27
Simposium Nasional I RAPI 2002
1.2 Batasan Masalah Dalam Tugas Akhir ini sistem pengenalan vokal yang dibuat memiliki batasan permasalahan sebagai berikut: 1. Vokal diucapkan dalam bahasa Indonesia. 2. Transformasi yang dipakai adalah Transfor- masi Fourier. 3. Metode pelatihan JST adalah LVQ dengan iterasi sebanyak 500, 1000, 2000 kali dan 512, 1024, 2048 titik pengujian II. TEORI DASAR 2.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 kelima vokal bahasa Indonesia berdasarkan parameter tinggi-rendah dan depan-belakang lidah. Tabel 1 Vokal bahasa Indonesia
Tinggi Sedang Rendah
Depan
Tengah
Belakang
i e -
a
u o -
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.2 Analisa frekuensi sinyal dengan transformasi Fourier Bentuk gelombang sinyal pada dasarnya merupakan fungsi waktu dimana analisa yang digunakan adalah analisa Fourier, yang dikembangkan menjadi deret Fourier. Bentuk-bentuk sinyalnya pun bermacam-macam, ada yang berupa gelombang sinus atau kosinus maupun bentuk gelombang yang lainnya. Setiap bentuk gelombang yang bukan berupa gelombang sinus atau kosinus, yang berulang pada setiap selang waktu yang teratur (regular interval), dinamakan satu gelombang periodik kompleks dengan periode T, dimana gelombang berulang setiap selang waktu tersebut dinamakan waktu periodik untuk sinyal x(t) yang periodik dengan panjang periode T, mempunyai beberapa sifat dibawah ini: 1. x(t) mempunyai penjumlahan gelombang sinusoida yang berulang. 2. Mempunyai frekuensi dasar fo = 1/ T 3. ω = 2π / T = 2πfo , adalah frekuensi harmonisa pertama disebut frekuensi dasar 4. Penjumlahan sinyal sinusoda berulang dapat ditulis sebagai berikut :
x(t ) =
ao ∞ + ∑ (ak cos(ωnt) + bk sin(ωnt)) 2 k =1
5. Penjumlahan tersebut dinamakan deret Fourier dengan ak dan bk adalah koefisien ferkuensi yang merupakan amplitudo frekuensi 2.2.1 Transformasi Fourier Diskret Hasil dari proses pengubahan ini adalah data yang berbentuk diskrit dan mungkin bukan merupakan data yang periodik. Ada keterbatasan dalam menggunakan metode transformasi Fourier karena pada prinsipnya metode transformasi Fourier hanya dapat digunakan pada data-data
ISSN : 1412-9612
E - 28
Simposium Nasional I RAPI 2002
kontinu. Untuk mengatasi keterbatasan tertentu dapat digunakan analoginya pada data diskret yang dikenal dengan nama Transformasi Fourier diskret (Discrete Fourier Transform). Anggap gelombang telah dicuplik pada interval waktu yang tetap T, untuk menghasilkan rangkaian {x(nT)} = x(0),x(T),……..,x[(N-1)T] dari nilai sample N, dengan n adalah bilangan sample dari n = 0 hingga n = N-1. Nilai data x(nT) hanya akan nyata jika merepresentasikan nilai deret waktu seperti bentuk gelombang tegangan. Bentuk Transformasi Fourier diskret (Discrete Fourier Transform) x(nT) kemudian didefinisikan sebagai rangkaian nilai kompleks {x(kΩ)} x(0),x(Ω),……,x[(N-1) Ω] dalam domain ferkuensi, dengan Ω adalah ferkuensi harmonik pertama yang diberikan oleh Ω = 2π / NT, maka x(kΩ) secara umum memiliki komponen nyata dan komponen imajiner, dan untuk harmonik ke –k X(k)= Re(t) + j im(k) (1) Dan x(k ) = {re 2 (k ) + im 2 (k )}1 / 2 (2) dan x(k) memiliki sudut fasa yang bersesuaian φ(k) = tg-1[im(k) / re(k)]
(3)
2.2.2 Algoritma transformasi Fourier cepat (Fast Fourier Transform) Untuk lebih memudahkan dalam perhitungan, transformasi Fourier diskret selanjutnya dapat dikembangkan dengan cara mengefisienkan perulangan perhitungan juga sifat simetri dari faktor fasa WN yang menjadi sifat transformasi Fourier diskret dengan tujuan mengurangi jumlah perhitungan yang dibutuhkan dan selanjutnya akan mempercepat perhitungan. Algoritma FFT( Fast Fourier Transform) yang banyak digunakan secara luas adalah algoritma dengan bilangan dasar 2, artinya masukkan yang dibutuhkan sebanyak N = 2V. hal yang pertama dilakukan dalam pengembangan algoritma FFT ( Fast Fourier Transform) dengan bilangan dasar 2 ialah dengan menyederhanakan penulisan persamaan DFT (Discreat Fourier Transform) dan juga membuat beberapa hubungan matematis, menjadi : N −1
X1(k) =
∑x l
− j 2πnk / N
, k = 0,1,……,N-1
n
(4)
n =0 -j2π/N
Dan juga faktor e akan ditulis sebagai WN, maka : -j2π/N WN = e Sehingga persamaan (5) menjadi :
(5)
N −1
X1(k) =
∑x W n =0
n
kn N
, k = 0,1,……,N-1
(6)
2.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: x1 x2 ... xN
w1 w2 Σ
f(·)
y
wN θ Gambar 1 Pemodelan neuron
ISSN : 1412-9612
E - 29
Simposium Nasional I RAPI 2002
dan pernyataan matematisnya
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). Jaringan LVQ merupakan versi supervised dari Algoritma Pembelajaran Kompetitif. Arsitektur jaringan LVQ ditunjukkan gambar berikut:
Gambar 2 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).
ISSN : 1412-9612
E - 30
Simposium Nasional I RAPI 2002
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 Fourier
Pelatihan jaringan syaraf dengan algoritma LVQ
Pengujian jaringan dengan data latihan dan data baru
Selesai
Gambar 3 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. 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. Sedangkan untuk titik uji dapat dipilih yaitu 512, 1024 dan 2048 titik. 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.
IV. HASIL SIMULASI Program dibuat dengan bahasa MATLAB versi 5.3. Tampilan latihan berguna untuk mencari ‘net’ yang terbaik dapat ditunjukkan pada gambar berikut:
ISSN : 1412-9612
E - 31
Simposium Nasional I RAPI 2002
Gambar 4 Tampilan latihan untuk mencari ’net’ terbaik
Data latihan jika ditekan maka akan muncul tabel seperti yang diperlihatkan pada gambar berikut :
Gambar 5 Tampilan latihan untuk mencari ’net’ terbaik
Gambar 5 merupakan tampilan data latihan untuk 512 titik uji dan 500 epoch. Setelah diperoleh ‘net’ yang terbaik maka proses pengujian dapat berlangsung dengan memasukkan data baru. Untuk data pengujian saat ditekan maka akan tabel seperti yang diperlihatkan pada gambar berikut:
Gambar 6 Tampilan hasil data pengujian
Dari ke-3 gambar diatas (gambar 4, 5 dan 6 ) dihasilkan persentase pengenalan vokal untuk 20 responden, dimana untuk 10 responden digunakan sebagai data latihan dan 10 responden lagi digunakan sebagai data baru (data pengujian). Dari gambar 5 diatas dapat dihitung rata-rata pengenalan vokal sebagai berikut :
ISSN : 1412-9612
E - 32
Simposium Nasional I RAPI 2002
Rata − rata pengenalan =
99,2 + 97,5 + 96 + 89 + 93 = 94,94 5
dengan cara yang sama dengan contoh perhitungan diatas maka dapat ditabelkan sebagai berikut: Tabel 2 Rata-rata pengenalan data pelatihan untuk masing-masing titik dan epoch 500 1000 2000 512 94,94 91,5 95 1024 84 81,3 73.3 2048 79,4 87,1 80,2
Dari tabel diatas terlihat bahwa ‘net’ atau jaringan yang terbaik berada pada titik uji 512 dan 2000 epoch, hal ini disebabkan karena semakin sedikit titik uji yang diproses maka semakin cepat jaringan memahami data tersebut. Diimbangi juga dengan batas maksimum jumlah iterasi yang dimiliki jaringan ini sebesar 2000 epoch, berarti proses yang dijalankan membutuhkan 2000 iterasi. Dengan menggunakan ‘net’ yang diperoleh dari jaringan diatas, maka pengujian data baru dapat dilakukan dengan mangambil salah satu responden. Tampilan yang digunakan dalam menguji data baru dapat diperlihatkan pada gambar berikut:
Gambar 7 Tampilan pengujian untuk data baru
Proses pengujian data baru dapat dilakukan dengan memasukkan 10 responden, dimana data dimasukkan satu persatu kedalam jaringan diatas. Sehingga perbandingan persentase penegenalan untuk masing-masing vokal baik menggunakan data lama dan data baru dapat diperlihatkan pada tabel berikut: Tabel 3 Perbandingan persentase pengenalan vokal Persentase Pengenalan (%) Vokal /a/ Vokal /i/ Vokal /u/ Vokal /e/ Vokal /o/
Data lama (10 org)
Data baru (10 org)
98 74 80 66 20
92 74 38 52 20
Persentase pengenalan tiap vokal diatas terlihat tidak ada yang mencapai 100 %, bahkan jika dirataratakan untuk data lama dapat mengenal tiap vokal sebesar 67,6 % sedangkan untuk data baru
ISSN : 1412-9612
E - 33
Simposium Nasional I RAPI 2002
adalah 55,2 %. Beberapa faktor yang dapat mempengaruhi pengenalan vokal adalah sebagai berikut: a. Derau lingkungan sekitar karena system yang dibuat berhubungan dengan sinyal suara, maka faktor sinyal derau yang masuk akan sangat mempengaruhi keberhasilan pencocokkan. b. Karakteristik sinyal Akibat karakteristik sinyal suara manusia yang berbeda-beda. Hal ini akan mempengaruhi gaya bicara dan durasi pengucapan. Sehingga disini dibutuhkan pola bicara yang teratur dan tidak dibuat-buat. c. Kehandalan perangkat lunak itu sendiri Kehandalan perangkat lunak maksud penulis adalah jika ditinjau dari segi pemilihan titik uji, jumlah iterasi bahkan data yang dipilih sebagai data latihan dalam mencari ‘net’ yang terbaik haruslah yang presisi karena dapat mempengaruhi dalam pengenalan vokal. V. KESIMPULAN Dari tahapan proses perancangan hingga pengujian system pengenalan dan analisa sinyal ucapan manusia, maka dapat diambil beberapa kesimpulan sebagai berikut. 1. Sinyal ucapan manusia dapat diwujudkan berupa parameter-parameter sinyal ucapan yang dapat mewakili informasi spektral sinyal. 2. Transformasi Fourier merupakan salah satu jenis transformasi yang dapat digunakan dalam proses pengenalan vokal, serta hasilnya sedikit lebih baik dibanding transformasi wavelet. 3. Rata-rata pengenalan vokal untuk masing titik dan epoch, terbaik pada titik 512 dan epoch 2000 dengan nilai pengenalan sebesar 95 % untuk data latihan dan 82,7 % untuk data pengujian. 4. Persentase pengenalan masing-masing vokal adalah vokal /a/ dikenal sebagai /a/ yaitu 98 % untuk data lama (data pelatihan) dan 92 % untuk data baru, vokal /i/ dikenal sebagai /i/ yaitu 74 % untuk data lama (data pelatihan) dan 74 % untuk data baru, vokal /u/ dikenal sebagai /u/ yaitu 80 % untuk data lama (data pelatihan) dan 38 % untuk data baru, vokal /e/ dikenal sebagai /e/ yaitu 66 % untuk data lama (data pelatihan) dan 52 % untuk data baru, vokal /o/ dikenal sebagai /o/ yaitu 20 % untuk data lama (data pelatihan) dan 20 % untuk data baru.
DAFTAR PUSTAKA Bullinaria, John A. , Introduction to Neural Network http://www.cs.bham.ac.uk/~jxb/inn.htm Duance, Hanselman, Mastering Matlab 5, Prentice Hall inc.Upper Saddle River, new jersey Deller, Jhon D,Proakis,John G,dan Hansen,Jhon II.L.,1993, Discreate-Time Processing if Speech Signals. New york,Macmillan publishing Company, Kohonen, T, Self-Organization and Associative Memory, 2nd Edition, Berlin Springer-Verlag,1987 Little N.J dan Shure L, Signals processing Toolbox, for use with MATLAB, the MATH WORKS inc. Openheim, A.V and Schafer, R.W, 1999, Discreate signal processing second edition, Prentice Hall inc.Upper Saddle River, New Jersey, Roman, Kuc, 1989, Introduction to digital signal Processing , Mc Graw Hill, New York Rabiner L dan Juang Hwang B, 1996, Fundamentals of speech recognation, PTR Prentice Hall, Englewood Cliffs, New jersey _________,1992, Tata Bahasa Baku.Bahasa Indonesia, Departemen Pendidikan dan Kebudayaan Perum Balai Pustaka, Jakarta
ISSN : 1412-9612
E - 34