2 poin oleh GN⁺ 2025-12-15 | Belum ada komentar. | Bagikan ke WhatsApp
  • Terinspirasi dari program Mark V. Shaney pada era 1980-an, dibuat generator teks Markov sederhana bernama Mark V. Shaney Junior yang diimplementasikan hanya dengan sekitar 30 baris kode Python
  • Model ini memprediksi kata berikutnya secara probabilistik berdasarkan tiga kata (trigram), dengan menggunakan sekitar 200 tulisan blog (kurang lebih 200 ribu kata) sebagai data pelatihan
  • Kalimat yang dihasilkan muncul dalam bentuk kalimat tak bermakna (gibberish) yang mencampurkan kata-kata dari topik blog seperti Lisp, Emacs, matematika, dan pemrograman
  • Jika order model dinaikkan, kalimat menjadi lebih konsisten, tetapi pada 5 ke atas model mulai mengutip teks asli apa adanya sehingga kreativitas menghilang
  • Bahkan di era model bahasa besar (LLM), kejernihan struktur model Markov yang sederhana seperti ini tetap diajukan sebagai titik awal yang baik untuk memahami prinsip pembangkitan bahasa

Gambaran program Mark V. Shaney Junior

  • Mark V. Shaney Junior adalah generator teks yang meniru pengguna virtual Mark V. Shaney yang aktif di Usenet pada era 1980-an
    • Versi aslinya adalah program yang secara otomatis menghasilkan postingan dengan menggunakan model Markov
    • Implementasi kali ini merupakan versi minimalis yang menyederhanakan ide tersebut dan dibuka di GitHub
  • Seluruh kodenya terdiri dari sekitar 30 baris Python, dengan penekanan pada kesederhanaan dibanding efisiensi
    • Bahkan orang yang baru pertama kali mengenal model Markov bisa memahaminya dalam waktu kurang dari 20 menit

Pemrograman eksperimental sebagai hobi

  • Penulis gemar melakukan pemrograman untuk menjelajahi ide, bukan untuk menyelesaikan masalah tertentu
    • Ia beberapa kali bereksperimen dengan rantai Markov yang memiliki beragam ruang keadaan
    • Kode-kode eksperimen seperti ini kemudian dirapikan dan dibagikan di GitHub atau Codeberg
  • Mark V. Shaney Junior juga merupakan salah satu eksperimen semacam itu, lalu dipoles dan dirilis ke publik

Pembangkitan teks menggunakan data blog

  • Setelah menguji model dengan A Christmas Carol karya Charles Dickens,
    penulis menggunakan tulisan blog selama 24 tahun (sekitar 200 tulisan, kurang lebih 200 ribu kata) sebagai data masukan
    • Komentar (sekitar 40 ribu kata) dikecualikan
  • Kalimat yang dihasilkan tampil sebagai kalimat tak logis yang mencampurkan perintah pemrograman, istilah matematika, dan perintah editor
    • Contoh: kalimat yang menggabungkan perintah Emacs, kode Lisp, dan istilah matematika secara acak
  • Beberapa kalimat mengambil kata dari tulisan blog tertentu lalu membentuk kombinasi tanpa makna
    • Contoh: “Lisp source file” dan “self-esteem” diambil dari tulisan yang berbeda lalu digabungkan

Sifat Markov dan struktur algoritme

  • Konfigurasi dasarnya berbasis trigram (3 kata),
    menggunakan struktur map yang menyimpan dua kata sebelumnya sebagai key dan kata ketiga sebagai value
  • Proses pembangkitan teks
    • Memilih pasangan kata secara acak → memilih salah satu kata berikutnya yang mungkin dengan probabilitas seragam
    • Membentuk pasangan baru dari kata yang baru dipilih dan kata sebelumnya, lalu mengulang
    • Berhenti ketika tidak ada lagi kata lanjutan atau saat mencapai batas 100 kata
  • Jika trigram yang sama muncul beberapa kali, kata lanjutan tersebut disimpan berulang dalam daftar, sehingga
    pemilihan probabilistik dilakukan sebanding dengan frekuensi kemunculannya
  • Proses ini merupakan transisi probabilistik yang hanya bergantung pada keadaan saat ini,
    yang secara matematis dapat dinyatakan sebagai P(Xₙ₊₁ | Xₙ, Xₙ₋₁, …, X₁) = P(Xₙ₊₁ | Xₙ)
    • Sifat memoryless inilah yang menjadi inti dari properti Markov

Eksperimen tambahan dan penyesuaian order model

  • Order default adalah 2 dan dapat diubah melalui argumen command line
    • Jika order dinaikkan ke 3~4, kalimat menjadi lebih konsisten dan lebih alami
    • Contoh: menghasilkan kalimat yang relatif logis dengan campuran perintah IRC dan konsep matematika
  • Namun, jika order dinaikkan ke 5, model mulai menyalin teks asli apa adanya, sehingga
    ketakbermaknaan kreatif (gibberish) menghilang
  • Teks juga dapat dihasilkan dengan memberi prompt awal
    • Misalnya, jika diberi awal kalimat “Finally we”, model menghasilkan kalimat panjang yang mencampurkan Emacs, MATLAB, GNU bash, dan istilah lain

Makna dari model sederhana

  • Pada 2025, model bahasa besar (LLM) memang sudah menjadi arus utama,
    dan model Markov tidak mampu menangkap struktur global maupun ketergantungan jangka panjang
  • Meski demikian, berkat desain yang sederhana dan implementasi yang jelas,
    model ini tetap bernilai sebagai model pengantar untuk mempelajari prinsip pembangkitan bahasa
  • Penulis menyebut model ini sebagai “Hello, world” untuk language model

Belum ada komentar.

Belum ada komentar.