Topic Modelling Menggunakan Aplikasi Stata

 

Tulisan ini akan membahas bagaimana topik modelling di aplikasi stata. sebelumnya anda bisa membaca artikel-artikel tentang LDA di medium atau sumber bacaan lainnya. Topik Modelling adalah sebuah clustering permodelan yang mampu mengelompokkan data ke titik tertentu. Dengan permodelan ini anda bisa mengetahui bentuk topik dalam sebuah bacaan pada dataset. biasanya para peneliti ini menggunkana algoritma ini melalui aplikasi python atau aplikasi R. Namun tutorial kali ini mencoba membahasa menggunakan aplikasi stata.

Topik modelling ini adalah salah satu bentuk mengolahan data yang bersifat unstructer. tentunya, anda memerlukan data text. data text yang banyak ini disebut dengan corpus. corpus ini lah yang dipakai untuk menganalisis perkumpulan data yang ada. hasilnya, dengan analysis ini anda akan mendapatkan score kemiripan / skor LDA pada setiap observasi text. semakin tinggi score pada sebuah topik maka semakin dekat bacaan tersbut pada satu topik.

baca juga: https://sekolahstata.com/tutorial-aplikasi-stata-bagi-pemula/

topik modelling menggunakan stata

 

Gambar LDA (Latent Dirichlet Allocation)
sumber: https://toolbox.kurio.co.id/topic-modeling-696d7ba2592f?gi=90c651b0ca05

Menurut Carlo Schwarz (2018) LDA di stata terdiri dari dua bagian. pertama the probabilistic model, model ini menjelaskan lda pada pendekatan likelihood function. kedua , pendekatan inference algorithm. karena menyerderhanakan maximizing this likelihood yang tidak mungkin didapatkan. pendekatan yang dipakai pada libarary yang dibangunnya adalag pendekatan Gibbs Sampling. Gibbs Sampling adalah rantai Markov algoritma Monte Carlo, yang didasarkan pada pengambilan sampel berulang kali bersyarat pada semua data lainnya. anda dapat membaca artikel ayng dipublikasikan pada tahun 2018 link berikut ini.

gibbs sampling pada topic modelling menggunakan stata

 

Gibbs sampling
sumber: https://www.researchgate.net/publication/51737586_Computation_of_Steady-State_Probability_Distributions_in_Stochastic_Models_of_Cellular_Networks/figures?lo=1&utm_source=google&utm_medium=organic

 

Baca juga: https://migrasi.sekolahstata.com/tutorial-stata-cara-mengisi-data-kosong-dengan-carryforward/

Praktek topik modelling menggunakan stata

Bagian ini adalah tentang praktek modelling menggunakan stata. praktek kali ini mencoba untuk menemukan topik modelling pada data donasi pada https://kitabisa.com. data tentang covid ini diambil memalui metode scraping data. scraping data adalah bentuk mentransformasikan data yang bersifat unstrukter di website manjadi strukter. langkahnya kita membuat bot dengan menggunakan silenium dan bot tersebut diajari untuk mengambil data dari kitabisa.com. Anda dapat mengakses data dan metode pembuatan bot di laboratorium sekolah stata di link berikut: https://data.sekolahstata.com/data-donasi-kitabisa-com-dalam-melawan-covid-19/.

adapun implementasi LDA distata da beberapa langkah. asumsi data text yang digunakan tidak mengandung text yang berbentuk kata slank atau kata yang tidak baku. langkah untuk implementasinya sebagai berikut:

Pertama, anda perlu menginstall library di stata berikut ini dan tunggu sampai instalasi selesai:

findit ldagibbs


kemudian akan muncul gambar seperti diatas. lalu anda harus install dengan cara klik diatas. sehingga akan muncul gambar dibawah ini 

klik bagian “click here to install”  dan tunggu beberapa menit.

 

Kedua, Mengatur media penyimpanan sesuai dengan alamat data kita.

clear
set more off
capture log close

cd “C:UsersMuhammad Abdul RohmaDownloads”

ketiga : import data xls kedalam aplikasi stata. variabel yang akan dianalysisi menggunakan LDA adalah variabel judul_campaign. command ynag ditulis sebagai berikut ini

import excel “C:UsersMuhammad Abdul RohmaDownloadsData-donasi-kitabisa.com-untuk-covid.xls”, sheet(“Sheet1”) firstrow clear

kempat, karena judul_campaign masih data yang bersifat kotor dan terdapat tanda baca harus dibersihkan terlebih dahulu. Karena hal ini tidak diperlukan dianalysis sehingga harus dibersihkan.

gen text_strings=lower(judul_campaign)

 

commend untuk menghapus tanda baca yang tidak diperlukan, adalah sebagai berikut:

