Langsung ke konten utama

Mengenal Speech Recognition: Penerapan dari Deep Learning

Apa itu Speech Recognition?

Speech Recognition, juga dikenal sebagai pengenalan suara otomatis (ASR), pengenalan suara komputer, atau pidato-ke-teks, adalah kemampuan yang memungkinkan program untuk memproses ucapan manusia ke dalam format tertulis. Meskipun umumnya bingung dengan pengenalan suara, pengenalan suara berfokus pada terjemahan ucapan dari format verbal ke format teks sedangkan pengenalan suara hanya berusaha mengidentifikasi suara pengguna individu. 

Speech Recognition menggunakan beragam penelitian dalam ilmu komputer, linguistik, dan teknik komputer. Banyak perangkat modern dan program yang berfokus pada teks memiliki fungsi pengenalan suara di dalamnya untuk memungkinkan penggunaan perangkat yang lebih mudah atau bebas genggam.

Sejarah dari Speech Recognition

Sejarah perkembangan speech recognition dimulai pada tahun 1952 dengan ditemukannya Audrey (Automatic Digit Recognizer) oleh Bell Laboratories yang mampu mengenali suara angka. Namun pada tahun 1962 dikembangkannya teknologi shoebox, dimana teknologi ini mampu memahami 16 kata, 9 konsonan dan 4 vocal dalam Bahasa inggris.

Selanjutnya pada tahun 1970-an Departemen Pertahanan A.S. memberikan kontribusi besar terhadap pengembangan speech recognition mengenai program DARPA SUR (speech understanding research) yang menghasilkan sistem dengan kemampuan memahami 1011 kata dan juga kalimat yang logis dalam Bahasa inggris. 

Selanjutnya pada tahun 1980-an sebuah terobosan besar mengenai pengembangan model Hidden Markov yang menggunakan statiska untuk menentukan probabilitas kata dari suara yang tidak dikenal. Sistem tersebut diadopsi dalam sebuah boneka yang dibuat untuk anak-anak yang di kenal sebai Julie. Boneka tersebut dilatih dengan kemampuan untuk menanggapi upacan namun masih ada kelemahannya yaitu pemberian jeda pada kata yang diucapkan. 

Kemudian pada tahun 1990-an perusahaan yang bernama DRAGON merilis sebuah speech recognition software pertama di dunia yang bernama Dragon Naturally Speaking yang membuat kita dapat mengucapkan 100 kata dalam 1 menit. Sedangkan pada tahun 2000-an sampai sekarang pengembangan speech recognition terus dikembangkan dengan didukung dengan teknologi-teknologi yang super canggih juga dan memungkinkan semakin canggih juga kemampuan speech recognition yang dihasilkan. Salah satu penerapan speech recognition yang terkenal saat ini yaitu munculnya aplikasi google voice search yang dirilis oleh google untuk iphone yang memanfaatkan data centers untuk menghitung sejumlah besar analisis data yang diperlukan untuk mencocokan permintaan pengguna dengan contoh-contoh nyata ucapan manusia.

Jenis-Jenis Pengenalan Kata dari Ucapan

Berdasarkan kemampuan dalam mengenal kata yang diucapkan, terdapat 5 jenis pengenalan kata, yaitu:

  1. Kata-kata yang terisolasi, Proses pengidentifikasian kata yang hanya dapat mengenal kata yang diucapkan jika kata tersebut memiliki jeda waktu pengucapan antar kata
  2. Kata-kata yang berhubungan, Proses pengidentifikasian kata yang mirip dengan kata-kata terisolasi, namun membutuhkan jeda waktu pengucapan antar kata yang lebih singkat
  3. Kata-kata yang berkelanjutan, Proses pengidentifikasian kata yang sudah lebih maju karena dapat mengenal kata-kata yang diucapkan secara berkesinambungan dengan jeda waktu yang sangat sedikit atau tanpa jeda waktu. Proses pengenalan suara ini sangat rumit karena membutuhkan metode khusus untuk membedakan kata-kata yang diucapkan tanpa jeda waktu. Pengguna perangkat ini dapat mengucapkan kata-kata secara natural
  4. Kata-kata spontan, Proses pengidentifikasian kata yang dapat mengenal kata-kata yang diucapkan secara spontan tanpa jeda waktu antar kata
  5. Verifikasi atau identifikasi suara, Proses pengidentifikasian kata yang tidak hanya mampu mengenal kata, namun juga mengidentifikasi siapa yang berbicara.

