Learning Speech Recognition (Intro)

Mungkin di saat sekarang, teknologi speech recognition (pengubah suara ke text) sudah tidak asing lagi bagi kaum milenial. Speech recognition atau pengenal wicara memungkinkan sebuah sistem yang dapat mengenali dan menterjemahkan apa yang dikatakan oleh manusia ke dalam bentuk text.
Pengenalan ucapan atau pengenalan wicara — dalam istilah bahasa Inggrisnya, automatic speech recognition (ASR) — adalah suatu pengembangan teknik dan sistem yang memungkinkan komputer untuk menerima masukan berupa kata yang diucapkan. Teknologi ini memungkinkan suatu perangkat untuk mengenali dan memahami kata-kata yang diucapkan dengan cara digitalisasi kata dan mencocokkan sinyal digital tersebut dengan suatu pola tertentu yang tersimpan dalam suatu perangkat. Kata-kata 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. -Wikipedia-
Tony Stark (Robert Downey, Jr.) speaks to his A.I. system J.A.R.V.I.S. throughout the “Iron Man” films and “The Avengers.” (sumber)

Beberapa tipe Speech Recognition (berdasarkan utterance-nya)
Terdapat beberapa tipe sistem dalam speech recognition yang digunakan sekarang ini. Sistem ini dibedakan berdasarkan kemampuan sistem untuk menterjemahkan sebuah utterance.
  1. Isolated Word: sistem ini membutuhkan jeda pada setiap awal dan akhir utterance. Sistem ini dapat melakukan proses pengolahan lebih dari satu kata, hanya saja membutuhkan selang jeda untuk memproses suara sebelumnya.
  2. Connected Words: sistem ini hampir sama dengan isolated word hanya saja memungkinkan utterance yang terpisah untuk berjalan bersamaan dengan batasan yang kecil pada antar uterance-nya.
  3. Continuous Speech: sistem ini memungkinkan seseorang untuk berbicara kesistem hampir secara natural, ketika komputer menterjemahkannya.
  4. Spontaneous Speech: sistem ini memugkinkan untuk menterjemahkan ucapan seseorang secara natural. sistem ini mampu untuk menangani berbagai fitur ucapan senatural mugkin, seperti kata-kata yang dijalankan bersamaan.
Beberapa tipe Speech Recognition (berdasarkan model pembicaranya)
Setiap orang memiliki suara yang unik. Ketika berbicara seseorang dapat membedakan suara orang lainnya dengan mudahnya. Berbeda dengan sebuah sistem, komputer tidak mudah menterjemahkan suara dari setiap orang. Sebab dari itu speech recognition dibedakan berasarkan model pembicaranya.
  1. Speaker Dependent Models: sistem ini dapat melakukan penterjemahan suara menjadi teks pada orang tertentu, tetapi agak sulit untuk menterjemahkan pada suara orang yang lainnya. Keuntungan sistem ini dapat dikembangkan secara mudah dan lebih akurat.
  2. Speaker Independent Models: sistem ini memiliki kemampuan untuk menterjemahkan suara lebih general, lebih banyak orang yang dapat menggunakan sistem ini dalam sekali pengembangan. Sistem seperti ini merupakan sistem yang lebih sulit untuk dikembangkan dan lebih tidak akurat dari Speaker Dependent Models.
  3. Speaker Adaptive Models: sistem ini dikembangkan menggunakan sistem Speaker Dependent Models, tetapi dilakukan adaptasi untuk dapat menterjemahkan suara orang yang lain dari sistem yang telah dibuat sebelumnya.
Beberapa tipe Speech Recognition (berdasarkan banyak katanya)
semakin akurat sebuah sistem yang dikembangkan berdampak pada nyamannya pengguna untuk menggunakan sebuah sistem. Artinya semakin nyaman sebuah sistem dapat ditentukan pada banyaknya kata-kata yang dapat diterjemahkan, yang pastinya semakin kompleks sistem yang harus dikembangkan. Hal lainnya yang dapat dilakukan adalah dengan menentukan target yang lebih spesifk untuk mengembangkan sistem yang lebih sederhana. berdasarkan besaran katanya, speech recognition dibedakan menjadi beberapa bagian.
  1. Small Vocabulary: banyaknya sekitar 1 sampai 100 kata atau kalimat
  2. Medium Vocabulary: banyaknya sekitar 101 sampai 1000 kata atau kalimat
  3. Large Vocabulary: banyaknya sekitar 1001 sampai 10,000 kata atau kalimat
  4. Very-large vocabulary: banyaknya lebih dari 10,000 kata atau kalimat