replace text_strings = subinstr( text_strings, “.”, ” “, .)
replace text_strings = subinstr( text_strings, “!”, ” “, .)
replace text_strings = subinstr( text_strings, “?”, ” “, .)
replace text_strings = subinstr( text_strings, “:”, ” “, .)
replace text_strings = subinstr( text_strings, “;”, ” “, .)
replace text_strings = subinstr( text_strings, “,”, ” “, .)
replace text_strings = subinstr( text_strings, “(“, ” “, .)
replace text_strings = subinstr( text_strings, “)”, ” “, .)
replace text_strings = stritrim(text_strings)
list text_strings if _n<=10

setelah variabel text_strings ini bersih dari tanda baca, kita harus mengatur stopword berdasarkan bahsa yang digunakan. berikut adalah kumpulan stopword dan cara mengatur kedalam perintah global.

global stopwords “ada adalah adanya adapun agak agaknya agar akan akankah akhir akhiri akhirnya aku akulah amat amatlah anda andalah antar antara antaranya apa apaan apabila apakah apalagi apatah artinya asal asalkan atas atau ataukah ataupun awal awalnya bagai bagaikan bagaimana bagaimanakah bagaimanapun bagi bagian bahkan bahwa bahwasanya baik bakal bakalan balik banyak bapak baru bawah beberapa begini beginian beginikah beginilah begitu begitukah begitulah begitupun bekerja belakang belakangan belum belumlah benar benarkah benarlah berada berakhir berakhirlah berakhirnya berapa berapakah berapalah berapapun berarti berawal berbagai berdatangan beri berikan berikut berikutnya berjumlah berkali-kali berkata berkehendak berkeinginan berkenaan berlainan berlalu berlangsung berlebihan bermacam bermacam-macam bermaksud bermula bersama bersama-sama bersiap bersiap-siap bertanya bertanya-tanya berturut berturut-turut bertutur berujar berupa besar betul betulkah biasa biasanya bila bilakah bisa bisakah boleh bolehkah bolehlah buat bukan bukankah bukanlah bukannya bulan bung cara caranya cukup cukupkah cukuplah cuma dahulu dalam dan dapat dari daripada datang dekat demi demikian demikianlah dengan depan di dia diakhiri diakhirinya dialah diantara diantaranya diberi diberikan diberikannya dibuat dibuatnya didapat didatangkan digunakan diibaratkan diibaratkannya diingat diingatkan diinginkan dijawab dijelaskan dijelaskannya dikarenakan dikatakan dikatakannya dikerjakan diketahui diketahuinya dikira dilakukan dilalui dilihat dimaksud dimaksudkan dimaksudkannya dimaksudnya diminta dimintai dimisalkan dimulai dimulailah dimulainya dimungkinkan dini dipastikan diperbuat diperbuatnya dipergunakan diperkirakan diperlihatkan diperlukan diperlukannya dipersoalkan dipertanyakan dipunyai diri dirinya disampaikan disebut disebutkan disebutkannya disini disinilah ditambahkan ditandaskan ditanya ditanyai ditanyakan ditegaskan ditujukan ditunjuk ditunjuki ditunjukkan ditunjukkannya ditunjuknya dituturkan dituturkannya diucapkan diucapkannya diungkapkan dong dua dulu empat enggak enggaknya entah entahlah guna gunakan hal hampir hanya hanyalah hari harus haruslah harusnya hendak hendaklah hendaknya hingga ia ialah ibarat ibaratkan ibaratnya ibu ikut ingat ingat-ingat ingin inginkah inginkan ini inikah inilah itu itukah itulah jadi jadilah jadinya jangan jangankan janganlah jauh jawab jawaban jawabnya jelas jelaskan jelaslah jelasnya jika jikalau juga jumlah jumlahnya justru kala kalau kalaulah kalaupun kalian kami kamilah kamu kamulah kan kapan kapankah kapanpun karena karenanya kasus kata katakan katakanlah katanya ke keadaan kebetulan kecil kedua keduanya keinginan kelamaan kelihatan kelihatannya kelima keluar kembali kemudian kemungkinan kemungkinannya kenapa kepada kepadanya kesampaian keseluruhan keseluruhannya keterlaluan ketika khususnya kini kinilah kira kira-kira kiranya kita kitalah kok kurang lagi lagian lah lain lainnya lalu lama lamanya lanjut lanjutnya lebih lewat lima luar macam maka makanya makin malah malahan mampu mampukah mana manakala manalagi masa masalah masalahnya masih masihkah masing masing-masing mau maupun melainkan melakukan melalui melihat melihatnya memang memastikan memberi memberikan membuat memerlukan memihak meminta memintakan memisalkan memperbuat mempergunakan memperkirakan memperlihatkan mempersiapkan mempersoalkan mempertanyakan mempunyai memulai memungkinkan menaiki menambahkan menandaskan menanti menanti-nanti menantikan menanya menanyai menanyakan mendapat mendapatkan mendatang mendatangi mendatangkan menegaskan mengakhiri mengapa mengatakan mengatakannya mengenai mengerjakan mengetahui menggunakan menghendaki mengibaratkan mengibaratkannya mengingat mengingatkan menginginkan mengira mengucapkan mengucapkannya mengungkapkan menjadi menjawab menjelaskan menuju menunjuk menunjuki menunjukkan menunjuknya menurut menuturkan menyampaikan menyangkut menyatakan menyebutkan menyeluruh menyiapkan merasa mereka merekalah merupakan meski meskipun meyakini meyakinkan minta mirip misal misalkan misalnya mula mulai mulailah mulanya mungkin mungkinkah nah naik namun nanti nantinya nyaris nyatanya oleh olehnya pada padahal padanya pak paling panjang pantas para pasti pastilah penting pentingnya per percuma perlu perlukah perlunya pernah persoalan pertama pertama-tama pertanyaan pertanyakan pihak pihaknya pukul pula pun punya rasa rasanya rata rupanya saat saatnya saja sajalah saling sama sama-sama sambil sampai sampai-sampai sampaikan sana sangat sangatlah satu saya sayalah se sebab sebabnya sebagai sebagaimana sebagainya sebagian sebaik sebaik-baiknya sebaiknya sebaliknya sebanyak sebegini sebegitu sebelum sebelumnya sebenarnya seberapa sebesar sebetulnya sebisanya sebuah sebut sebutlah sebutnya secara secukupnya sedang sedangkan sedemikian sedikit sedikitnya seenaknya segala segalanya segera seharusnya sehingga seingat sejak sejauh sejenak sejumlah sekadar sekadarnya sekali sekali-kali sekalian sekaligus sekalipun sekarang sekarang sekecil seketika sekiranya sekitar sekitarnya sekurang-kurangnya sekurangnya sela selain selaku selalu selama selama-lamanya selamanya selanjutnya seluruh seluruhnya semacam semakin semampu semampunya semasa semasih semata semata-mata semaunya sementara semisal semisalnya sempat semua semuanya semula sendiri sendirian sendirinya seolah seolah-olah seorang sepanjang sepantasnya sepantasnyalah seperlunya seperti sepertinya sepihak sering seringnya serta serupa sesaat sesama sesampai sesegera sesekali seseorang sesuatu sesuatunya sesudah sesudahnya setelah setempat setengah seterusnya setiap setiba setibanya setidak-tidaknya setidaknya setinggi seusai sewaktu siap siapa siapakah siapapun sini sinilah soal soalnya suatu sudah sudahkah sudahlah supaya tadi tadinya tahu tahun tak tambah tambahnya tampak tampaknya tandas tandasnya tanpa tanya tanyakan tanyanya tapi tegas tegasnya telah tempat tengah tentang tentu tentulah tentunya tepat terakhir terasa terbanyak terdahulu terdapat terdiri terhadap terhadapnya teringat teringat-ingat terjadi terjadilah terjadinya terkira terlalu terlebih terlihat termasuk ternyata tersampaikan tersebut tersebutlah tertentu tertuju terus terutama tetap tetapi tiap tiba tiba-tiba tidak tidakkah tidaklah tiga tinggi toh tunjuk turut tutur tuturnya ucap ucapnya ujar ujarnya umum umumnya ungkap ungkapnya untuk usah usai waduh wah wahai waktu waktunya walau walaupun wong yaitu yakin yakni yang”