Proses pengenalan suara tidak hanya disediakannya data set dalam data center namun banyak metode yang digunakan pada proses pengenalan suara itu sendiri. Salah satu metode yang diperkenalan pada akhir tahun 1960 adalah metode Hidden Markov Model, metode ini berupa model statistika dari rantai markov. (Rabiner, Lawrence, 1989) dalam laporannya yang berjudul “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition” menjelaskan bahwa proses dalam dunia nyata secara umum menghasilkan observable output yang dapat dikarakterisasikan sebagai signal. Signal bisa bersifat diskrit (karakter dalam alfabet) maupun kontinu (pengukuran temperatur, alunan musik). Signal bisa bersifat stabil (nilai statistiknya tidak berubah terhadap waktu) maupun nonstabil (nilai signal berubah-ubah terhadap waktu). 

Dengan melakukan pemodelan terhadap signal secara benar, dapat dilakukan simulasi terhadap sumber dan pelatihan sebanyak mungkin melalui proses simulasi tersebut. Sehingga model dapat diterapkan dalam sistem prediksi, sistem pengenalan, maupun sistem identifikasi. Secara garis besar model signal dapat dikategorikan menjadi 2 golongan yaitu model deterministik dan model statistikal. Model deterministik menggunakan nilai-nilai properti dari sebuah signal seperti amplitudo, frekuensi, fase dari gelombang sinus. Sedangkan model statistikal menggunakan nilai-nilai statistik dari sebuah signal seperti proses Gaussian, proses Poisson, proses Markov, dan proses Hidden Markov.

Salah satu penelitian mengenai pengenalan suara dengan menggunakan nilai-nilai statistik dari sebuah signal yaitu peneltian mengenai jaringan syaraf tiruan murni yang dilakukan oleh (Graves, Mohamed, & Hinton, 2013) menjelaskan bahwa jaringan syaraf berulang atau RNN merupakan model yang kuat untuk proses pengenalan suara. Metode pelatihan seperti Connectionist Temporal Classification memungkinkan dalam melatih RNN untuk keselarasan dari input dan output yang tidak diketahui. Jaringan saraf memiliki sejarah panjang dalam pengenalan suara, dalam kombinasi dengan HMM (hidden markov model) mendapatkan perbaikan dalam pemodelan akustik yang dihasilkan oleh deep feedforward. Kombinasi HMM-RNN memungkinkan melatih RNN ‘end-to-end’ untuk pengenal ucapan dengan regularisasi. Hal tersebut dibuktikan dengan penemuan bahwa memori jangka pendek dalam RNNs mencapi tingkat kesalahan 17,7 % pada TIMIT atau satuan ukur dalam pengenalan suara.

Cara Kerja dari Speech Recognition

Alat pengenal ucapan memiliki empat tahapan dalam prosesnya, yaitu:

  1. Tahap penerimaan masukan, sumber suara diterima melalui media perantara.
  2. Tahap ekstraksi. Penyimpanaan masukan yang berupa suara dan sekaligus pembuatan basis data sebagai pola. Proses ekstraksi dilakukan berdasarkan metode Model Markov Tersembunyi atau Hidden Markov Model (HMM), yang merupakan model statistik dari sebuah sistem yang diasumsikan oleh Markov sebagai suatu proses dengan parameter yang tidak diketahui.
  3. Tahap pembandingan. Tahap ini merupakan tahap pencocokan data baru dengan data suara (pencocokan tata bahasa) pada pola. Tahap ini dimulai dengan proses konversi sinyal suara digital hasil dari proses ekstraksi ke dalam bentuk spektrum suara yang akan dianalisa dengan membandingkannya dengan pola suara pada basis data. Sebelumnya, data suara masukan dipilah-pilah dan diproses satu per satu berdasarkan urutannya. Pemilihan ini dilakukan agar proses analisis dapat dilakukan secara paralel.
  4. Tahap validasi identitas pengguna. Alat pengenal ucapan yang sudah memiliki sistem verifikasi/identifikasi suara akan melakukan identifikasi orang yang berbicara berdasarkan kata yang diucapkan setelah menerjemahkan suara tersebut menjadi tulisan atau komando.

Penerapan Speech Recognition

A. Bidang komunikasi

Komando Suara, suatu program pada komputer yang melakukan perintah berdasarkan komando suara dari pengguna. Contohnya pada aplikasi Microsoft Voice yang berbasis bahasa Inggris. Ketika pengguna mengatakan “Mulai kalkulator” dengan intonasi dan tata bahasa yang sesuai, komputer akan segera membuka aplikasi kalkulator. Jika komando suara yang diberikan sesuai dengan daftar perintah yang tersedia, aplikasi akan memastikan komando suara dengan menampilkan tulisan “Apakah Anda meminta saya untuk ‘mulai kalkulator’?”. Untuk melakukan verifikasi, pengguna cukup mengatakan “Lakukan” dan komputer akan langsung beroperasi.

Pendiktean, sebuah proses mendikte yang sekarang ini banyak dimanfaatkan dalam pembuatan laporan atau penelitian. Contohnya pada aplikasi Microsoft Dictation yang merupakan aplikasi yang dapat menuliskan apa yang diucapkan oleh pengguna secara otomatis.

