Langsung ke konten utama

Natural Language Processing (NLP) Penerapan Stopwords Bahasa Indonesia dengan R: Topik Sepinya Jalur Pantura Akibat Adanya Tol Trans Jawa

Natural Language Processing : Stopwords Bahasa Indonesia dengan R Halo teman-teman, berjumpa lagi dengan blog sederhana ini. Pada pembahasan sebelumnya, kita telah bersama belajar penerapan stemming teks yang merupakan bagian dari Natural Language Processing (NLP) menggunakan R. Pada perjumpaan kali ini, kita akan melanjutkan perjuangan kita berbagi ilmu mengenai NLP, tepatnya adalah penerapan stopwords Bahasa Indonesia dengan R. Perlu diketahui bahwa di dalam NLP, untuk menambah keluasan dan mempertajam analisis teks, proses stemming teks saja belum cukup. Kita juga perlu membersihkan teks yang relatif atau mutlak tidak bermakna di dalam analisis teks. Biasanya teks yang dieliminasi dalam NLP merupakan kata penghubunga atau konjungsi, atau kata yang berupa ekspresi yang bercampur di dalam data teks, misalkan ekspresi tertawa "wkwk", ekspresi penolakan "gak, nggak, tidak, atau gk", bahasa asing (selain Indonesia), atau juga kata-kata yang tidak memenuhi kaidah ta

Machine Learning: Memahami Reinforcement Learning

Reinforcement Learning

Halo teman-teman, pada pembahasan sebelumnya, kita telah berusaha memahami mengenai supervised learning dan unsupervised learning. Sebelum lanjut ke pemodelan statistik selanjutnya, ada baiknya kita membahas tentang satu lagi jenis algoritma machine learning yang akhir-akhir ini banyak digunakan dalam membentuk artificial intelligence (AI), yaitu algoritma reinforcement learning.

Kita ke pengertian berdasarkan studi literatur daring (online) dulu teman-teman. Saya coba mengambil salah satu pengertian reinforcement learning, misalkan dari situsnya Algoritma, menyatakan bahwa reinforcement learning merupakan algoritma yang diterapkan untuk pembelajaran mesin (machine learning) sedemikian rupa sehingga dapat menentukan aksi yang tepat dan pada akhirnya sebuah program dapat bekerja secara otomatis memberikan hasil atau putusan yang benar.

Lebih lanjut dalam situs algoritma mengangkat sebuah perumpamaan reinforcement learning dengan menggunakan proses penugasan pada seekor anjing. Menurut situs tersebut, jika kita memberikan pelatihan terhadap seekor anjing, maka sebuah perintah akan dilaksanakan oleh anjing tersebut dengan benar sesuai yang kita latih. Karena perintah telah dilakukan dengan benar oleh si anjing, maka kita akan memperoleh sebuah penghargaan (reward). Artinya, dalam algoritma ini, sebuah mesin didesain melakukan sebuah perintah berdasarkan situasi yang dihadapinya. Karena tidak ada jawaban yang pasti benar, dalam reinforcement learning sebuah mesin akan belajar dari pengalaman-pengalaman sebelumnya agar terhindar dari kesalahan yang berujung pada pemberian hukuman (punishment) dari atasannya.

Itu sekilas pengertian reinforcement learning menurut situs Algoritma. Masih bingung? Belum paham maksudnya? Baik, kita coba ulas dengan bahasa lain disertai dengan pemisalan lainnya.

Paling enak kalau kita berdiskusi soal reinforcement learning itu kita kaitkan dengan permainan atau game. Sebelum jauh pembahasannya, kita perlu sebuah grafik alur (flow chart) dulu untuk mengulasnya lebih mendalam sebagai berikut:

Flow chart reinforcement learning pada machine learning

Jadi, dalam struktur algoritma reinforcement learning, itu terdapat 2 elemen setidaknya yang saling berkaitan, yaitu agent dan enviroment. Agent ini kalau di dalam dunia game itu merupakan karakter asli (wujud orang, binatang, atau lainnya) yang menggambarkan pengguna (user) dari game. Kalau kita bermain PUPG misalkan, avatar atau orang (karakter) yang kita mainkan itu disebut sebagai agent.

Biasanya dalam sebuah game, terdapat beberapa karakter (entah bentuknya benda, bandar, guide, pelayan, dan sejenisnya) yang mengambil peran sebagai pemberi informasi sekaligus memberikan pelayanan terhadap karakter yang kita gunakan (agent), misalkan bila kita ingin membeli senjata atau pistol, itu akan dilayani oleh karakter tersebut. Karakter pemberi informasi dan layanan inilah yang kalau di dalam algoritma reinforcement learning disebut sebagai enviroment atau kalau kita meminjam istilah dunia game disebut sebagai Non Player Character (NPC). Biasanya NPC inilah yang menawarkan pelayanan jual beli senjata atau item karakter, sebagai guide. Sehingga di dalam Environment atau NPC ini biasa tersedia sebuah pasar (market) tempat bertemunya antara agent dengan NPC. Ini kalau situasi dan kondisinya adalah game-game berjenis Battle Royale Arena (BRA).