Mengapa stopword sangat diperhatikan pada analysis ini?. stopword ini memiliki kharakter mengulang seperti “dan” dan “yang”. hampir rata-rata kalimat kita menggunakan kata stopword. Karena kata ini sebagai kata penghubung pada sebuah kalimat. Ketika kata ini dimasukkan kedalam analysis, maka kata ini memiliki frekuensi yang tinggi. hal ini akan mengganggu sebuah analysis LDA.

Kelima, setelah variabel text_strings ini bersih maka kita sudah dapat menggunakan perintah untuk menganalisis topic modelling. Adapun perintah untuk menganalysis LDA melalui aplikasi stata adalah sebagai berikut :

ldagibbs text_strings, topics(5) alpha(0.25) beta(0.1) seed(3) burnin_iter(1000) samples(10) sampling_iter(50) min_char(5) normalize mat_save stopwords(“$stopwords”)

Pada kesempatan ini kita membuat 5 topik model dengan alpha alpha(0.25) beta(0.1) seed(3) burnin_iter(1000) samples(10) sampling_iter(50) min_char(5). untuk lebih jelas pengaturan angka ini anda dapat membaca help ldagibbs diaplikasi stata. Output dari analysisi ini akan menghasilkan lima variabel baru yang berisi score pada topik.

Kesimpulan

Aplikasi stata sudah dapat digunakan untuk menganalysis data yang bersifat unstructer. sobat stata dapat menggunakan langkah-langkah diatas sebagai bahan pembelajaran. tentunya terdapat catatan yang harus diperhatikan ketika menggunakan library ini. data yang kita milki harus terhindar dari kata-kata slank yang akan menganggu analysis. kemudian pengulangan dalam konteks penekanan masih belum dijadikan sebagai satu kalimat. bagi sobat stata yang ingin bertanya dan memberikan saran bisa meninggalkan dikolom komentar berikut ini.

 

 

 

 

 

Leave a Comment

Scroll to Top