Pengenalan Dialek Surabayan Berbasis Akustik Menggunakan Backpropagation Henggar Budiman1, Mauridhi Hery Purnomo2., Moch.Hariadi3 1
EEPIS ITS Surabaya Indonesia, Email:
[email protected] 2 Electrical Engineering Department, Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia. Email:
[email protected] 3 Electrical Engineering Department, Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia. Email:
[email protected]
Abstrak Dialek adalah bahasa sekelompok masyarakat yang tingal di suatu daerah tertentu. Perbedaan dialek di dalam sebuah bahasa ditentukan oleh letak geografis atau daerah kelompok pemakainya. Karena itu disebut dialek geografis atau dialek regional. Dialek juga merupakan bagian yang berharga dari suatu bahasa yang dapat berfungsi sebagai pengenal seseorang. Khusus untuk dialek di regional Surabaya, sampai saat ini belum diketahui parameter yang digunakan untuk menguji apakah dialek yang digunakan seseorang itu adalah dialek Surabayan atau bukan Surabayan. Berdasarkan realitas tersebut maka pada penelitian ini dibuatlah suatu sistem Pengenalan Dialek Surabayan (PDS) menggunakan backpropagation. PDS yang dikembangkan ini menggunakan elemen dasar penuturan dari pengucapan kalimat yang dilakukan oleh seseorang yang berjenis kelamin pria dengan rentang usia berkisar 20 sampai 50 tahun. Penuturan dialek Surabayan dari pengucapan kalimat yang di ucapkan oleh seseorang tersebut pengambilan cirinya didasarkan pada ciri frekuensi formant. Beberapa penuturan dialek Surabayan dan bukan dialek Surabayan digunakan sebagai data training untuk membentuk model memakai backpropagation. Model yang dihasilkan digunakan sebagai alat tes terhadap data blind. Dari percobaan yang dilakukan, PDS ini mencapai ketelitian rata-rata antara 90,63%. Kata kunci: recognition, dialek, JST, Surabayan. 1. Pendahuluan Dialek adalah bahasa sekelompok masyarakat yang tinggal di suatu daerah tertentu. Perbedaan dialek di dalam sebuah bahasa maka ditentukan oleh letak geografis atau region kelompok pemakainya. Karena itu dialek disebut dialek geografis atau dialek regional. Budi Herusatoto, dalam bukunya yang berjudul Banyumas: sejarah, budaya, bahasa dan watak (2008), membagi bahasa Jawa menjadi empat jenis dialek seperti skema pada Gambar 1. Beberapa studi telah menjelaskan bahwa dialek merupakan bagian yang berharga dari suatu bahasa yang dapat berfungsi sebagai pengenal seseorang berdasarkan letak geografi. Berdasarkan realitas tersebut maka pada
Gambar 1. Skema Dialek-dialek dalam bahasa Jawa [1]
penelitian ini dibuatlah suatu sistem PDS (Pengenalan Dialek Surabayan) dengan pendekatan akustik yang selama ini di Indonesia belum ada. PDS yang dikembangkan ini menggunakan elemen dasar voiced dari pengucapan kalimat yang dilakukan oleh seseorang yang berjenis kelamin pria dengan rentang usia berkisar 35-50 tahun. Adapun pengambilan cirinya didasarkan pada ciri akustik frekuensi formant. Ada beberapa peneliti yang sudah melakukan penelitian tentang dialek bahasa. Diantaranya Gang Liu, Yun Lei dan John H.L. Hansen, pada tahun 2010 membuat penelitian yang berjudul : Dialect identification : Impact of Differences between read versus spontaneous speech, menyimpulkan bahwa karakteristik akustik penuturan yang spontan dan penuturan membaca adalah berbeda. Dialek Surabaya adalah salah satu dialek bahasa Jawa yang dituturkan oleh masyarakat yang berada di daerah surabaya dan sekitarnya. Salah satu ciri dialek surabaya ini adalah penuturan beberapa huruf pada suatu kata yang berbeda dengan penuturan aslinya dan tidak merubah makna kata itu. Huruf ‘i’ dibaca dan dituturkan sebagai ‘é’ yang terjadi pada beberapa kata dan tidak merubah arti kata itu. Misalnya kata ‘pitik’ yang dituturkan péték (dari kata “sate”) pada dialek surabaya ini berarti ayam. Contoh lain adalah kata kikil, yang merupakan nama suatu makanan sering dituturkan menjadi ‘kékél’ (dari kata “sate”). Ciri lain adalah penuturan huruf u yang dituturkan sebagai ‘o’, misalnya pada kata “putih” dan “mulih”. Kata “putih”, pada dialek surabaya dituturkan sebagai ‘poteh’ (dari kata “toko”), dan kata “mulih” akan dituturkan ‘ moleh’. (dari kata “toko”).
2. Analisa LPC Analisa LPC, adalah untuk memprediksi setiap nilai sinyal x [n] oleh nilai-nilai sample sebelumnya dalam satu frame, yaitu x [n - 1], x [n - 2], ..., x [n - K]. Dengan anggapan bahwa nilai yang diprediksi x[n] adalah jumlahan secara linier terhadap nilai-nilai sebelumnya, maka dapat dituliskan :[5],[6]
JST terdiri dari sejumlah elemen pemroses yang dinamakan neuron atau node. Ada tiga tipe neuron (node), yaitu input, hidden dan output. Setiap relasi menghubungkan node-node ini dengan bobot tertentu, serta terdapat tanda panah yang menyatakan arah proses.
x[n] = α.1 x[n-1] + α.1 x[n-1] + . . . . .α.1 x[n-K] …. (1) x[n] =
∑αk.x[n − k ] K
..................
(2)
k =1
ak = 1,... K adalah koefisien LPC, atau koefisien prediksi. Nilai ak , pada awalnya tidak diketahui, untuk itu dilakukan estimasi nilai kesalahan untuk setiap nilai n sebagai berikut : [5],[6]
e[n ] = x[n ] − x[n ] ^
= x[n ] − ∑ α k x[n − k ] K
x[n ] = ∑ α k x[n − k ] + e[n ] ..................................... (3) k =1
[]
e n adalah kesalahan prediksi. Dalam bidang z, persamaan (3) ini dapat ditulis: K
X [z ] = ∑ α k z −1 X [z ] + E [z ] ................................... (4) 1
Persamaaan (4) ini memiliki transfer function :
H [z ] =
X [z ] = E [z ]
1 K
1 − ∑α k z
= −1
1 .................... (5) A[z ] ...
k =1
Frekuensi formant dapat dicari dengan mencari terlebih dahulu akar-akar polinomial. Pada setiap frame sinyal, dicari koefisien LPC α , kemudian dicari nilai pole dari
[]
persamaan (2-11), dengan membuat 1/ A z = 0 . Bila z pada persamaan (2-11) merupakan bilangan kompleks, maka pole dapat ditentukan sebagai :
z = r0 e
(α + jω p )
............................................................ (6)
ωp .............................................................. (7) f = f s 2π f s = frekuensi sampling f = frekuensi formant r0 = magnitude pada frekuensi f 3. Jaringan saraf tiruan Sistem JST melakukan pemrosesan informasi menggunakan teknik pelatihan (training) dalam rangka proses pengenalan pola (recognition), serta menentukan keputusan.
Gambar 2. Jaringan saraf tiruan dengan tiga layer
Node input merupakan layer pertama dalam JST. Secara umum, setiap input mereprentasikan besaran-besaran atau parameter yang akan diolah, seperti umur, suhu atau kuantisasi lainnya. Hidden node merupakan node yang ada di tengah. Hidden node ini menerima input dari input node pada layer pertama, atau hidden node dari layer sebelumnya. Hidden node mengkombinasikan semua input berdasarkan bobot dari hubungan pada tingkat layer sebelumnya, melakukan perhitungan dan memberikan hasilnya pada layer berikutnya. Node Output, umumnya merupakan besaran yang diprediksi dan akan merupakan bilangan floating 0 dan 1. Mengaktifkan jaringan saraf tiruan berarti meng aktifkan semua neuron pada jaringan. Ada bermacammacam fungsi pengaktif seperti fungsi step, impuls, dan sigmoid. Ada dua macam fungsi sigmoid, fungsi sigmoid unipolar dan fungsi sigmoid bipolar. Dalam penelitian ini, dipakai fungsi sigmoid seperti persamaan (8). f(x) =
1 – e-x 1 + e-x
........................................................... (8)
4. Metodologi Tahap awal yang dilakukan adalahdengan merekam langsung penuturan 40 orang pria dewasa, dengan rincian 30 orang pria dewasa warga asli Surabaya dan sekitarnya dan 10 orang pria dewasa warga kota lain selain Surabaya sebagai pembanding. Hasil rekaman diolah untuk mendapatkan perbedaan ciri antara penuturan dialek surabayan dan bukan surabayan. Analisa selanjutnya menggunakan metode confusion matrix yaitu untuk mengidentifikasi kelompok surabayan dan bukan surabayan, untuk diketahui seberapa besar tingkat kesalahan nya dengan mencocokkan hasil output dari sistem yang dibuat. 4.1. Pemilihan kosa kata Andreas Maier membuat penelitian dengan judul “On the Automatic Classification of Reading Disorders”, yang meneliti gangguan dan kesalahan baca pada anak-anak di Jerman. Untuk mengukur tingkat gangguan dan tingkat kesalahan baca itu digunakan
PENGEDITAN SINYAL WICARA
PEREKAMAN SINYAL WICARA
x(n)
Sinyal akustik
mikropon
PENYIMPANAN DATA WICARA (+) dan (-)
x(t)
Gambar 3. Proses Pengambilan data
materi uji yang sudah dibakukan, yaitu berupa bacaan yang berisi 196 kosa kata. Sehingga untuk membedakan dialek Surabayan dari dialek lainnya, maka harus ada materi uji juga, seperti yang sudah dilakukan di Jerman. Materi uji PDS ini dilakukan dengan menggunakan empat buah kata, yaitu “pitik”, “mulih”, “kikil” dan “putih”. Pemilihan kata-kata ini didasarkan pada kenyataan bahwa penutur yang berdialek Surabayan akan menuturkan kata-kata itu kedengarannya berbeda dari dialek bukan Surabayan.
Tabel 1. Penuturanan dialek Surabayan
output
penuturan
dari kata
1
pitik
péték
sate
2
mulih
moléh
toko
3
kikil
kétél’
sate
4
putih
potéh
toko dan sate
y t (n )
y (n )
x (n ) Preemphasis
Pembentukan frame
Pembelajaran data
model
identifikasi
text
4.3. Proses pengolahan data Proses ini ditunjukkan pada gambar 4, yang meliputi proses pre-emphasis, pembentukan frame, windowing dan ekstraksi ciri. Pre-emphasis bertujuan untuk menaikan level sinyal pada frekuensi tinggi. Pre-emphasis yang digunakan memiliki slope +6 dB/oktaf. Pembentukan frame adalah pembagian sinyal wicara menjadi beberapa cuplikan data. Durasi satu frame
4.2. Pengambilan data Pengambilan data dan editing dilakukan dengan menggunakan komputer jinjing (laptop). Data wicara diperoleh dengan merekam suara warga asli dan menetap di wilayah dialek Surabayan, serta warga lain selain warga Surabaya. Warga-warga ini diminta untuk membaca sebuah teks kalimat yang mengandung katakata “pitik”, “mulih”, “kikil” dan “putih”. Proses pengambilan data ini ditunjukkan pada gambar 3.
Pembacaan data wicara (+) dan (-)
no
NET
x l (n ) windowing
F1 F2
Ekstraksi ciri
target f1 f2
Pembacaan data wicara BLIND
Preemphasis
X (n )
Pembentukan frame
Y (n )
Ekstraksi ciri
windowing
Yt (n )
X l (n )
Gambar 4. Blok diagram ekstraksi ciri hingga identifikasi
Pengeditan sinyal wicara pada Gambar 3 adalah untuk mengambil sinyal wicara satu kata yang berada didalam sebuah kalimat, kemudian menormalisir level amplitudonya dan menyimpannya kembali menjadi file baru. Penyimpanan ini dilakukan dengan memilah-milah data yang berasal dari dialek Surabayan dan dialek lainnya, yaitu dengan cara uji dengar. Data penuturan dialek Surabayan adalah seperti pada Tabel 1 dan digolongkan sebagai data true Penuturan selain seperti pada Tabel 1 ini adalah bukan dialek Surabayan dan digolongkan sebagai data false. Jadi jumlah data seluruhnya untuk tiap penuturan adalah 40 data.
yang digunakan adalah 20 mili detik, dengan overlapping 10 mili detik. Windowing, yaitu melakukan fading di awal dan di akhir tiap blok. Proses ini diperlukan karena akibat proses frame blocking pada tahap sebelumnya, akan terjadi diskontinyuitas pada awal dan akir tiaptiap blok, yang akan menyebabkan interfrensi dengan sinyal yang akan diproses. Fungsi windowing yang dipergunakkan adalah fungsi Hanning, yang dapat membuat level sinyal di awal dan di akhir frame menjadi nol. Proses ekstraksi ciri yang dimaksud adalah proses pengambilan frekuensi formant 1, 2 dan 3 dari sinyal.
frekuensi formant 2 (Hz)
Verifikasi penuturan kata “pitik” untuk seluruh data yang ada dengan cara pemetaan frekuensi formant 1 vs frekuensi formant 2 ditunjukkan pada Gambar 5. Tampak bahwa penuturan ‘péték’ dan ‘pitik’ pada peta Gambar 5 memiliki lokasi yang berbeda, sehingga memungkinkan kedua penuturan ini dapat dipisahkan pada tahap selanjutnya
30 data True
10 data False
15 data True
DF1
DT2
DT1
+ péték o pitik
5 data False
15 data True
5 data False
DF2
Gambar 7. Skema pembagian data untuk pengujian
Dengan menyilangkan kelompok-kelompok tersebut, maka akan diperoleh empat grup data yang masingmasing disimpan dalam satu folder, yaitu : 1. Grup-1, berisi : DT1 + DF1 (15 data true + 5 data false). 2. Grup-2, berisi : DT1 + DF2 (15 data true + 5 data false). 3. Grup-3, berisi : DT2 + DF1 (15 data true + 5 data false). 4. Grup-4, berisi : DT2 + DF2 (15 data true + 5 data false). Frekuensi formant 1 (Hz)
Gambar 5. Peta penyebaran frekuensi formant 1 vs formant 2 untuk 30 orang penutur yang menuturkan ‘pé té k’ dan 10 orang penutur yang menuturkan ‘pi ti k’
4.4. Pengenalan dialek Surabayan. Dalam tahap ini dilakukan proses training data menggunakan JST Backpropagation seperti pada gambar 6. Sebagai inputnya adalah frekuensi formant 1
Tabel 2. Lipatan pengujian
Lipatan 1 Lipatan 2 Lipatan 3 Lipatan 4
Data.training
Data.penguji
Group 1, berisi (DT1 + DF1) Group 2, berisi (DT1 + DF2) Group 3, berisi (DT2 + DF1) Group 4, berisi (DT2 + DF2)
Group 4, berisi (DT2 + DF2) Group 3, berisi (DT2 + DF1) Group 2, berisi (DT1 + DF2) Group 1, berisi (DT1 + DF1)
Langkah-langkah untuk melakukan training data dengan menggunakan JST adalah : 1. Menentukan, lipatan yang akan dilakukan training data sesuai Tabel 2. 2. Pemberian nilai target sesuai urut-urutan file dalam grup, yaitu pemberian target 1 untuk input 1 s-d 15 dan target 0 untuk input 16 s-d 20. 3. Learning rate ditentukan sebesar 0,01 4. Training dilakukan dengan jumlah node pada hidden layer adalah 30 dan error training diambil sebesar 10-5. Gambar 6. JST backpropagation untuk training data
dan 2 yang diperoleh dari tahap sebelumnya untuk penuturan kata “pitik”. Targetnya adalah penutur yang menuturkan ‘péték’ diberi nilai 1, dan yang menutur kan selain ‘péték’ diberi nilai 0. Dari 40 data yang ada, 30 data diantaranya menuturkan ‘péték’ dan 10 data menuturkan selain ‘péték’. Untuk validasi silang, maka 30 data yang menuturkan ‘péték’ yang dianggap penuturan yang benar dipecah menjadi dua kelompok, masing-masing berisi 15 data dan diberi nama DT1 (Data True 1) dan DT2 (Data True 2). Sedangkan 10 data yang dituturkan selain ‘péték’ juga dipecah menjadi dua kelompok dengan nama DF1 (Data False 1) dan DF2 (Data False 2). Masing-masing kelompok ini berisi 5 data. Pengelompokan ini dapat dilihat pada gambar 7
5. Pengujian Masing-masing lipatan pengujian untuk penuturan kata “pitik” ini akan menghasilkan sebuah table confusion matrix sebagai berikut : Tabel 3 Hasil pengujian lipatan 1
Tabel 4, Hasil pengujian lipatan 2
true (15) false (5) positip negatip
15
0
0
5
Tabel 5, Hasil pengujian lipatan 3
true (15) false (5) positip negatip
13
0
2
5
0
2
5
Tabel 6 Hasil pengujian lipatan 4
true (15) false (5) positip negatip
13
true (15) false (5) positip negatip
13
1
2
4
Pada pengujian lipatan 1, dari 15 data true yang diuji, yang dapat dikenali sebagai data positip sebanyak 15 data. Selanjutnya dari 5 data false, yang dapat dikenali 5 data. Sehingga dari 20 data yang diuji, terjadi kesalahan sebanyak nol data. Ketelitian yang dapat dicapai 100%. Pengujian kelipatan 2, 3 dan 4 masing-masing memberikan ketelitian 90%, 90%, and 85%, sehingga ketelitian rata-rata adalah (100%+90%+90%+85%)/4 = 91,25% 6. Kesimpulan Pengenalan dialek surabayan ini dilakukan dengan mengekstraksi formant 1 dan 2 pada sinyal wicara dialek Surabayan dan bukan Surabayan. Hasil ekstraksi kedua dialek tersebut dibandingkan dengan menggunakan backpropagation. Ketelitian rata-rata model yang diuji dengan menggunakan kata-kata “pitik”, “mulih”, “kikil” dan “putih” sebesar (91,25% + 93,75% + 88,75% +88,75%)/4 = 90,63%. Dengan ketelitian sebesar 90,63% ini, maka model dapat digunakan untuk membedakan dialek Surabayan dan bukan Surabayan. 7. Pengembangan 1. Karena belum ada kosa kata yang tepat yang dapat membedakan dialek Surabayan dengan dialek lainnya, maka keterlibatan ahli bahasa dalam bentuk penelitian sangat diperlukan. 2. Intonasi penuturan satu kalimat penuh akan terdengar berbeda antara dialek satu dengan lainnya. Misalnya pada kalimat “aku arep mulih” yang dituturkan seseorang berdialek Madiunan akan berbeda dengan yang dituturkan seseorang yang berdialek Yogyakartan; meskipun tiap kata dalam kalimat itu dituturkan sama oleh penutur kedua dialek tersebut. Sehingga penelitian ini dapat dikembangkan untuk penelitian satu kalimat Daftar pustaka [1]
Budiono Herusatoto, “Banyumas: sejarah, budaya, bahasa dan watak”, LKIS Yogyakarta, 2008.
[2]
Miles ,David, Huber Robert E. Runstein, “Modern Recording Techniques”, Elsevier Inc., 2010
[3]
Rabiner, L B.H. Juang, “Fundamental of Speech Recognition”, Prentice Hall International, Inc.,1993
[4]
David M. Harrison , “Sampling and Windowing”, 1999
[5]
Saeed V. Vaseghi, “Advanced Digital Signal Processing and Noise Reduction”, John Wiley & Sons Ltd, 2006.
[6]
Roy C. Snell, Fausto Milinazzo, ’Formant location from LPC analysis data’, IEEE Trans. on Speech and Audio Proc., Vol.1, n.2, Apr 1993
[7]
Hery Purnomo, Mauridhi, Agus Kurniawan (2006), “Supervised Neural Networks”, Graha Ilmu.
[8]
G. Várallyay, “Acoustic analysis of the infant cry: classical and new methods”, Proceedings of the 26th Annual International Conference of the IEEE EMBS San Francisco, CA, USA • September 1-5, 2004.
[9]
Gang Liu, Yun Lei, John H.L. Hansen, “Dialect identification : Impact of Differences between read versus spontaneous speech”, CRSS: Center for Robust Speech Systems, Erik Jonsson School of Engineering and Computer Science, University of Texas at Dallas, Richardson, Texas 75083, USA.
[10] Maier Andreas, “On the Automatic Classification of Reading Disorders”, Lehrstuhl für Mustererkennung (Informatik 5), Friedrich-Alexander Universität Erlangen Nürnberg, Martensstr.3, 91058 Erlangen, Germany.