Perkembangan Speech Technology
Speech recognition mengalami perkembangan yang cukup signifikan selama beberapa tahun belakangan ini, semenjak kemampuan komputasi meningkat sistem ini pun semakin baik. Meskipun pengambangan sistem ini sudah dilakukan semenjak puluhan tahun yang lalu. Tipe-tipe sistem pada speech recognition yang sudah dibahas diatas menunjukan tahapan perkembangan pada teknologi ini. Berikut sejarah perkembangan teknologi speech recognition.
  1. 1784 : (3) Wofgang von Kempelen creates the Acoustic-Mechanical speech Machine in Vienna
  2. 1791 : (1) Kempelen’s talking machine
  3. 1857 : (1) Phonautograph
  4. 1876 : (1) Telephone
  5. 1879 : (3) Thomas Edison invents the first dictation machine
  6. 1900 : (1) Radio broadcast
  7. 1920 : (1) Radio Rex
  8. 1939 : (1) Vocoder
  9. 1946 : (1) ENIAC
  10. 1952 : (1) Digit recognition (3) Bell Labs releases Audrey, capable of recognizing spoken digits with 90% accuracy — but only when spoken by its inventors
  11. 1960s : (2) Dynamic Time Warping
  12. 1962 : (3) IBM Shoebox can understand 16 English words
  13. 1969 : (1) Internet
  14. 1970s : (2) Hidden Markov Models
  15. 1971 : (1) Harpy created at Carnegie Mellon University, can comprehend 1011 words and some phrases
  16. 1986 : (2) Multi-layer perceptron (3) IBM Tangora using Hidden Markov Model, predicts upcoming phonems in speech
  17. 1987–1995 : (2) Speech recognition with Neural Network
  18. 1995- 2009 : (2) Superseded by GMM
  19. 1999 : (1) Seaman
  20. 2002 : (2) Neural network feature
  21. 2006 : (2) Deep Network (Hinton, 2002) (3) The National Security Agency (NSA) starts using speech recognition to isolate key words in recorded speech
  22. 2008 : (3) Google launches a voice search app, bringing speech recognition to mobile devices
  23. 2011 : (1) Siri on iOS (3) Apple announces Siri, ushering in the age on the voice-enable digital assistance
  24. 2012 : (2) RNN for speech recognition

Bagaimana Speech Recognition bekerja
Setelah mengetahui jenis-jenis Speech recognition dan sejarah perkembanganya, hal menarik lainnya adalah bagaimana suara dapat diterjemahkan oleh sistem komputer? Beberapa tahap harus dilalui sebuah suara untuk menjadi teks yang memiliki arti.
Signal to language (Senior Andrew presentation slide)
secara sederhana penterjemahan suara menjadi teks dapat digambarkan dengan diagram diatas. Cukup banyak tahapan yang dilaluinya hingga dapat menjadi sebuah sistem speech recognition. Penjelasan tentang ini akan dibahas pada postingan berikut-berikutnya, insyaallah.

Speech Technology Problem
Perkembangan teknologi ini memang sudah dari sangat lama dan banyak permasalah yang dapat diselesaikan dengannya sampai saat ini. Akan tetapi masih banyak peneliti yang melakukan penelitian agar sebuah sistem ini semakin nyaman digunakan, yang artinya sebuah sistem harus mendekati kemampuan manusia untuk melakukan komunikasi. Ada beberapa permasalah yang berkaitan dengan speech yang masih terus dikaji.
# Automatic Speech Recognition:
  1. Spontaneous and read speech
  2. Large Vocabulary
  3. In noise
  4. Low resources
  5. Far-field
  6. Accent-independent
  7. speaker adaptive
# Text to speech
  1. Low resources
  2. Realistic prosody
# Speaker Identification
# Speech enhancement
# Speech separation

Aplikasi Speech Recognition
Masih banyaknya permasalahan yang ada pada teknologi ini tidak membatasi kasus-kasus dikehidupan nyata untuk diselesaikan. Banyak kasus dibeberapa bidang yang sudah bisa diselesaikan oleh speech recognition.
  1. Dictation : merupakan pengunaan yang paling banyak saat sekarang ini. Termasuk transkripsi untuk bisnis, legal, dan kebutuhan medis. Bagian yang menantang adalah penggunaan kata-kata spesial yang harus ditambahkan pada setiap domain penggunaannya, misal kata-kata unik dari kedokteran harus ditambahkan untuk penggunaan untuk transkripsi medis.
  2. Command and control : sistem ini didesain untuk melakukan sebuah fungsi dan aksi untuk melakukan perintah kepada sistem lain. Contoh ucapan yang seperti “nyalakan lampu”, “mainkan musik pop”, dan sebagainya
  3. Wearables : penggunaan yang melibatkan perangkat tambahan berupa device yang melekat / dekat dengan pengguna, sehingga digunakan untuk melakukan perekaman suara maupun perintah suara.
  4. Disabilities : seseorang yang memiiki keterbatasan untuk melakukan suatu kegiatan karena tidak berfungsinya alat indra pada dirinya, dapat menggunakan sistem ini untuk mempermudah aktivitasnya. Seperti mengetik menggunakan suara atau membaca tulisan dari apa yang dikatakan seseorang.
  5. Embedded Application & robotics : sistem ini dapat membatu manusia untuk melakukan perintah langsung kepada perangkat. Contohnya: perintah sederhana untuk menyalakan televisi.
  6. Call center & IVR : banyak bisnis sekarang ini menggunakan teknologi untuk meningkatkan pelayanan dari setiap lininya, termasuk untuk Call Center & IVR. Kecepatan respon dan pelayanan yang akan meningkatkan kepuasa bagi konsumennya.
  7. Medical : pembuatan rekam medis yang dilakukan secara otomatis, dapat meningkatkan perhatian dan fokus dokter terhadap pasiennya. Sehingga, ketika pasien berbicara/berkonsultasi dengan dokter, dokter hanya tinggal fokus kepermasalah utama tentang pasien tersebut.
  8. Education : sistem ini dapat membantu seorang siswa untuk meningkatkan keampuan membaca dan berbicara dengan cara membuatnya melakukan dengan lantang.
  9. Television : sistem pembuatan teks secara otomatis, dapat membantu penyedia saluran televisi maupun pembuat film untuk membantu penontonnya mengerti lebih dalam tentang alur dari cerita yang mereka tonton.
  10. Car navigation : ketika berkendara seseorang tidak memiliki kesempatan lain untuk melakuka aktivitas lain. Voice command dapat membantu pengendara memberikan perintah langsung kepada sistem.
  11. Mobile Apps : mudahnya membawa perangkat handphone dalam setiap kegiatan manusia sekarang ini, menjadikan smartphone dibuat unutk dapat melakukan banyak kegiatan, termasuk voice command dan voice-to-voice translation.