OPEN ACCESS Ind. Symposium on Computing Sept 2016. pp. 149-164
ISSN 2460-3295
doi:10.21108/indosc.2016.135
socj.telkomuniversity.ac.id/indosc
ALGORITMA PENGENALAN UCAPAN HURUF HIJAIYAH BERTANDA BACA DENGAN LINEAR PREDICTIVE CODING (LPC) DAN HIDDEN MARKOV MODEL (HMM) Haby Bagus Prasetyo #1 , Adiwijaya #2, Untari Novia Wisesty #3 # School of Computing, Telkom University Jl. Telekomunikasi 1, Bandung, Indonesia 40257 –
1
[email protected] [email protected] 3
[email protected] 2
Abstract Hijaiyah letter is the letter of constituent words in the Qur'an. Hijaiyah letter consists of 28 letters, with the letters symbolize consonant to vowel sounds while denoted by harokat / punctuation. Hijaiyah letter is part of the Arabic language that has characteristics both in writing and speech. Speech recognition system or voice recognition system is a system used to process voice signals into data that can be recognized by the computer [1]. To be able to do the voice recognition feature extraction methods are needed (feature extraction) and classifier. Sound signal that has been extracted character then generate information that can be analyzed for each variation existing voice signal. Of the characteristics that exist in each phoneme try to recognize it and convert it into text [2]. Methods of extraction of the characteristics used in this final project is Linear Predicitive Coding (LPC), then the feature generated from LPC quantized of each vector using the K Means Clustering and for the classifier used when training and testing is the method of Hidden Markov Model (HMM). After several test scenarios obtained the best accuracy for testing is 58.93% and training is 99.60% with data 28 class. -
Keywords: Hijaiyah Letter, Hidden Markov Model, Linear Predictive Coding, Speech Recognition System Abstrak Huruf Hijaiyah merupakan huruf penyusun kata dalam Al Qur’an. Huruf hijaiyah terdiri dari 28 huruf, dengan huruf-huruf tersebut melambangkan bunyi konsonan sedangkan untuk bunyi vokal dilambangkan dengan harokat/tanda baca. Huruf hijaiyah merupakan bagian dari bahasa arab yang memiliki karakteristik yang baik dalam penulisan maupun pegucapan. Speech recognition system atau sistem pengenalan suara merupakan sistem yang digunakan untuk memroses sinyal suara menjadi data sehingga dapat dikenali oleh komputer [1]. Untuk dapat melakukan pengenalan suara dibutuhkan metode feature extraction (ekstraksi ciri) dan classifier. Sinyal suara yang telah diekstrasi cirinya kemudian menghasilkan informasi yang dapat dianalisis untuk tiap variasi sinyal suara yang ada. Dari ciri yang ada pada setiap fonem dicoba untuk mengenalinya dan mengubahnya menjadi teks [2]. Metode ektraksi ciri yang digunakan pada makalah ini adalah Linear Predicitive Coding (LPC), kemudian feature yang dihasilkan dari LPC dilakukan kuantisasi pada tiap vektor dengan menggunakan metode K-Means Clustering dan untuk classifier yang digunakan ketika training dan juga testing adalah dengan metode Hidden Markov Model (HMM).Setelah dilakukan beberapa skenario pengujian diperoleh akurasi terbaik untuk testing 58.93% dan training 99.60% dengan jumlah data 28 kelas. Received on August 2016. Accepted on Sept 2016
Haby Bagus Prasetyo et.al. Algoritma Pengenalan Ucapan ...
150
Kata Kunci: Huruf Hijaiyah, Hidden Markov Model, Linear Predictive Coding, Speech Recognition System
PENDAHULUAN I. uruf Hijaiyah merupakan huruf penyusun kata dalam Al Qur’an. Huruf hijaiyah terdiri dari 28 huruf, dengan huruf huruf tersebut melambangkan bunyi konsonan sedangkan untuk bunyi vokal dilambangkan dengan harokat/ tanda baca. Harakat atau tanda baca digunakan untuk memperjelas pelafalan huruf tersebut. Tahap awal mempelajari Al Qur’an adalah dengan membaca dan memahami setiap huruf hijaiyah. Setelah dapat memahami pelafalan tiap hurufnya maka dapat dilakukan pembelajaran Al Qur’an dengan baik dan benar sesuai dengan aturan aturannya. Speech recognition merupakan sistem yang digunakan untuk memroses sinyal suara menjadi data sehingga dapat dikenali oleh komputer [1]. Sinyal suara yang telah diekstrasi cirinya kemudian menghasilkan informasi yang dapat dianalisis untuk tiap variasi sinyal suara yang ada. Dari ciri yang ada pada setiap fonem dicoba untuk mengenalinya dan mengubahnya menjadi teks [2]. Namun, pengembangan pengenalan suara untuk menghasilkan teks dari suara masukan belum berkembang dengan baik karena waktu proses yang dibutuhkan, maka diperlukan metode untuk memecahkan masalah pengolahan waktu dengan tingkat akurasi yang baik [4]. Untuk membuat sistem speech recognition di butuhkan beberapa metode agar hasil yang didapatkan nantinya akan maksimal. Metode dasar yang harus digunakan adalah feature extraction (ekstraksi ciri). Feature extraction merupakan suatu pengambilan ciri/ feature dari suatu bentuk yang nantinya nilai yang didapatkan akan dianalisis untuk proses selanjutnya. Terdapat beberapa metode feature extraction yang sering digunakan, yaitu Linear Predictive Coding (LPC), Mel Frequency Cepstral Coefficient (MFCC), dan Human Factor Cepstral Coefficient (HFCC). LPC merupakan teknik analisa suara yang paling kuat dan salah satu metode yang paling berguna untuk pengkodean suara dengan kualitas yang baik pada bit rate yang rendah. LPC adalah sebuah model yang dibuat berdasar produksi suara manusia. Sistem ini menggunakan model filter yang biasa (konvensional) yang dimana glottal, saluran suara dan fungsi pemindahan radiasi mulut diintegrasikan ke dalam satu filter penyaring yang mensimulasikan saluran suara dengan ilmu suara. Pada penelitian Untari [11] telah dilakukan percobaan antara Linear Predicitive Coding dan PNN dengan data pengucapan nama kota di Indonesia. PNN adalah metode deterministik yang digunakan sebagai classifier dari sistem sehingga feature extraction akan mendapatkan hasil yang maksimal. Berdasarkan hasil tersebut didapatkan akurasi 100% ketika kelas berjumlah 2 , 3 dan terendah 73% dengan 10 kelas. Setelah dilakukan feature extraction, diperlukan metode classifier untuk pelatihan dan pengenalan agar dapat menghasilkan output berupa teks yang diinginkan yaitu dengan menggunakan metode Hidden Markov Model (HMM). Hidden Markov Model adalah metode yang mudah un tuk diterapkan dan mempunyai algoritma training untuk memperkirakan parameter dari satu set data suara [4]. Metode HMM ini adalah metode yang cukup terkenal yang sering digunakan dalam permasalahan speech processing. Permasalahan dasar dari HMM adalah evaluation (menentukan peluang keluaran suatu barisan secara efisien untuk setiap model), decoding (menentukan barisan state tersembunyi yang optimal jika diberikan parameter dari model), training (memilih parameter model yang sesuai untuk mengoptimalkan peluang observasi jika diberikan himpunan barisannya) [1,9]. Maka dari itu, pada makalah ini dilakukan penggabungan metode feature extraction dengan LPC dan classifier dengan HMM untuk digunakan, dengan HMM digunakan ketika modeling dan recognition [1]. Selain itu HMM juga telah banyak digunakan untuk bidang speech recognition dan sudah banyak digunakan dalam penelitian [8]. Sedangkan LPC memiliki analisa suara yang paling kuat dan salah satu metode yang paling berguna untuk pengkodean suara dengan kualitas yang baik pada bit rate yang rendah. TINJAUAN PUSTAKA II. Ucapan Huruf Hijaiyah Bertanda Baca A.
H
-
-
Huruf Hijaiyah atau nama lainnya abjad arab adalah merupakan huruf penyusun kata dalam Al Qur’an. Huruf hijaiyah terdiri dari 28 huruf, dengan huruf huruf tersebut melambangkan bunyi konsonan sedangkan untuk bunyi vokal dilambangkan dengan harokat/tanda baca. Harakat atau tanda baca digunakan untuk memperjelas pelafalan huruf tersebut. Terdapat 8 macam harakat, yaitu fathah, kasroh, dhomah, fathahtain, kasrohtain, dhomahtain, sukun, dan tasydid. Dalam makalah ini akan dibuat sebuah sistem yang -
Ind. Symposium on Computing
Sept 2016
151
akan mengenali 28 huruf hijaiyah dan 6 harakat, yaitu fathah, kasroh, dhomah, fathahtain, kasrahtain, dan dhomahtain. Bagi orang yang beragama Islam wajib untuk dapat membaca dan memahami makna dari Al Qur’an. Tahap awal mempelajari Al Qur’an adalah dengan membaca dan memahami setiap huruf hijaiyah. Data yang digunakan adalah 28 huruf hijaiyah dan 6 harakat yaitu fathah, kasroh, dhomah, fathahtain, kasrohtain, dan dhomahtain. Perekaman suara dilakukan oleh 6 orang, yaitu 3 pria dan 3 wanita. Perekaman dilakukan di ruangan tertutup yang kedap suara, setiap huruf di ucapkan oleh setiap orang sebanyak 4 kali, dengan format data audio: . wav, channel 16 bit, dan sample rate 441000 Hz dan channel Mono. Kemudian dilakukan pemotongan suara sesuai dengan database yang dibutuhkan. Jadi satu file dengan e kstensi .wav hanya akan berisi satu pelafalan huruf dan harakat saja tahap ini dinamakan pemotongan suara dan dilakukan dengan menggunakan aplikasi Audacity. B. Sistem Pengenalan Suara (Speech Recognition System) Speech recognition system adalah suatu teknologi yang digunakan untuk mengenali dan memahami kata-kata yang diucapkan kemudian merubahnya menjadi representasi data yang dapat dikenali oleh komputer dengan cara digitalisasi kata dan mencocokkan sinyal digital dengan suatu pola tert entu. Katakata yang diucapkan diubah bentuknya menjadi sinyal digital dengan cara mengubah gelombang suara menjadi sekumpulan angka yang kemudian disesuaikan dengan kode kode tertentu untuk mengidentifikasikan kata kata tersebut. Hasil dari identifikasi kata yang diucapkan dapat ditampilkan dalam bentuk tulisan [4]. Informasi yang terdapat dalam sinyal suara sebenarnya direpresentasikan dengan spektrum amplitudo jangka pendek berbentuk gelombang suara. Hal ini memungkinkan kita untuk mengekstraksi ciri berdasarkan amplitudo jangka pendek dari spektrum pembicara (fonem). Dalam membuat sebuah sistem pengenalan suara dibutuhkan metode yang digunakan untuk ektraksi ciri (feature extraction) dan metode yang digunakan untuk pengklasifikasian (classifier). Tujuan dari speech recognition system ialah mengonversi sinyal suara menjadi bentuk text sesuai dengan kata yang diucapkan, tidak tergantung dari device yang digunakan untuk merekam suara [5]. Tahap pertama yang dilakukan adalah normalisasi. C. Normalisasi -
-
Normalisasi merupakan proses yang harus dilakukan, gunanya yaitu untuk menyetarakan semua sinyal suara pada masukan sistem agar sesuai dengan spesifikasi sistem. Pada makalah ini hanya dilakukan normalisasi pada tahap preprocessing. Tujuan dari proses ini adalah menyamakan amplitudo maksimum dan sample rate sinyal suara, sehingga tidak ada terjadi perubahan pada amplitudo dan sample rate pada pemrosesan selanjutnya. Berikut flowchart proses normalisasi yang digunakan:
Gambar 1 Normalisasi[1]
Diawali dengan memasukkan suara atau melakukan input-an suara. Selanjutnya dilakukan resampling menjadi 16kHz dan dilanjutkan dengan proses centering bertujuan unutk menggeser letak distribusi amplitudo diskrit pada sumbu y = 0 yang juga dap at membuat agar amplitudo sinyal suara memiliki rataan sama dengan nol. Kemudian membagi nilai amplitudo dengan nilai amplitudo maximum Setelah itu didapatkan suara yang telah dinormalisasi yang kemudian akan di gunakan pada proses selanjutnya. .
D.
Feature Extraction
Ekstraksi ciri atau feature extraction merupakan suatau cara pengambilan ciri / feature dari suatu bentuk yang nantinya nilai yang didapatkan dari hasil tersebut akan di analisis untuk proses selanjutnya. Pada makalah ini metode feature extraction yang digunakan adalah Linear Predictive Coding (LPC).
Haby Bagus Prasetyo et.al. Algoritma Pengenalan Ucapan ...
152
Gambar 2 Blok Diagram LPC [9]
Gambar 2 menunjukkan diagram LPC. Sinyal suara pertama tama di filter menggunakan preemphasize. Setelah itu dilakukan frame blocking untuk memecah sinyal menjadi beberapa frame . Pada makalah ini panjang frame N dan jarak frame M adalah 240 sampel dan 80 sampel, jadi didapatkan bagian overlap atar frame sebesar 160 sampel. Kemudian setelah sinyal di pecah pecah dilakukan windowing untuk meminimalkan diskontinuitas sinyal pada awal dan akhir frame . Model window yang digunakan adalah hamming window. Setelah itu dilakukan analisis autokorelasinya dengan cara frame sinyal hasil keluaran dari windowing kemudian di autokorelasikan untuk menghasilkan koefisien autokorelasi, orde analisa LPC yang digunakan adalah 12. Setelah didapatkan koefisien autokorelasinya dilakukan analisis LPC, yang mengubah tiap autokorelasi 𝑝 + 1 menjadi himpunan LPC parameter, yang dapat berupa koefisien LPC, koefisien pemantulan (PARCOR), koefisien log area ratio, koefisien cepstral, atau tranformasi yang diinginkan dari himpunan diatas. Set koefisien autokorelasi yang telah diperoleh melalui analisis autokorelasi dikonversi menjadi set koefisien LPC [2]. Proses selanjutnya adalah pengubahan parameter LPC menjadi koefisien cepstral, orde cepstral yang digunakan adalah 12. Hasil dari koefisien LPC dari proses analisis LPC kemudian dikonversi menjadi koefisien cepstral. Pemilihan orde LPC dan orde cepstral ini nantinya akan berpengaruh pada akurasi sistem, semakin kecil orde LPC dan orde cepstral maka akan kecil akurasi yang dihasilkan. Setelah itu dilakukan pembobotan parameter yaitu proses melakukan pembobotan set koefisien cepstral dengan suatu window khusus. Kemudi an langkah terakhir adalah temporal cepstral derivative Representasi cepstral dari spektrum suara memberikan representasi yang baik dari properti spectral lokal dari sinyal pada frame yang dianalisis. Proses ini dilakukan dengan mendiferensialkan set koefisien cepstral terhadap waktu [2]. Pada makalah ini representasi yang digunakan adalah diferensial order pertama. Kemudian akan dihasilkan feature dari ektraksi ciri yang telah dilakukan, hasil ekstraksi ciri dari analisis LPC yang digunakan adalah gabungan dari 12 koefisien ceptral LPC dan 12 turunan orde pertama dari koefisien cepstral. Vector Quantization E. -
-
.
Vector Quantization diperlukan untuk menghasilkan deretan obserasi (indeks codebook) yang selanjutnya akan diproses menggunakan metode Hidden Markov Model (HMM) untuk proses training [2]. Codebook adalah sekumpulan titik (vector) yang mewakili representasi sinyal suara dalam bentuk digital dalam ruang suara [1]. Untuk kasus pengenalan suara, maka codebook ini harus dibuat untuk suara yang akan dikenali dengan cara menggunakan metode clustering terhadap fitur suara. Dengan clustering yang dilakukan akan membuat suara yang memi liki kemiripan akan berada dalam satu kelompok yang sama. Terdapat berbagai jenis clustering yang ada. Pada makalah ini algortima clustering yang digunakan adalah K-Means clustering. Sedangkan penentuan indeks codebook didapat selama training dan testing dengan mengubah karakteristik vektor menjadi indeks codebook yang memiliki jarak euclidean terkecil [1] .
F.
Rantai Markov
Rantai Markov (Markov Chain) adalah sebuah teknik perhitungan yang umumnya digunakan dalam melakukan pemodelan bermacam-macam kondisi. Teknik ini digunakan untuk membantu dalam memperkirakan perubahan yang mungkin terjadi di masa mendatang. Perubahan perubahan tersebut -
Ind. Symposium on Computing
Sept 2016
153
diwakili dalam variabel variabel dinamis di waktu waktu tertentu. Sehingga perlu untuk menyimpan nilai dari variabel keadaan pada tiap tiap waktu tertentu itu Suatu proses acak waktu diskrit 𝑄 𝑛, pada setiap saat berada pada salah satu state 𝑠𝑖 di antara himpunan state yang berhingga dan diskrit 𝑆. Pada satu satuan waktu berikutnya proses ini akan berpindah ke state 𝑠𝑗 dengan probabilitas [12]: -
-
-
.
P (𝑄𝑡+1 = 𝑠𝑗 | ( 𝑄𝑛+1 = 𝑠𝑗 | 𝑄 𝑛 = 𝑠𝑖) = 𝑝𝑖𝑗
(1)
Sifat peluang dari rantai Markov secara lengkap diGambarkan dengan : 𝑃 (𝑄0 = 𝑆𝑖 0, 𝑄1 = 𝑆 𝑖1,
…
, 𝑄𝑡 = 𝑆𝑖 𝑡 )
𝑃 (𝑄𝑡 = 𝑆 𝑖𝑡 | 𝑄0 = 𝑆𝑖 0, , … , 𝑄𝑡 −1 = 𝑆𝑖𝑡−1) 𝑃( 𝑄0 = 𝑆𝑖0 , , … , 𝑄𝑡−1 = 𝑆 𝑖𝑡−1 ) 𝑃 (𝑄𝑡 = 𝑆 𝑖𝑡 | 𝑄𝑡 = 𝑎𝑖𝑡
−
𝑎
−
1
1𝑖 𝑡 𝑖 𝑡 2𝑖 𝑡 1 −
−
= 𝑆 𝑖𝑡 1 ) 𝑃(𝑄0 = 𝑆𝑖 0, … , 𝑄𝑡 −
1
−
= 𝑆𝑖𝑡 1) −
… 𝑎 𝑖0𝑖 1𝑃( 𝑄0 = 𝑖 0)
(2)
dimana: 𝑃( 𝑄0 = 𝑖 0) = peluang inisial G.
Hidden Markov Model
Deretan indeks Codebook yang dihasilkan pada proses vector quantization kemudian digunakan sebagai inputan untuk proses training HMM. Indeks ini dapat disebut sebagai simbol observasi HMM. Pada proses training ini akan digunakan untuk memodelkan sejumlah huruf yang nantinya dapat digunakan pada proses testing Tra ining merukapan masalah Hidden Markov Model yang paling sulit dipecahkan [1,8,9]. Pada proses training ini menggunakan algoritma Baumwelch. Model HMM yang dihasilkan pada proses training ini adalah 𝜆 = (𝐴, 𝐵, 𝜋), keterangan dari hasil tersebut adalah A seb agai matriks peluang transisi antar state, B matriks peluang simbol observasi, dan 𝜋 adalah peluang inisial state. Jenis HMM yang digunakan pada Makalah ini adalah diskrit ergodic. Parameter-parameter HMM seperti A, B, dan 𝜋 dibangkitkan secara random dengan nilai yang dinormalisasi ke satu [1,8, 9]. Yang kemudian parameter parameter tersebut di perkirakan ulang sampai mendapat nilai yang optimal pada proses training. Kemudian untuk parameter HMM yang lain diambil berdasarkan banyaknya state (N) dan jumlah simbol observasi tiap state(M). Pada HMM, yang bersifat hidden adalah statenya , dimana state tersebut adalah jenis suara itu sendiri, sedangkan bagian yang akan diobservasi adalah ciri dari sinyal suara [3,9 ]. Parameter HMM yang di reestimasi merupakan hasil implementasi dari algoritma Baumwelch atau nama lainnya Expection Maximum (EM). Hasil dari reestimasi parameter HMM adalah nilai baru dari elemen -elemen matriks A, B dan 𝜋. Iterasi pada reestimasi berhenti apabila iterasi sudah maksimal atau jika model baru tidak memberikan perbaikan nilai yang cukup berarti. Sebelum menyelesaikan permasalahan reestimasi terlebih dahulu dihitung variable forward (𝛼 ) dan backward (𝛽). Flowchart training HMM dapat dilihat pada Gambar berikut: .
-
Gambar 3 Training [1]
Setelah dilakukan inisialisasi parameter model HMM 𝜆 = (𝐴, 𝐵, 𝜋) yang dibangkitkan secara random dengan nilai yang dinormalisasi ke satu, kemudian dilakukan perhitungan 𝛼 𝑡( 𝑖) dan 𝛽𝑡 (𝑖) dengan algoritma forward dan backward. Perhitungan 𝑎 𝑡(𝑖) dapat di hitung secara induktif dengan tiga tahap menggunakan forward algorithm yaitu [1,8, 9,10]: 1.
Inisialisasi
Haby Bagus Prasetyo et.al. Algoritma Pengenalan Ucapan ...
𝛼1 = 𝜋𝑖 𝑏𝑖 ( 𝑂1 ), 2.
154
1 ≤ 𝑖 ≤𝑁
(3)
Induksi 𝑛
𝛼𝑡+ 1(𝑗) = [∑ = 𝛼 𝑡( 𝑖)𝛼 𝑖𝑗] 𝑏𝑗 (𝑂𝑡+1) 𝑖 1 Dimana: 1 ≤ 𝑡 ≤ 𝑇 1 1≤𝑗 ≤𝑁
(4)
−
3.
Terminasi
𝑃(𝑂 | 𝜆) = ∑𝑖𝑁=1 𝛼 𝑇(𝑖) Kemudian 𝛽𝑡( 𝑖) dapat dihitung menggunakan algoritma backward sebagai berikut [1,8,9,10]: 1. Inisialisasi 𝛽𝑇( 𝑖) = 1, 1≤𝑖 ≤𝑁 2.
(5)
(6)
Induksi 𝑁 𝛽𝑡( 𝑖) = ∑𝑗 =1 𝛼 𝑖𝑗 𝑏𝑗 (𝑂𝑡+1) 𝛽𝑡+1( 𝑗)
(7)
Dimana: 𝑡 = 𝑇 1, 𝑇 2, , 1, 1 ≤ 𝑖 ≤ 𝑁 Yang perlu diperhatikan adalah perhitungan dengan algoritma forward dan backward dapat megnhasilkan nilai yang sangat kecil, misal untuk 𝛼𝑡(𝑖 ) cenderung 0 eksponensial saat T meningkat [8,9 ]. Hal ini perlu diperhatikan sebab nilai parameter yang sangat kecil dapat menyebabkan nilai tersebut dianggap nol dan jika digunakan sebagai faktor pembagi akan menghasilkan nilai yang sangat besar [1]. Maka dari itu digunakan scaling pada perhitungan parameter- parameter dalam model HMM sehingga diperoleh algoritma baru untuk menghitung 𝛼 𝑡( 𝑖) dan 𝛽𝑡 (𝑖) , yakni dengan penambahan faktor skala. Faktor skala ( 𝐶𝑡 ) yang digunakan adalah [1,8,9,10] : −
−
…
𝐶𝑡 =
1 ∑𝑁 𝛼 (𝑖) 𝑖= 1 ̂ 𝑡
(8)
Kemudian dilakukan re estimasi parameter HMM untuk mendapatkan model yang baru untuk menggantikan model sebelumnya. Nilai A, B dan 𝜋 dapat di estimasi menggunakan formula berikut [1,8,9,10 ]: -
-
𝛼 ̂ 1(𝑖)𝛽1(𝑖) ̂
𝜋𝑖 =
(9)
∑𝑁 𝛼 ̂ 𝑡 (𝑗) 𝑗=1
𝑇 1 −
∑
𝛼𝑖𝑗 =
̂𝑡+1( 𝑗) 𝛼𝑡 (𝑖)𝑎 𝑖𝑗𝑏 𝑗(𝑂𝑡+1)𝛽 ̂
𝑡= 1 𝑇 1 −
∑
𝑇
∑
(10)
̂𝑡+1( 𝑗) 𝛼 ̂𝑡 (𝑖)𝑎 𝑖𝑗𝑏 𝑗(𝑂𝑡+1)𝛽
𝑗= 1 𝑡 =1 𝑇 1 ∑= 𝛼 ̂ (𝑖 )𝛽̂𝑡 (𝑖)𝛿 (𝑂𝑡 , 𝑉 𝑘) 𝑡 1 𝑡 𝑇 1 ̂ 𝑡 (𝑖 ) ∑ = 𝛼 ̂ (𝑖)𝛽 𝑡 1 𝑡 −
𝑏𝑗 (𝑘 ) =
−
(11)
Keterangan 𝑁 : Jumlah state 𝑀: Jumlah dari simbol oberservasi tiap state 𝑎 : Distribusi peluang transisi antar state 𝑏 : Distribusi peluang simbol observasi 𝜋: Distribusi stat awal 𝑂: Observasi 𝑡: J umlah urutan Hasil dari reestimasi parameter HMM tersebut adalah nilai baru dari elemen -elemen matriks A, B, dan 𝜋. Iterasi pada saat melakukan reestimasi akan berhenti apabila iterasi tersebut sudah maksimal atau dapat menggunakan threshold peningkatan minimum (model baru tidak memberikan perubahan pada model sebelumnya). Setelah proses reestimasi selesai maka sistem akan menyimpan model 𝜆 = (𝐴, 𝐵 , 𝜋). Dari model yang didapatkan ini akan digunakan pada saat testing. Jumlah model yang disimpan nantinya akan sama dengan jumlah huruf yang dikenali.
Ind. Symposium on Computing
H.
Sept 2016
155
Evaluasi
Pada Tahap ini dilakukan pengujian terhadap sistem yang telah dibangun dengan beberapa sample suara yang berbeda dari data training. Pada tahap ini mencakup proses Preprocessing, Feature Extraction, Vector Quantization, pengenalan suara dan Output hasil pengenalan. Setiap data uji akan mengalami tahapan yang sama seperti data training yaitu Preprocessing, Feature Extraction, dan Vector Quantization hanya saja pada tahap testing, vector quantization yang dilakukan hanya penentuan indeks codebook, kemudian sistem akan mengambil data model 𝜆 = (𝐴, 𝐵, 𝜋) yang telah disimpan ketika proses training kemudian dilakukan proses recognition dengan menghitung likelihood dari deretan indeks hasil vector quantization terhadap semua model 𝜆 tersebut. Kemudian hasil (output) dari proses ini memberikan indeks dari model sinyal referensi yang memiliki kemiripan atau likelihood paling besar. Lalu indeks tersebut akan dicocokkan dengan database pada saat proses training tadi sehingga akan ditemukan indeks untuk mendapatkan hasil pengenalan yang sesuai dengan output berupa huruf yang sesuai. DESAIN SISTEM III. ini akan dirancangan sebuah sistem. Sistem yang dirancang adalah sistem yang Pada makalah dapat mengenali huruf hijaiyah sejumlah 28 huruf hijaiyah dan 6 harakat, berdasarkan input sinyal suara manusia. Secara umum terdapat dua proses yang dilakukan oleh sistem, yaitu proses training dan testing. Pada proses training akan dilakukan pelatihan dengan sample suara yang dimasukkan sehingga terbentuk model suara yang akan digunakan pada proses testing. Pada proses testing dimana sistem dapat mengenali satu atau beberapa input -an suara. Proses training dan testing secara garis besar sama, hanya yang membedakan adalah input dan output dari kedua proses tersebut. Proses training memerlukan inputan sejumlah sample suara yang akan di lakukan pelatihan pada sistem berdasarkan input -an suara tersebut untuk membentuk sebuah model huruf dan model yang didapat pada proses ini akan digunakan saat pengenalan suara pada proses testing. Sementara pada proses testing sistem hanya membutuhkan satu atau beberapa input an suara, kemudian suara input an tersebut akan dikenali oleh sistem dengan mencari nilai maximum- likelihood pada model yang sudah terbentuk pada proses training dan output dari proses testing adalah sebuah huruf yang paling sesuai dengan inputan. -
-
Gambar 4 Gambar an Umum Sistem
Berikut adalah pseudocode dari sistem yang digunakan pada makalah ini:
Haby Bagus Prasetyo et.al. Algoritma Pengenalan Ucapan ...
156
Data yang digunakan sebagai input an adalah huruf hijaiyah sejumlah 28 huruf hijaiyah dan 6 harakat, kemudian membagi data sebesar 70% untuk training dan 30 % untuk testing. Dilakukan normalisasi pada sample rate dan amplitudo. 2. 3. Dilakukan feature extreaction untuk mendapatkan feature vector dari suara dengan menggunakan algortima LPC. 4. Dilakukan vector quantization terhadap sejumlah feature vector untuk membentuk codebook . Pada proses clustering menggunakan K Means, s etelah proses ini jika suara tersebut data training maka akan masuk ke pembentukan model, jika suara tersebut data testing maka akan masuk pada pengenalan model HMM. 5. Untuk data training dilakukan classification untuk menghasilkan model huruf hijaiyah. Pada tugas akhir ini classifier yang digunakan adalah algoritma Hidden Markov Model (HMM). Model yang didapatkan akan digunakan sebagai classifier untuk data testing. 6. Untuk data testing setelah penentuan indeks codebook, dilakukan pengenalan suara huruf hijaiyah dengan Model HMM dari proses training digunakan sebagai acuan pada proses pengenalan model HMM. Kemudian pada proses testing menghasilkan hasil output berupa sebuah huruf yang paling sesuai dengan input an. Berikut adalah pseudocode dari sistem yang digunakan, mulai dari algoritma LPC, K Means, dan HMM. Berikut adalah p seudocode dari algoritma LPC yang digunakan ketika feature extraction [9] : 1. Input suara huruf hijaiyah yang sudah dinormalisasi . 2. Hitung nilai filter dari preempasize (12) ℎ(𝑧) = 1 𝑎 𝑧 1 0 ≤𝑎 ≤1 Dimana: 𝑎 = konstanta filter pre emphasize Hitung nilai sinyal suara hasil preempasize ̂( n) = 𝑥(𝑛) 𝑎 𝑥(𝑛 1) (13) 𝑥 Dimana: 𝑥 ̂ (n) = sinyal keluaran 𝑥(𝑛) = sinyal masukan 3. Inisialisasi nilai parameter frame blocking Dimana: M = jarak antar frame N = Jumlah sample tiap frame 4. Hitung fungsi windowing dengan hamming window: 1.
-
-
-
-
.
−
−
-
.
−
−
.
𝑤(𝑛) = 0. 54
−
0 . 46 cos(
2𝜋𝑛
) 0 ≤𝑛 ≤𝑁
𝑁 1
−
1
(14)
−
Dimana: N = jumlah sample pada setiap frame s(n) = sinyal keluaran x(n) = sinyal masukan w(n) = hamming windows Hitung nilai windowing sinyal berdasarkan hasil fungsi hamming window : 𝑆(𝑛) = 𝑥(𝑛) × 𝑤(𝑛) 0 ≤𝑛 ≤𝑁 1 5. Hitung nilai koefisien autokorelasi dari sinyal hasil windowing : 1 𝑚 𝑥 (𝑛)𝑥 (𝑛 + 𝑚) 𝑚 = 0 1,2, 𝑟𝑙 (𝑚) = ∑𝑁 ̂1 ̂1 ,𝑝 , 𝑛 =0 Dimana: 𝑟𝑙 (𝑚) = koefisien autokorelasi ke m pada frame ke t p = orde analisa LPC 6. Hitung koefisen analisis LPC: (𝑝) 𝑎𝑚 = 𝑎𝑚 ;1 ≤ 𝑚 ≤ 𝑝 −
−
−
…
-
(15) (16)
-
7. Konversi hasil analisis LPC menjadi set koefisien LPC: 𝑐𝑜 = l x n x 𝜎 2
(17)
(18)
Ind. Symposium on Computing
Sept 2016
𝑘 𝑐𝑚 = 𝑎𝑚 + ∑𝑘𝑚=11 ( ) 𝑐𝑘 𝑎𝑚 −
𝑐𝑚 =
𝑚 ∑𝑘𝑚=11 ( 𝑘 ) 𝑐𝑘 𝑎𝑚 𝑘 𝑚
𝑘
−
−
−
157
1 ≤𝑚≤𝑝
(19)
𝑚>𝑝
(20)
Dimana: 𝑐𝑚 = koefisien cepstral 𝜎 2 = gain model LPC 8. Hitung nilai window khusus untuk pembobotan parameter 𝜋𝑚 𝑤𝑚 = 1 + 𝑄 sin ( ) 1 ≤𝑚 ≤𝑄
.
2
(21)
𝑄
Lakukan pembobotan parameter pada set koefisien cepstral ĉ𝑚 = 𝑤𝑚 𝑐𝑚 1 ≤𝑚 ≤𝑄 Dimana: Q = orde set koefisien cepstral ĉ𝑚 = koefisien ceptral hasil pembobotan 𝑤𝑚 = nilai windowing 9. Diferensialkan set koefisien cepstral terhadap waktu
.
.
∆𝑐̂𝑚( 𝑡 ) =
𝜕 𝑐̂𝑚 (𝑡)
(22)
𝜕𝑡
10. Didapatkan feature hasil ekstraksi ciri dengan LPC
.
Kemudian dilakukan vector quantization dengan menggunakan algoritma K Means, berikut adalah pseudocode K Means [1] : 1. Tentukan jumlah cluster yang akan digunakan. 2. Masukkan data feature hasil LPC ke dalam cluster secara acak. 3. Hitung centroid/ titik pusat dari data pada masing masing cluster , dengan fungsi eucledian distance: -
-
-
(𝑗 ) ∑𝐾𝑗= 1 ∑𝑖𝑛=1 ‖𝑥 𝑖
𝐽= Dimana: J = fungsi objektif K = jumlah cluster n = jumlah data
−
𝑐𝑗 ‖
2
(23)
𝑥(𝑖 𝑗) = data ke i -
𝑐𝑗 = centroid dari cluster ke j 4. Masukkan data ke centroid/ titik pusat terdekat. 5. Apabila terdapat data yang masih berpindah cluster atau terdapat perubahan nilai maka kembali pada langkah (3). Jika tidak maka telah terbentuk codebook. -
Berikut adalah pseudocode dari algoritma Hidden Markov Model yang digunakan [1]: 1. Inisialisasi nilai dari parameter HMM yaitu A, B, dan 𝜋 2. Lakukan perhitungan untuk mencari nilai 𝛼𝑡 (𝑖) dan 𝛽𝑡(𝑖) dengan algoritma forward & backward Algoritma forward : Inisialisasi (24) 𝛼1 = 𝜋𝑖 𝑏𝑖 ( 𝑂1 ), 1 ≤ 𝑖 ≤𝑁 Induksi 𝑛 (25) 𝛼𝑡+ 1(𝑗) = [∑ = 𝛼 𝑡( 𝑖)𝛼 𝑖𝑗] 𝑏𝑗 (𝑂𝑡+1) .
.
𝑖 1
Dimana: 1 ≤ 𝑡 ≤ 𝑇 1 1≤ 𝑗 ≤𝑁 Terminasi 𝑃(𝑂 | 𝜆) = ∑𝑖𝑁=1 𝛼 𝑇(𝑖) Algoritma Bacward: −
(26)
Inisialisasi 𝛽 𝑇( 𝑖) = 1,
1≤𝑖 ≤𝑁
(27)
Haby Bagus Prasetyo et.al. Algoritma Pengenalan Ucapan ...
158
Induksi 𝑁 𝛽𝑡( 𝑖) = ∑𝑗 =1 𝛼 𝑖𝑗 𝑏𝑗 (𝑂𝑡+1) 𝛽𝑡+1 ( 𝑗)
(28)
Dimana: 𝑡 = 𝑇 1, 𝑇 2, … , 1, 1 ≤ 𝑖 ≤ 𝑁 𝑁 : Jumlah state 𝑀: Jumlah dari simbol oberservasi tiap state 𝑎 : Distribusi peluang transisi antar state 𝑏 : Distribusi peluang simbol observasi 𝜋: Distribusi stat awal 𝑂: Observasi 𝑡: Jumlah urutan 3. Update nilai parameter dari HMM 𝜆 = (𝐴, 𝐵 , 𝜋 ) 4. Lakukan pengecekan nilai parameter tersebut apakah sudah konvergen, jika belum kembali ke langkah (2) 5. Reestimasi parameter HMM untuk mendapatkan nilai model yang baru . −
−
.
.
𝜋𝑖 =
̂ 1(𝑖) 𝛼 ̂ 1(𝑖)𝛽 𝑁
(29)
∑𝑗=1 𝛼 𝑡 (𝑗) ̂
𝑇 1 −
∑
𝛼𝑖𝑗 = ∑
𝑏𝑗 (𝑘 ) =
̂𝑡 ( 𝑖)𝑎 𝑖𝑗𝑏 𝑗(𝑂𝑡+1)𝛽𝑡+1( 𝑗) 𝛼 ̂
𝑡= 1 𝑇−1
𝑇
∑
(30)
̂𝑡+1( 𝑗) 𝛼 ̂𝑡 (𝑖)𝑎 𝑖𝑗𝑏 𝑗(𝑂𝑡+1)𝛽
𝑗=1 𝑡 =1 𝑇 1 ∑ =− 𝛼 (𝑖 )𝛽̂𝑡 (𝑖)𝛿(𝑂𝑡 ,𝑉 𝑘) 𝑡 1 ̂𝑡 𝑇 −1 ̂ 𝑡 (𝑖 ) ∑ = 𝛼 (𝑖)𝛽 𝑡 1 ̂𝑡
(31)
IV. HASIL PENELITIAN Pada sistem yang telah dibangun ini, kemudian dilakukan beberapa skenario pengujian berdasarkan perancangan sistem yang telah dibangun, yaitu: Analisis pembagian data, analisis sample rate, analisis codebook dan state, analisis waktu training, dan analisis kompleksitas waktu. A. Analisis Pembagian Data Pada analisis yang pertama dilakukan beberapa skenario yang digunakan untuk mengolah data yang memiliki kelas yang cukup besar yaitu 168 kelas, kemudian melihat akurasi yang dihasilkan dari skenario pengolahan data. Pada skenario 1 semua suara dimasukkan dalam satu kelas, jadi hanya terdapat satu kelas training dan testing. Kemudian untuk skenario 2 membagi data menjadi dua kelompok, untuk kelompok pertama berisi pengucapan dengan tanda baca fathah, kasroh, dhomah, sedangkan untuk kelompok kedua berisi pengucapan fathahtain, kasrohtain, dhomahtain. Kemudian untuk skenario ketiga membagi data menjadi 6 kelompok berdasarkan tanda bacanya. Berikut merupakan hasil observasi pembagian data terhadap akurasi sistem: Tabel 1 Hasil akurasi rata rata berdasar jumlah kelas -
Skenario Kelompok 1 2
3
1 1 2 1 2 3 4 5 6
16 14.85% 22.22% 15.93% 27.38% 18.05% 26.78% 17.85% 25.59% 22.02%
Ukuran Codebook 32 64 128 26.79% 36.01% 39.12% 32.14% 44.37% 46.56% 22.28% 36.83% 40.60% 42.65% 52.97% 48.21% 34.52% 46.62% 47.02% 36.50% 48.01% 45.23% 30.95% 38.49% 41.46% 32.14% 42.06% 41.07% 27.57% 42.26% 44.84%
256 32.74% 35.05% 29.23% 36.50% 32.34% 29.36% 24.40% 33.53% 30.35%
Ind. Symposium on Computing
Sept 2016
159
Berdasarkan tabel 1 diatas, maka dapat dianalisis untuk skenario 1 akurasi maksimum pada saat testing didapatkan pada codebook 128 dengan akurasi rata rata 39.12%. Kemudian dilakukan skenario kedua dengan membagi data menjadi 2 kelompok untuk melihat apakah sistem dapat menghasilkan akurasi yang lebih baik ketika data dibagi menjadi 2. Pada skenario 2 pada kelompok 1 akurasi testing maksimum didapatkan pada codebook 128 dengan akurasi rata rata 46.56% dan untuk kelompok 2 didapatkan akurasi testing maksimum pada codebook 128 dengan akurasi 40.60%. Dari skenario kedua ini akurasi yang didapatkan mengalami kenaikkan, kemudian dilakukan lagi skenario ketiga untuk melihat akurasi berdasarkan tanda bacanya. Berdasarakan pengujian yang dilakukan untuk tanda baca fathah didapatkan akurasi testing maksimum pada codebook 64 dengan akurasi rata rata 52.97%, lalu untuk fathahtain dengan codebook 128 didapatkan akurasi rata - rata 47.02%, untuk kasroh dengan codebook 64 didapatkan akurasi rata rata 48.01%, lalu untuk kasrohtain dengan codebook 128 didapatkan akurasi rata rata 41.46%, kemudian untuk dhomah diapatkan akurasi maksimal dengan codebook 64 didapatkan akurasi rata rata 42.06% dan yang terakhir untuk dhomahtain didapatkan akurasi maksmimal pada codebook 128 dengan akurasi rata rata 44.84%. Dari ketiga skenario diatas dapat disimpulkan bahwa pengolahan data dan pemilihan jumlah data suara memiliki pengaruh terhadap akurasi yang didapatkan oleh sistem. Hal ini dimungkinkan karena adanya model yang memiliki kemiripan secara cepstral sehingga sistem salah dalam melakukan klasifikasi. Solusi agar mendapatkan akurasi yang baik dengan data yang besar adalah dengan menambah audio file di setiap model pada saat training. Sebab dengan semakin banyak data audio file maka deretan observasi pada saat training akan semakin banyak sehingga proses reestimasi parameter HMM akan semakin baik dan menghasilkan model yang optimal. Sehingga dengan model H MM yang optimal maka akurasi yang didapatkan akan semakin baik. -
-
-
-
-
-
-
B. Sample Rate Sample rate menunjukkan nilai sinyal audio yang diambil dalam satu detik ketika melakukan perekaman suara. Resampling merupakan proses untuk menormalisasi sample rate pada sinyal suara [1]. Resampling dilakukan agar nantinya semua sinyal berada dalam sample rate yang sama agar pada proses selanjutnya tidak terjadi perubahan sample rate pada setiap sinyal. Berikut adalah grafik hasil observasi perubahan nilai sample rate terhadap akurasi sistem dicontohkan dengan pelafalan dengan tanda baca fathah dan state 5:
Akurasi
60% 50% 40% 30% 20% 10% 0% 16
32
64
128
Codebook 12000
16000
44100
Gambar 5 Perbandingan sample rate terhadap akurasi
Gambar 5 menunjukkan nilai sample rate terhadap akurasi yang dihasilkan dapat disimpulkan bahwa sistem dapat mendapatkan akurasi terbaik dengan sample rate 16000Hz. Hal tersebut d apat terjadi karena sinyal dengan sample rate 12000Hz belum dapat menyimpan semua karakteristik suara yang dihasilkan oleh sistem dibandingkan dengan sample rate 16000Hz walaupun tidak berbeda jauh, kemudian ketika nilai sample rate dirubah menjadi 44100Hz sistem juga tidak dapat memberikan hasil yang lebih baik dari pada sample rate 16000Hz. Hal ini juga menandakan bahwa dengan sample rate yang lebih besar belum tentu membuat akurasi sistem meningkat, selain itu juga karena dengan nilai sample rate yang tinggi jumlah representasi bit nya pun akan semakin banyak dan ini membuat sistem kesulitan untuk memodelkan sebuah ucapan, sehingga menghasilkan akurasi yang lebih buruk serta waktu komputasi yang lebih lama -
Haby Bagus Prasetyo et.al. Algoritma Pengenalan Ucapan ...
160
[1]. Selain itu sample rate terbaik yang digunakan untuk pengenalan suara manusia adalah berada pada 8000Hz-20000Hz [1, 8]. Maka dapat disimpulkan untuk kasus ini sample rate 16000Hz adalah nilai terbaik. C. Analisis Codebook dan State
Akurasi
Berikutnya dilakukan analisis codebook dan state yang digunakan. Untuk ukuran codebook dan state tidak ada patokan pasti, sehingga pada tugas akhir ini digunakan codebook dengan ukuran 16, 32, 64, 128, dan 256 sedangkan untuk jumlah state 3, 4, 5, 6 dan 7. Berikut adalah hasil pengukuran codebook dan state dengan kelas 168 yang digunakan: 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
testing training
16
32
64
128
256
Ukuran Codebook Gambar 6 Hasil akurasi training dan testing skenario 1
Berdasarkan Gambar 6 dapat dilihat bahwa akurasi testing tertinggi didapat dengan nilai 40.87% dengan codebook 128 dengan jumlah kelas yang di training dan testing 168 kelas dan akurasi terendahnya 15.48% dengan codebook 16. Dapat dilihat juga bahwa dengan peningkatan ukuran codebook maka akurasi yang didapat cenderung mengalami peningkatan, namun perlu diperhatikan juga bahwa dengan ukuran codebook yang terlalu besar justru membuat codebook menjadi tidak baik, maksudnya terdapat kemungkinan bahwa beberapa titik yang seharusnya berada dalam satu cluster , namun karena batasan yang terlalu banyak, titik -titik tersebut menjadi terpisah [1]. Dapat dilihat pada tabel diatas dengan codebook 256 yang cenderung menghasilkan akurasi yang menurun. Sedangkan untuk akurasi training nilai yang dihasilkan selalu mengalami kenaikan, hal ini dapat terjadi sebab sistem dapat mengenali huruf dengan sangat baik. Berikutnya adalah pengaruh codebook dari skenario 84 kelas, pada skenario ini dalam 1 kelompok terdapat 3 pengucapan tanda baca huruf hijaiyah. Kelompok pertama berisi pengucapan fathah, kasroh, dhomah dan kelompok 2 fathahtain, kasrohtain, dhomahtain, berikut adalah hasil akurasi yang didapatkan dari skenario 84 kelas:
Ind. Symposium on Computing
Sept 2016
161
Akurasi
100% 90% 80% 70% 60%
testkelompok1
50% 40%
testkelompok2 trainkelompok1
30% 20%
trainkelompok2
10% 0% 16
32
64
128
256
Ukuran Codebook Gambar 7 Hasil akurasi testing dan training skenario 84 kelas
Berdasarkan Gambar 7 diatas didapatkan akurasi testing tertinggi yaitu 48.21% pada codebook 128 terdapat pada kelompok 1. Sedangkan untuk akurasi training , masih sama seperti skenario 168 kelas, akurasi yang dihasilkan selalu mengalami kenaikan nilai. Dibandingkan dengan skenario 168 kelas, dengan 84 kelas sistem cenderung memberikan hasil yang lebih baik. Berikutnya dilakukan skenario ketiga, yaitu data dibagi menjadi 6 kelompok berdasarkan tanda bacanya. Maka dalam 1 kelompok hanya terdapat satu tanda baca dan terdiri dari 28 kelas. Berikut adalah akurasi yang dihasilkan dari skenario 28 kelas: 60% 50% kelompok1
Akurasi
40%
kelompok2
30%
kelompok3
20%
kelompok4
10%
kelompok5
0%
kelompok6 16
32
64
128
256
Ukuran Codebook Gambar 8 Hasil akurasi testing skenario 28 kelas
Berdasarkan Gambar 8, dapat dilihat bawah sistem cenderung memberikan hasil akurasi yang lebih baik lagi, dibandingkan dengan skenario 168 dan 84 kelas. Pada skenario 28 kelas akurasi tertinggi didapatkan kelompok 1 dengan 58.93% dengan ukuran codebook 64.
Haby Bagus Prasetyo et.al.
Akurasi
Algoritma Pengenalan Ucapan ...
162
100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
kelompok1 kelompok2 kelompok3 kelompok4 kelompok5 kelompok6 16
32
64
128
256
Ukuran Codebook Gambar 9 Hasil akurasi training skenario 28 kelas
Akurasi
Sedangkan untuk hasil akurasi training dapat dilihat pada Gambar 9, pada grafik tersebut akurasi training yang dihasilkan cenderung mengalami kenaikan sebanding dengan ukuran codebook yang semakin besar. Hal ini menunjukkan bahwa sistem dapat mengenali data training dengan sangat baik. Berikutnya akan dilihat pengaruh jumlah state terhadap akurasi yang dihasilkan, diambil dari skenario 168 kelas. Pada pengujian ini jumlah state yang digunakan adalah 3, 4, 5, 6, dan 7. Berikut adalah penagruh jumlah state terhadap akurasi yang dihasilkan: 100% 90% 80% 70% 60% 50% 40% 30% 20% 10%
training testing
3
4
5
6
7
Jumlah State Gambar 10 Pengaruh Jumlah State terhadap akurasi
Berdasarkan grafik pada Gambar 10 terlihat bahwa jumlah state tidak begitu berpengaruh terhadap akurasi yang dihasilkan oleh sistem, baik dalam akurasi testing maupun akurasi training . Peningkatan nilai akurasi yang dihasilkan tidak terlalu besar. Hal ini menandakan bahwa jumlah state tidak terlalu berpengaruh terhadap akurasi sistem. Berdasarkan skenario diatas dapat disimpulkan bahwa dengan peningkatan ukuran codebook cenderung membuat hasil akurasi testing mengalami peningkatan juga namun dengan nilai codebook yang terlalu besar juga dapat menghasilkan nilai akurasi yang tidak terlalu baik, maksudnya terdapat kemungkinan bahwa beberapa titik yang seharusnya berada dalam satu cluster , namun karena batasan yang terlalu banyak, titik titik tersebut menjadi terpisah [1]. Tetapi untuk peningkatan state tidak terlalu berpengaruh terhadap akurasi yang dihasilkan oleh sistem. Berbeda dengan akurasi training, untuk akurasi training selalu mengalami kenaikan pada ketiga skenario diatas, hal ini menunjukkan bahwa sistem yang dibuat dapat mengenali data training dengan sangat baik. -
D. Analisis Waktu Training
Ind. Symposium on Computing
Sept 2016
163
Pada skenario 4 dilakukan analisis terhadap waktu training yang digunakan. Pada pengujian kali ini dilakukan pengujian pengaruh ukuran codebook terhadap waktu training , untuk mengetahui seberapa lama waktu yang dibutuhkan untuk melatih sistem. Berikut adalah grafik pengaruh codebook terhadap akurasi: 2000 1800 1600
second
1400 1200 1000 800 600 400 200 0 16
32
64
128
256
Ukuran Codebook Gambar 11 Pengaruh Codebook terhadap waktu
Berdasarkan Gambar 11 dapat dilihat bahwa ukuran codebook berpengaruh terhadap waktu training yang dihasilkan. Pada grafik diatas semakin besar ukuran codebook yang dipilih maka waktu training yang dibutuhkan oleh si stem akan semakin lama, hal ter sebut dapat terjadi sebab ukuran codebook yang dipilih juga menentukan banyak iterasi yang akan dijalankan oleh sistem sehingga memiliki pengaruh terhadap waktu yang digunakan oleh sistem untuk melakukan training E. Analisis Komplesitas Waktu .
Pada skenario berikutnya dilakukan analisis waktu kompleksitas yang dihasilkan oleh sistem. Dilakukan dengan menghitung nilai T(n) untuk tiap algoritma dari LPC, K Means, dan HMM. Berikut adalah hasil perhitungannya: Untuk LPC: 𝑇 = ( 𝑄 1) ∗ 240 ∗ 𝑛 Dengan: Q = koefisien cepstral Untuk K-Means: 𝑇 = 𝑛 ∗ 𝑚𝑎𝑥𝐼𝑡𝑒𝑟𝑎𝑠𝑖 Untuk HMM: -
−
𝑇 = (((𝑛 − 1) ∗ 𝑛) + (2𝑛 2 − 2𝑛)) ∗ 𝑛) Kemudian dilakukan penggabungan ketiganya, maka didapatkan: 𝑇𝑛 = (( 𝑄 − 1) ∗ 240 ∗ 𝑛) + (𝑛 ∗ 𝑚𝑎𝑥𝐼𝑡𝑒𝑟𝑎𝑠𝑖) + (3𝑛 3 − 3𝑛 2) ∈ 𝑂(𝑛 3) Berdasarkan perhitungan diatas maka dapat disimpulkan untuk kompleksitas waktu dari sistem yang telah dibuat adalah 𝑂 (𝑛3 ) .
V. KESIMPULAN Berdasarakan analisis dan pengujian yang telah dilakukan dapat diberikan beberapa kesimpulan,yaitu: Sistem pengenalan ucapan huruf hijaiyah menggunakan Linear Predicitive Coding dan Hidden Markov Model yang telah dibangun dengan akurasi tertinggi yang didapatkan untuk data berukuran 168 kelas 40.87%, untuk data berukuran 84 kelas 48.21% dan untuk data berukuran 28 kelas adalah
Haby Bagus Prasetyo et.al. Algoritma Pengenalan Ucapan ...
164
58.93%. Kemudian ukuran codebook yang digunakan memiliki pengaruh besar terhadap akuasi yang dihasilkan oleh sistem, semakin besar codebook yang digunakan maka akan berbanding lurus dengan akurasi yang didapatkan, namun yang perlu diperhatikan apabila ukuran codebook terlalu besar juga belum tentu menghasilkan akurasi yang baik. Selain itu untuk akurasi training semakin besar ukuran codebook maka akurasi yang dihasilkan semakin besar juga, hal ini menandakan sistem dapat mengenali data training dengan sangat baik. Pada makalah ini nilai akurasi yang cukup stabil didapatkan pada ukuran codebook 64 dan 128. Kemudian peningkatan jumlah state tidak selalu membuat akurasi yang dihasilkan menjadi lebih baik, dengan kata lain jumlah state tidak terlalu berpengaruh terhadap hasil akurasi sistem. Selain itu jumlah ukuran codebook berpengaruh terhadap waktu yang dibutuhkan sistem dalam melakukan training. Serta pengolahan data suara dan pemilihan jumlah data suara memiliki pengaruh terhadap hasil akurasi yang didapatkan oleh sistem. REFERENCES [1]
[2]
[3] [4]
Fauzi, R.M.;Adiwijaya;Maharani, W.,2016, The Recognition of Hijaiyah Letter Pronunciation using Mel Frequency Cepstral Coefficients and Hidden Markov Model, Indonesia, Proceeding of International Conference on Data , Internet & Education Technologies. H. Fandy.H.;Suyanto.;T. Iwan.I.,2011, Pengenalan Sinyal Suara Pada SpeechTo Text Menggunakan Linear Predictive Coding (LPC) Dan Hidden Markov Model (HMM),Fakultas Informatika, Universitas Telkom. Juang. B.H.;Rabiner. L.R.,1991, Hidden Markov Models for Speech Recognition, Amerika, Technometrics. Wisesty. U.N.;Adiwijaya . Thee. H.L.,2012, Indonesian Speech Recognition System Using Discriminant Feature Extraction – Neural Predicitive Coding(DFE NPC) and Probabilistic Neural Network, Indonesi a, Cyberneticscom.DOI:10.1109/CyberneticsCom.2012.6381638. Rabiner. L.R.;Juang. B.H.,2006, Speech Recognition: Statistical Methods, Amerika, Elsevier Ltd. Shrawankar. U.;Thakare. V.,2013, Techniques For Feature Extraction In Speech Recognition System : A Comparative Study,Computer Science & Enggineering,SGB Amravati University. Yulita I.N.; Thee. H.L.;Adiwijaya.,2011, Fuzzy Hidden Markov Models For Indonesian Speech Classification,Indonesia, World Congress of International Fuzzy Systems Association 2011 and Asia Fuzzy Systems Society International Conference 2011. ISBN: 978 602 99359 0 5 Rabiner.L.R.;Juang.B.H., 1993, Fundamental Of Speech Recognition, Amerika, Prentice Hall International, Inc. Rahman, Y.H.:Adiwijaya:Maharani W.,2012 , Pengenalan Huruf Hijaiyah Berbasis Speech Recognition Menggunakan Hidden Markov Model(HMM), Fakultas Informatika, Universitas Telkom. Rabiner. L.R.,1989, A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition,Amerika,IEEE . Wisesty. U.N.; Adiwijaya .; Astuti W.,2015,Feature Extraction Analysis on Indonesian Speech Recogniton System,Indonesia, ICoICT. DOI:10.1109/ICoICT.2015.7231396 -
-
[5] [6] [7]
-
[8] [9]
[10] [11]
-
-
-
-