B. Bidang kesehatan

Alat pengenal ucapan banyak digunakan dalam bidang kesehatan untuk membantu para penyandang cacat dalam beraktivitas. Contohnya pada aplikasi Antarmuka Suara Pengguna atau Voice User Interface (VUI) yang menggunakan teknologi pengenal ucapan dimana pengendalian saklar lampu misalnya, tidak perlu dilakukan secara manual dengan menggerakkan saklar tetapi cukup dengan mengeluarkan perintah dalam bentuk ucapan sebagai saklarnya. Metode ini membantu manusia yang secara fisik tidak dapat menggerakkan saklar karena cacat pada tangan misalnya. Penerapan VUI ini tidak hanya untuk lampu saja tapi bisa juga untuk aplikasi-aplikasi kontrol yang lain.

C. Bidang militer

Pelatihan Penerbangan, Aplikasi alat pengenal ucapan dalam bidang militer adalah pada pengatur lalulintas udara atau yang dikenal dengan Air Traffic Controllers (ATC) yang dipakai oleh para pilot untuk mendapatkan keterangan mengenai keadaan lalu-lintas udara seperti radar, cuaca, dan navigasi. Alat pengenal ucapan digunakan sebagai pengganti operator yang memberikan informasi kepada pilot dengan cara berdialog.

Komentar

Postingan populer dari blog ini

Kenali apa itu Kotlin?

Kotlin adalah salah satu bahasa pemograman yang diandalkan untuk membangun aplikasi smartphone, terutama Android. Namun, apakah kamu sudah cukup familiar dengan apa itu Kotlin? Sebenarnya bahasa pemrograman ini semakin populer, lho. Pasalnya,  pada tahun 2017 lalu Google mengumumkan bahwa Kotlin menjadi salah satu bahasa resmi untuk membangun aplikasi Android. Umumnya para developer yang membuat aplikasi Android menggunakan bahasa pemrograman Java. Namun, sejak Kotlin diumumkan sebagai salah satu bahasa yang bisa digunakan untuk membuat aplikasi berbasis Android, bahasa pemrograman itu pun jadi semakin populer. Apa Itu Kotlin? Menurut GeeksforGeeks, Kotlin adalah bahasa pemrograman general-purpose yang dikembangkan oleh JetBrains. Kotlin memiliki konstruksi yang berorientasi objek dan fungsional. Pengguna bisa menggunakannya dengan orientasi objek, fungsional, atau menggabungkan keduanya. Dalam situs resminya disebutkan bahwa Kotlin adalah bahasa pemrograman open source yang pertama ka

Mengenal Apa Itu Blockchain?

Dunia blockchain semakin populer di Dunia saat ini, khususnya di negara Indonesia. Semenjak tingginya rasa ingin tahu dari masyarakat terhadap dunia cryptocurrency, semakin tinggi juga pencarian mengenai teknologi blockchain. Bukan hanya di kalangan komunitas IT, namun teknologi ini mulai familiar di kalangan masyarakat awam. Fenomena yang berawal dari perkembangan teknologi internet ini kian menjadi sorotan masyarakat umum. Lalu, apa sebenarnya teknologi blockchain? Apa kaitannya dengan aset cryptocurrency? Apa itu Blockchain? Secara umum, Blockchain dapat diartikan sebagai buku besar digital, di mana setiap transaksi dicatat dan diamankan di banyak database yang tersebar luas di komputer. Dengan kata lain, Blockchain itu salah satu teknologi yang sudah tidak menggunakan pihak ketiga lagi dalam proses pertukaran data atau transaksi. Contohnya, jika kita berbelanja di suatu toko dengan metode pembayaran debit, maka pihak ketiga yang dimaksud adalah Bank yang menghubungkan pembeli denga

Perbedaan dari Front-end dan Back-end

Front End dan Back End adalah dua hal yang berkaitan dengan bagaimana sebuah website maupun aplikasi dapat bekerja dan diakses oleh pengguna. Berkaitan dengan proses web development, front end adalah apa yang pengguna lihat pada tampilan sebuah website. Sedangkan back end adalah sistem di balik layar yang mengolah database dan juga server. Bagian front end sering pula disebut sebagai "client-side" dan back-end disebut dengan "server-side". Orang yang mengelola front end dan back end biasa disebut dengan panggilan Full Stack Developer, sedangkan apabila hanya salah satunya saja, dapat disebut dengan Front End Developer dan Back End Developer. Dari segi peranan, Front End Developer berperan mengembangkan tampilan situs dengan menggunakan bahasa pemrograman seperti CSS (Cascading Style Sheets), HTML (Hypertext Markup Language), dan Javascript. Sedangkan untuk Back End Developer bertugas memastikan bahwa sebuah situs dapat berfungsi dan diakses melalui monitoring "