Pernahkah Anda bertanya-tanya bagaimana cara kerja balasan otomatis Gmail? Atau bagaimana WhatsApp Anda menyarankan kata berikutnya saat mengirim pesan? Atau bahkan bagaimana kita bisa menghasilkan notasi musik? Cara umum untuk menghasilkan urutan teks adalah dengan melatih model untuk memprediksi kata/karakter berikutnya dengan mempertimbangkan semua kata/karakter sebelumnya. Model seperti ini disebut Model Bahasa Statistik. Apa yang dimaksud dengan model bahasa statistik? Model bahasa statistik adalah distribusi probabilitas atas rangkaian kata yang dilatih.

Tugas utamanya adalah memprediksi karakter berikutnya dengan mempertimbangkan semua karakter sebelumnya dalam rangkaian data, yaitu menghasilkan teks karakter demi karakter.

Rantai Markov didasarkan pada prinsip“tanpa memori”. Dengan kata lain, tahapan proses selanjutnya hanya bergantung pada keadaan sebelumnya dan bukan urutan keadaan. Asumsi sederhana ini membuat penghitungan probabilitas bersyarat menjadi mudah dan memungkinkan algoritma ini diterapkan dalam sejumlah skenario.

Dalam permasalahan kehidupan nyata, kita biasanya menggunakan model Hidden Markov, yang merupakan versi rantai Markov yang telah banyak berevolusi.

Model Probabilistik untuk Pembuatan Teks/Bahasa Alami (Cara sederhana dan efektif untuk menghasilkan teks baru)

Ini adalah proses stokastik (artinya seseorang mempunyai sistem yang terdapat pengamatan pada waktu-waktu tertentu dan hasilnya, yaitu nilai pengamatan pada setiap waktu adalah variabel acak.) yang mengandung variabel acak, transisi dari satu keadaan ke keadaan lain tergantung pada asumsi tertentu dan aturan probabilistik yang pasti.

Mari kita turunkan secara matematis:

Misalkan proses acaknya adalah, {Xm, m=0,1,2,⋯}.

Proses ini merupakan rantai Markov hanya jika,

untuk semua m, j, i, i0, i1, ⋯ im−1

Untuk sejumlah keadaan berhingga, S={0, 1, 2, ⋯, r}, ini disebut rantai Markov berhingga.

P(Xm+1 = j|Xm = i) di sini mewakili probabilitas transisi untuk transisi dari satu keadaan ke keadaan lainnya. Di sini, kami berasumsi bahwa probabilitas transisi tidak bergantung pada waktu.

Artinya P(Xm+1 = j|Xm = i) tidak bergantung pada nilai 'm'. Oleh karena itu, kita dapat menyimpulkan,

Jadi persamaan ini mewakili rantai Markov.

Sekarang mari kita pahami apa sebenarnya rantai Markov dengan sebuah contoh

Model cuaca sederhana:

Probabilitas kondisi cuaca (dimodelkan sebagai hujan atau cerah), berdasarkan cuaca pada hari sebelumnya, dapat direpresentasikan dengan matriks transisi:

P=⬇️

Matriks P merepresentasikan model cuaca dimana hari cerah memiliki kemungkinan 90% untuk diikuti oleh hari cerah lainnya, dan hari hujan memiliki kemungkinan 50% untuk diikuti oleh hari hujan berikutnya. Kolom dapat diberi label “cerah” dan “hujan”, dan baris dapat diberi label dalam urutan yang sama. (P)i j adalah probabilitas bahwa, jika suatu hari bertipe I, hari itu akan diikuti oleh hari bertipe j.

Memprediksi cuaca

Rantai Markov Dengan Python

Untuk menjalankan ini, saya akan menggunakan Python.

Sekarang mari kita mulai coding!

Model-Bahasa-Berbasis-Karakter (lihat Buku Catatan ini untuk ini )

Lakukan instalasi dasar python dan unduh dari di sini

Berlatih di Notebook Jupyter dengan menjalankan pip install jupyter di cmd. Lihat ini untuk instalasi dasar

Pandangan ke depan tentang rantai Markov

Mari kita lihat teks berikut:

text=”seni seni seni seni seni seni seni seni seni”

Kami dapat mengatakan yang berikut:

Jika kata saat ini adalah “arty”, kata berikutnya adalah “arts” 100%.

Jika kata saat ini adalah “arts”, kata berikutnya akan menjadi “arty” sebanyak 75%, dan sisanya akan menjadi baris baru (25%).

Itu dia! Kami sekarang telah mendefinisikan rantai Markov.

Dari definisi probabilitas ini, kini kami dapat membantu pengguna menulis teks serupa, atau kami dapat membuat teks baru secara mandiri.

  • Mari kita mulai dengan “seni”.
  • Generator mengetahui kemungkinan kemungkinan kata berikutnya setelah “seni”: 75% “arty”, 25% baris baru.
  • Jika kita menulis papan ketik saran otomatis, kini kita dapat menempatkan kata "arty" secara menonjol dan sesuatu seperti "enter" tidak terlalu menonjol.
  • Jika kita membuat generator teks, kita memilih kata berikutnya secara acak. Baik secara acak (50% arty, 50% baris baru) atau secara proporsional (arty memiliki peluang 3 kali lipat dibandingkan baris baru). Kami menggunakan pendekatan kedua di sini, karena pendekatan ini menghasilkan teks yang mendekati aslinya.
  • Katakanlah kita berakhir dengan “arty”. String yang dihasilkan sekarang menjadi “arts arty”.
  • Selanjutnya, kita ambil kata terakhir (“arty”) dan ulangi kata itu.
  • Probabilitas untuk “arty” itu sederhana (100% “art”). Jika kita menulis keyboard saran otomatis, kita bahkan dapat memasukkan “seni” tanpa bertanya kepada pengguna (apakah itu jenis domain yang kita gunakan).
  • Kami sekarang memiliki “seni seni seni”.
  • Begitu seterusnya berulang kali.

Anda dapat membaca lebih lanjut di sini

Aplikasi Dunia Nyata Rantai Markov

⦿PageRank:algoritme yang digunakan oleh Google Penelusuran untuk memberi peringkat laman web dalam hasil mesin telusurnya. di mana setiap halaman web dapat menjadi sebuah keadaan dan tautan atau referensi di antara halaman-halaman tersebut dapat dianggap sebagai transisi dengan probabilitas. Jadi, apa pun pencarian Anda, peluang untuk sampai ke halaman web tertentu memiliki kemungkinan tetap.

⦿Mengetik Prediksi Kata: Digunakan untuk memprediksi kata-kata yang akan datang. Seperti Gmail dan WhatsApp yang digunakan dalam pelengkapan otomatis dan saran.

⦿Pembuat teks:Ini menghasilkan teks tiruan atau menghasilkan esai besar dan menyusun pidato. Terlalu digunakan dalam pembuatan nama yang Anda lihat di web.

masih banyak lagi...

Anda juga dapat membaca ini: http://ieee.msit.in/blogs/4/character-based-lingual-model