Interaksi antara agent dengan environment yang berbentuk NPC tadi sebenarnya merupakan data. Mirip dengan ketika kita melatih sejumlah perintah kepada seekor anjing sebagaimana pengertian dari situs Algoritma tadi. Data interaksi itu akan disimpan dalam memori environment termasuk NPC untuk menghadapi situasi atau kemungkinan yang berikutnya yang pasti berbeda, misalnya di dalam game yang berjenis Massively Multiplayer Online Role Playing Game (MMOR-PG). Algoritma yang sama juga diaplikasikan dalam game berjenis Multiplayer Online Battle Arena (MOBA) seperti mobile legend, DOTA, COC, termasuk game berjenis FPS online seperti Counter Strike atau game berjenis Role Playing Game (RPG) semisal Angry Birds.

Berikutnya, keluaran atau output dari proses pelayanan NPC di dalam environment ini akan membentuk sebuah penghargaan (reward) atau state kepada si agent. Mirip dengan kesuksesan seekor anjing tadi, ketika ia berhasil melaksanakan perintah dengan benar, maka sebuah reward atau state diberikan kepada si pelatih (agent).

Prinsip dasar dari reinforcement learning ini adalah bagaimana membuat mesin semakin cerdas dan fleksibel mengikuti situasi dan kondisi dengan cara memberikan data-data yang akumulatif sehingga keputusan yang diambil oleh mesin lebih tepat karena mempertimbangkan situasi dan kondisi sesuai pengalamannya. Data interaksi berupa kata-kata, pertanyaan, atau harga, masuk satu per satu ke dalam memori mesin sehingga mesin dapat membentuk pola situasional sebagai bekal melakukan tugas berikutnya.

Lantas? Apa bedanya dengan supervised learning? Inti perbedaan reinforcement learning dengan supervised learning terletak pada kepastian jawaban yang diberikan oleh environment. Kalau supervised learning, jawaban yang diberikan bersifat kaku karena data terlabelisasinya terbatas dan tidak situasional, sedangkan jawaban yang diberikan oleh algoritma reinforcement learning bersifat situasional, lebih fleksibel, dan untuk menentukan sebuah keputusan benar-benar mempertimbangkan banyak data yang telah dihasilkan dari proses interaksi antara agent dan environment.

Demikian sedikit ulasan mengenai reinforcement learning, semoga sedikit membuka gerbang pemahaman kita semua. Khususnya bagi penggemar analisis data, tetapi tidak memiliki latar belakang keahlian IT seperti saya. Terima kasih dan selamat memahami!

Komentar

Postingan populer dari blog ini

Pemodelan Autoregressive Integrated Moving Average (ARIMA Model) dengan R

ARIMA dengan R Jumpa lagi teman-teman, sebelumnya saya mohon maaf karena kemarin tidak sempat membuat unggahan terbaru di blog ini. Baik, sebelumnya kita telah mengulas tentang pemodelan Geographically Weigthed Regression (GWR) dengan R. Kali ini, kita akan melanjutkan belajar bersama mengenai pemodelan yang tak asing lagi dan populer hingga kini, yaitu pemodelan Autoregressive Integrated Moving Average (ARIMA). Kita akan membahas ARIMA secara langsung tanpa membahas AR dan MA secara tersendiri mengingat pada dasarnya ARIMA adalah model perpaduan antara model AR dengan order p , MA dengan order q dan aspek differencing dengan order d . Artinya, ketika kita mendengar istilah AR(1), maka sebenarnya itu adalah ARIMA(1, 0, 0), ketika kita mendengar ARI(1,1), maka aslinya itu ARIMA(1, 1, 0), atau bila mendengar MA(3), itu sebenarnya ARIMA(0, 0, 3) atau IMA(2,1) sebenarnya adalah ARIMA(0, 2, 1). Data runtun waktu atau time series merupakan salah satu jenis data yang hingga kini banyak digun

Machine Learning: Perbedaan Supervised Learning dan Unsupervised Learning

Perbedaan supervised learning dan unsupervised learning Halo teman-teman, kemarin kita telah mengawali bahasan mengenai salah satu anggota dari Machine Learning sekaligus merupakan contoh dari algoritma supervised learning , yaitu Naive Bayes Classifier (NBC). Akhir-akhir ini, dunia sains data dihebohkan dengan berbagai istilah statistik yang berkaitan erat dengan komputasi atau komputasi statistik, yaitu supervised learning dan unsupervised learning . Sebenarnya ada lagi istilah baru dan cukup makin sulit menyederhanakan definisinya, yaitu reinforcement learning , tapi khusus reinforcement learning nanti akan kita bahas tersendiri karena kita mulai bersinggungan dengan Artificial Intelligence atau kecerdasan buatan. Jujur, saya mengakui bahwa tidak semua dari kita memiliki latar belakang apalagi pakar teknologi informasi (IT). Sehingga, bila kita cermati bahasan-bahasan atau istilah komputasi statistik, sains data, atau data engineering , kita mungkin akan sejenak loading , bahkan s