Apa arti "vektor" dalam model Markov tersembunyi?

8

Saya tahu bahwa Model Markov Tersembunyi (HMM) digunakan dalam pengenalan ucapan dan memahaminya sampai batas tertentu. Namun, yang saya tidak tahu adalah bagaimana input (ucapan) "ditransformasikan" menjadi vektor yang kemudian digunakan dalam HMM.

Bagaimana Anda mendapatkan vektor dari input suara? Apakah vektor ini dapat dibaca oleh manusia?

Bodoh
sumber
9
Bisakah seseorang menjelaskan OP mengapa dia diturunkan? Dengan begitu dia dapat mengedit pertanyaannya menjadi sesuatu yang mungkin lebih tepat
Ivo Flipse
2
Seperti yang saya pahami, ahli matematika menggunakan istilah "vektor" untuk apa yang orang biasa sebut "serangkaian angka". Mereka melihat file MP3 Anda sebagai panah yang menunjuk ke titik tertentu dalam "ruang Hilbert", yang memiliki dimensi tak terbatas ...
endolith
Saya kira Anda bertanya tentang MFCC. Jelas diberikan dalam Tautan Wiki ini pada MFCC. en.wikipedia.org/wiki/Mel-frequency_cepstral_coefisien
Rajesh Dachiraju
Pembalikan yang bagus, yoda! Posting asli memiliki beberapa kekurangan, tapi saya pikir bentuk saat ini tidak pantas untuk downvote atau suara dekat.
Kevin Vermeer
@rajesh: mengapa Anda tidak memberikan jawaban ini ... sejauh ini tidak ada yang bagus
Peer Stritzinger

Jawaban:

8

Cara pengenalan suara dilakukan dengan HTK (atau alat lain) mirip dengan cara pengenalan suara dilakukan di otak. Ketika Anda mendengar sebuah kata, Anda langsung memecahnya menjadi ponsel penyusunnya dan kemudian membandingkan ponsel dengan "model" mental internal dari ponsel tersebut . "Model-model" ini dibangun selama bertahun-tahun mendengarkan pembicaraan dan memberi Anda kemampuan untuk membedakan antara kalimat-kalimat yang terdengar mirip seperti "Cara merusak pantai yang bagus" dan "Cara mengenali ucapan". Pengenalan ucapan dengan HTK atau skema berbasis model lainnya bekerja dengan cara yang sama. Di sini, dalam beberapa langkah, adalah bagaimana Anda melakukannya:

  1. Anda mengambil sinyal suara input dan mengubahnya menjadi representasi vektor fitur.
  2. Ambil banyak kalimat dan lakukan langkah 1 di masing-masing kalimat.
  3. Gunakan vektor fitur pada langkah 2 untuk membangun model statistik untuk masing-masing ponsel / kata dalam kalimat (ada sejumlah telepon / kata yang bertentangan dengan jumlah tak terbatas cara mengatakannya - sehingga Anda mengurangi yang tidak diketahui dengan pemodelan ).
  4. Ketika sebuah kata baru masuk, pisahkan ke telepon dan bandingkan dengan masing-masing model yang dikenal. Urutan ponsel dengan probabilitas tertinggi menang!

Semua langkah di atas sangat penting untuk menyelesaikan tugas pengenalan ucapan. Dengan menguraikan suara menjadi vektor fitur, Anda membawanya ke ruang model, memberikannya representasi yang membuatnya lebih cocok untuk membuat-model-keluar-dari daripada representasi lain (katakanlah representasi amplitudo waktu). Sebagian besar representasi tersebut terletak pada frekuensi, atau domain frekuensi-waktu. Salah satu representasi yang paling populer adalah MFCC (Koefisien Frekuensi Cepstral Mel). Di satu sisi, teknik ini meniru respons pendengaran manusia dengan seperangkat filter. Sinyal input didekomposisi dengan set filter yang memiliki jarak logaritmik dari frekuensi pusatnya. Koefisien MFCC dari satu kalimat (misalnya) kemudian digunakan untuk memodelkan masing-masing ponsel dari mana kalimat itu dibuat. Sebagai contoh, pertimbangkan,

Kalimat: HI. Deskripsi fonetik: hh aa ey
Ketika Anda memasukkan koefisien MFCC ke dalam HTK, ia akan mengaitkan koefisien MFCC dari sebagian kalimat dengan hh, yang lain dengan aa dan seterusnya. Ketika ini diulang berkali-kali, model untuk ponsel mulai terbentuk.

HTK menggunakan alat HCopyuntuk mengubah kalimat input menjadi representasi fitur-vektornya. Ada banyak "rasa" untuk MFCC juga (representasi E_D_A atau E_D_A_Z). Sebaiknya baca dokumentasi HCopydi dalam htkbook.

Koefisien MFCC ditulis ke file dengan ekstensi .mfcoleh HTK. Tidak mungkin membaca file itu menggunakan salah satu editor teks karena (saya pikir) koefisien ditulis dalam biner. Anda dapat mencoba membaca file dengan C.

HTH.

Sriram
sumber
mau jelaskan down-vote?
Sriram
2
Saya memilih karena beberapa alasan. Itu tidak memiliki akurasi. Itu sangat tidak akurat dan penuh dengan setengah kebenaran. Penyebutan alat dan gadget serta metode yang tidak perlu untuk menggunakannya, yang tidak relevan dengan pertanyaan. Pertama-tama pertanyaan itu sendiri tidak disusun dengan baik, dan jawaban Anda sepertinya tidak menyebutkan itu. Terlebih lagi ada artikel Wikipedia yang bagus tentang MFCC yang saya sebutkan komentar saya pada pertanyaan.
Rajesh Dachiraju
@ Rajesh: terima kasih atas umpan baliknya! Saya telah memberi OP tautan ke halaman MFCC di wikipedia jika Anda perhatikan dengan teliti. Jika menurut Anda jawaban ini tidak akurat, maka silakan sorot ketidakakuratan itu, jadi kami dapat belajar. Pemungutan suara rendah tidak sama dengan kritik konstruktif, jadi saya mendorong Anda untuk menggunakan edittombol ini secara gratis pada jawabannya, atau lebih baik lagi, berikan kami jawaban Anda sendiri. Dan ya, jika pertanyaan itu sendiri tidak akurat, jawabannya juga akan kurang akurat. Itu telah dibahas di bagian komentar itu sendiri.
Sriram
1
@Peer: Tidak. Telepon dimodelkan dalam tugas pengenalan suara, bukan fonem (IMHO).
Sriram
2
Ah saya mengerti ... pilihan istilah teknis yang tidak menguntungkan (sangat sulit untuk google ;-) Telah menambahkan tautan ke artikel wikipedia untuk ponsel
Peer Stritzinger
0

Setiap gelombang dapat diuraikan menjadi tambahan dari banyak gelombang lainnya. Menggunakan transformasi Fourier, Anda dapat menganalisis gelombang ke dalam komponen frekuensinya. Amplitudo komponen frekuensi ini kemudian dapat digunakan sebagai vektor. Inilah dokumentasi tentang kelas Sphinx yang melakukan ini dan inilah penjelasan visual yang bagus dari transformasi Fourier.

Nate Glenn
sumber