dafiqrahman commited on
Commit
cbf9eb3
β€’
1 Parent(s): 832fae0

upload file

Browse files
README.md CHANGED
@@ -4,9 +4,14 @@ emoji: πŸ‘€
4
  colorFrom: green
5
  colorTo: yellow
6
  sdk: streamlit
7
- sdk_version: 1.15.2
8
  app_file: app.py
9
  pinned: false
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
4
  colorFrom: green
5
  colorTo: yellow
6
  sdk: streamlit
7
+ sdk_version: 1.16.0
8
  app_file: app.py
9
  pinned: false
10
  ---
11
 
12
+ # twitter sentiment app
13
+
14
+ Aplikasi sederhana untuk melakukan analisis sentimen terhadap tweet yang diinputkan dan mengekstrak topik dari setiap sentimen
15
+
16
+ link website : https://dafiqrahman-twitter-sentiment-app-app-shcgk3.streamlit.app/
17
+
__pycache__/functions.cpython-310.pyc ADDED
Binary file (2.23 kB). View file
 
__pycache__/plotting.cpython-310.pyc ADDED
Binary file (3.61 kB). View file
 
__pycache__/text_proc.cpython-310.pyc ADDED
Binary file (4.41 kB). View file
 
app.py ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import script.functions as fn
4
+ import plotly.express as px
5
+ import matplotlib.pyplot as plt
6
+ # import text_proc in script folder
7
+ import script.text_proc as tp
8
+
9
+ # Load data
10
+ # add tiwtter logo inside title
11
+ st.markdown("<h1 style='text-align: center;'>πŸ—¨οΈTwitter Sentiment Analysis App</h1>", unsafe_allow_html=True)
12
+ st.write("Aplikasi sederhana untuk melakukan analisis sentimen terhadap tweet yang diinputkan dan mengekstrak topik dari setiap sentimen.")
13
+ # streamlit selectbox simple and advanced
14
+
15
+ sb1,sb2 = st.columns([1,4])
16
+ with sb1:
17
+ option = st.selectbox('Pilih Mode Pencarian',('Simple','Advanced'))
18
+
19
+ if option == 'Simple':
20
+ # create col1 and col2
21
+ col1, col2 = st.columns([3,2])
22
+ with col1:
23
+ input = st.text_input("Masukkan User/Hastag", "@BPJSKesehatanRI")
24
+ with col2:
25
+ length = st.number_input("Jumlah Tweet", 10, 500, 100)
26
+ else :
27
+ col1, col2 = st.columns([3,1])
28
+ with col1:
29
+ input = st.text_input("Masukkan Parameter Pencarian", "(@undipmenfess AND @BPJSKesehatanRI) -filter:links filter:replies lang:id")
30
+ with col2:
31
+ length = st.number_input("Jumlah Tweet", 10, 500, 100)
32
+ st.caption("anda bisa menggunakan parameter pencarian yang lebih spesifik, parameter ini sama dengan paremeter pencarian di twitter")
33
+
34
+ submit = st.button("πŸ”Cari Tweet")
35
+
36
+ st.caption("semakin banyak tweet yang diambil maka semakin lama proses analisis sentimen")
37
+
38
+ if submit:
39
+ # df = pd.read_csv("assets/data.csv")
40
+ with st.spinner('Mengambil data dari twitter... (1/2)'):
41
+ df = fn.get_tweets(input, length, option)
42
+ with st.spinner('Melakukan Prediksi Sentimen... (2/2)'):
43
+ df = fn.get_sentiment(df)
44
+ df.to_csv('assets/data.csv',index=False)
45
+ # plot
46
+ st.write("<b>Preview Dataset</b>",unsafe_allow_html=True)
47
+ st.dataframe(df,use_container_width=True,height = 200)
48
+ st.write ("Jumlah Tweet: ",df.shape[0])
49
+ # download datasets
50
+
51
+
52
+ st.write("<h3>πŸ“Š Analisis Sentimen</h3>",unsafe_allow_html=True)
53
+ col_fig1, col_fig2 = st.columns([4,3])
54
+ with col_fig1:
55
+ with st.spinner('Sedang Membuat Grafik...'):
56
+ st.write("<b>Jumlah Tweet Tiap Sentiment</b>",unsafe_allow_html=True)
57
+ fig_1 = fn.get_bar_chart(df)
58
+ st.plotly_chart(fig_1,use_container_width=True,theme="streamlit")
59
+ with col_fig2:
60
+ st.write("<b>Wordcloud Tiap Sentiment</b>",unsafe_allow_html=True)
61
+ tab1,tab2,tab3 = st.tabs(["negatif","netral","positif"])
62
+ with tab1:
63
+ wordcloud_pos = tp.get_wordcloud(df,"negatif")
64
+ fig = plt.figure(figsize=(10, 5))
65
+ plt.imshow(wordcloud_pos, interpolation="bilinear")
66
+ plt.axis("off")
67
+ st.pyplot(fig)
68
+ with tab2:
69
+ wordcloud_neg = tp.get_wordcloud(df,"netral")
70
+ fig = plt.figure(figsize=(10, 5))
71
+ plt.imshow(wordcloud_neg, interpolation="bilinear")
72
+ plt.axis("off")
73
+ st.pyplot(fig)
74
+ with tab3:
75
+ wordcloud_net = tp.get_wordcloud(df,"positif")
76
+ fig = plt.figure(figsize=(10, 5))
77
+ plt.imshow(wordcloud_net, interpolation="bilinear")
78
+ plt.axis("off")
79
+ st.pyplot(fig)
80
+ st.write("<h3>✨ Sentiment Clustering</h3>",unsafe_allow_html=True)
81
+ @st.experimental_singleton
82
+ embedding_model = fn.load_sentence_model()
83
+ tab4,tab5,tab6 = st.tabs(["Negatif","Netral","Positif"])
84
+ with tab4:
85
+ if len(df[df["sentiment"]=="negatif"]) < 11:
86
+ st.write("Tweet Terlalu Sedikit, Tidak dapat melakukan clustering")
87
+ st.write(df[df["sentiment"]=="negatif"])
88
+ else:
89
+ with st.spinner('Sedang Membuat Grafik...(1/2)'):
90
+ text,data,fig = tp.plot_text(df,"negatif",embedding_model)
91
+ st.plotly_chart(fig,use_container_width=True,theme=None)
92
+ with st.spinner('Sedang Mengekstrak Topik... (2/2)'):
93
+ fig,topic_modelling = tp.topic_modelling(text,data)
94
+ st.plotly_chart(fig,use_container_width=True,theme="streamlit")
95
+ with tab5:
96
+ if len(df[df["sentiment"]=="netral"]) < 11:
97
+ st.write("Tweet Terlalu Sedikit, Tidak dapat melakukan clustering")
98
+ st.write(df[df["sentiment"]=="netral"])
99
+ else:
100
+ with st.spinner('Sedang Membuat Grafik... (1/2)'):
101
+ text,data,fig = tp.plot_text(df,"netral",embedding_model)
102
+ st.plotly_chart(fig,use_container_width=True,theme=None)
103
+ with st.spinner('Sedang Mengekstrak Topik... (2/2)'):
104
+ fig,topic_modelling = tp.topic_modelling(text,data)
105
+ st.plotly_chart(fig,use_container_width=True,theme="streamlit")
106
+ with tab6:
107
+ if len(df[df["sentiment"]=="positif"]) < 11:
108
+ st.write("Tweet Terlalu Sedikit, Tidak dapat melakukan clustering")
109
+ st.write(df[df["sentiment"]=="positif"])
110
+ else:
111
+ with st.spinner('Sedang Membuat Grafik...(1/2)'):
112
+ text,data,fig = tp.plot_text(df,"positif",embedding_model)
113
+ st.plotly_chart(fig,use_container_width=True,theme=None)
114
+ with st.spinner('Sedang Mengekstrak Topik... (2/2)'):
115
+ fig,topic_modelling = tp.topic_modelling(text,data)
116
+ st.plotly_chart(fig,use_container_width=True,theme="streamlit")
117
+
118
+
119
+
120
+
assets/data.csv ADDED
@@ -0,0 +1,501 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ sentiment,content
2
+ netral,Sudah dengan agent Firza yang mana sebelumnya sama agent Pita langsung di solved padahal belum selesai nanya terima kasih responnya ya.
3
+ netral,"min, tolong cek dm ya, terima kasih"
4
+ netral,cek dm min
5
+ negatif,tolong dong traveloka refund saya lama sekali ditangani sudah sai lebih 90 hari
6
+ positif,Makasiihh kak jadi semangat nihhh selalu liat konten Traveloka dan disemangati sama kakak Admkn
7
+ netral,mohon cek dm min
8
+ netral,min ada kupon promo kereta yg gede gk dri mdn ke bks
9
+ netral,Cek dm min
10
+ netral,"mohon cek dm min, terima kasih"
11
+ negatif,loh tp bukannya penerbangan internasional itu di terminal 3 semua min
12
+ netral,min buat penerbangan ke malaysia dari CGK pakai batik air malaysia itu terminal 2 atau 3 ya di tiket terminal 2F tp bukannya penerbangan internasional di terminal 3 ya mohon bantuannya makasih min
13
+ positif,"Waaww. Selamattt Bismillah bulan depan namakuu. Geer dulu, menang GA kemudian wkwk"
14
+ positif,Selamaat
15
+ netral,mint kalo tiket pesawat wajib milih tempat duduk
16
+ netral,min mau ubah nomor kursi di akun traveloka bisa ga ya Kursi kereta
17
+ netral,cek dm kak
18
+ positif,Promo traveloka bikin kita untung dan gak bikin kantong jebol
19
+ positif,"Masuk wishlist, semoga kesaian naik.. Yang pasti pesan pakai traveloka.. Liburan dadakan menguntungkan"
20
+ netral,cek DM min
21
+ netral,"min, cek DM yaa"
22
+ netral,Cek dm min
23
+ positif,"Wahhhh selalu takjub sama keren dan indahnya gerbong kereta Panoramic, semoga suatu saat bisa kesaian naik Panoramic, makasi kak kontenΒ² nya"
24
+ netral,"Min tolong dikasih fitur chat di apknya, biar bisa tanya2 dulu, terkadang dapat kamarnya gak sesuai ekspektasi."
25
+ netral,tolong cek dm ya. Terimakasih
26
+ netral,Sudah min
27
+ netral,"hi please cek DM, saya mengalami kendala untuk pembayaran credit card. thank you"
28
+ positif,Tetep tertawa bahagia meskipun banyak kerjaan :
29
+ negatif,". halo TK, case ini masih BELUM SELESAI yah. SOLUSI TERBAIK masih belum didapatkan. Yang ada masing2 pihak MELEMPARKAN/LEPAS TANGGUNG JAWAB. bilang Ini kewengan dan sebaliknya. Cc."
30
+ netral,min.. tolong cek DM
31
+ negatif,min lagi error kah Gabisa pesen tiket pesawat
32
+ netral,Ka cek DM
33
+ positif,"tidak cuti sih, tapi memang belom ada kerjaan jadi masih meliburkan diri"
34
+ netral,Bc dm kak
35
+ netral,Sudah diinfokan di dm mohon di respon
36
+ positif,Siap minnn Anyway semoga berkah buat kita semua ya
37
+ positif,"Makasih minn, mimin juga ya semangattt Kapan nih ada GA lagi"
38
+ negatif,Kalo yang masuk kerja gimana min
39
+ positif,Sudah kerja kak tapi tetap semangat supaya bisa nabung buat jalanΒ²
40
+ netral,min cek dm
41
+ netral,"Halo, barusan saya booking hotel. Tapi kenapa pas pilih split payment tombol pay with bcanya gak bisa dipencet Terus saldo uangku saya gak bisa dipake dong"
42
+ netral,baca DM min
43
+ netral,Promo tiket pesawat ada kah min
44
+ netral,nunggu epic sale aja
45
+ positif,Makasih Kak udah bantu share. Jangan se ketinggalan yaa.. -RU
46
+ netral,"Maksudku, trip perjalanan/positioning mobilnya selama durasi sewa itu apakah bisa di monitor seperti aplikasi gojek dll Contoh: Oh si mobil ke tempat a, pindah ke b dan sekarang jalan dengan koordinat c"
47
+ positif,Waahhh tahun baru makin banyak promo mantap
48
+ positif,"Asik, dapet kode promo diskon khusus ga min"
49
+ netral,cek dm min.
50
+ netral,call center nya berapa 29103300 ga ada yang angkat
51
+ negatif,ck dm
52
+ netral,ingfo diterima min
53
+ netral,min balas dm saya lagi
54
+ netral,Balas lagi ya min soalnya aku mau nanya2
55
+ netral,min cek dm
56
+ netral,"Halo SY, ini : 868173467. Thanks. Cc. Tolong yah TIDAK SALING LEMPAR - LEMPARAN Kebijakan antara Kalian. Cari kan SOLUSI TERBAIKNYA buat saya, client kalian. Please."
57
+ negatif,kalau voucher tertunda gimana Kok lama
58
+ netral,sudah kudm ya min tolong dicek
59
+ netral,"halo Traveloka saya mau tanya, kalau misal saya pengajuan reschedule flight dan misalkan sudah keluar inoive baru dan belum dibayar, selama belum bayar tidak jadi reschedule, eticket dan pemesanan sebelumnya tetap berlaku kan ya"
60
+ netral,"Halo Santi, Asya dan Nia sdh Copy case saya ini. Dan sdh saya kirim Data dan informasi yg LENGKAP koq. Silahkan koordinasi dg beliau. Anda kan Team bukan Thanks"
61
+ netral,Udah di dm cek ya
62
+ netral,"Halo min, cek DM yaaa"
63
+ positif,siap Min otw pesenn
64
+ netral,apakah ada cara laen untuk terima verification code Karena saya tidak bisa terima otp dari sms maupun call
65
+ netral,cek dm lagi min
66
+ negatif,Diskon pesawat kek min
67
+ positif,Mantab Langsung buka aplikasi
68
+ netral,Yuk Kak quality time atau me time sambil nyusun wishlist dan goals di 2023 -AH
69
+ negatif,Ketemu cowo hindu
70
+ negatif,CS nya semua cumq kayak robot mesin. asal reply dengan template. Tidak ada komunikasi yg baik untuk menyelasaikan masalah.
71
+ negatif,Udah segala cara saya coba tapi kok naknya tidak ada tanggapan yang benar ya. Semua chat ke cs tanggapannya hanya template. Tolong hargai upaya customer. Masa sudah 2minggu tidak ada kejelasan. Tidak professional sekali
72
+ netral,Ngajak istri bisa kali y
73
+ netral,oke min tolong tambahin kuponnya ya aku dm email ku
74
+ netral,minn promo mastercard kenapa out of stock besok ada lagi ga
75
+ negatif,maaf udah ga sabar bulan madu yg ke 117. -LM
76
+ netral,Se tgl brp nih Pgn staycation
77
+ positif,Ini dia yg aq tnggu
78
+ negatif,masa berlakunya se kapan min mauuuuu
79
+ positif,Makasih ya Kak udah retweet. -CA
80
+ positif,Enaknya ngajak siapa yhh
81
+ netral,"halo min minta tolong check dm ya, ada urgensi dari penumpang mengenai ketidakprofesionalan mitra dan penumpang sangat butuh bantuan, tindakan admin, makasih"
82
+ positif,"tempat kerja yang seruu, bos dan temen temen kantor yang baikkkk banget trs temen temen kuliah yang baik baikk juga"
83
+ negatif,"Tapi min, barusan cek tiket kereta Jayakarta kok tulisanya EKO ya Bukannya semua gerbang Jayakarta kursinya tipe PRE"
84
+ negatif,Iye ngab hadeuh
85
+ positif,"Selalu semangat kakkk, makasiii kakk"
86
+ positif,Semoga 2023 bisa lulus terus dapet rejeki ke korea amiin
87
+ netral,"halo min, kalau refund tiket pesawat di traveloka, akan di kembalikan berupa uang atau travel kredit ya"
88
+ netral,min penerbangan domestik dengan maskapai garuda tanggal 12 januari dipagi hari gada yaaa
89
+ netral,"siang min, kartu bri traveloka saya mau expired min. Perpanjang nya gimana ya"
90
+ netral,ini min shafamaulidia12
91
+ netral,cek dm dong
92
+ positif,Aku pingin bisa bener2 ditahun 2023 ka Hohoo
93
+ netral,"minnn cek dm yaa, urgent niii"
94
+ netral,cek dm ya tlg
95
+ netral,min klo pesan hotel include makan malam dan berakfast ada kah
96
+ netral,"kak mau tanya, akupesen lwt traveloka tp kok di pesanan sy gaada y"
97
+ negatif,"udh saya bales, adminnya blm balas lg"
98
+ netral,tolong bales lg min
99
+ netral,min. cek dm ya
100
+ netral,min cek dm yaa
101
+ netral,tolong dibantu cek dm
102
+ negatif,kui lo min di kon ngecek dm
103
+ netral,Kak bales chat ku dongg
104
+ netral,promo waktunya ngegas mulai tgl brp
105
+ netral,Sudah saya kirim tolong di cek
106
+ negatif,Sama aja boong kl duitnya ditahan 2 se 5hr .. pdhl kesalahan pada .. ngapain jg suruh bayar kl udh tahu flightnya ga bisa direschedule .. ga profesional banget service-nya ..
107
+ netral,saya ada double bayar bisa tolong di bantu untuk pengembalian dana.
108
+ negatif,"payah sekali after sales servicenya.Complain sudah 11hari, setiap hari follow up hanya dijawab dengan template sama dgn cs yg berbeda.Brp lama traveloka bisa menyelesaikan masalah dengan real actionurusan travelokamaskapai yg membatalkan sepihak tapi cust rugi"
109
+ negatif,Dipertemukan dengan orang yang salah
110
+ netral,cek dm min
111
+ netral,"bales dm kak, urgent"
112
+ negatif,"vendor penagihan paylater nya pake apa sih selaras2 apa tu perusahaan gede kaya traveloka pake vendor penagihan abal2, udah bayar tagihan masih aja nanya bukti pembayaran. mana ga pada punya sopan santun buat ukuran nagih orang yang udah bayar."
113
+ positif,baik mkasih
114
+ netral,halo... apakah pembelian tiket kereta bisa refund ya apakah bisa saya dm
115
+ positif,SEMANGAT
116
+ negatif,"Jadi rajin olahraga, yoga dan badminton. Kayak bener-bener serutin itu"
117
+ positif,Traveloka malah lebih informatif. Dikasih lengkap tulisan premium economy. Di aplikasi KAI access malah cuman kode PRE
118
+ netral,Min Tolong cek dm.
119
+ negatif,Semua buruuukk
120
+ positif,Plan liburan ke bali dan thailand nih di 2023. Semoga lancar rejekinya
121
+ positif,Seru banget nih pasti liburan bareng keluarga besar mana diskonnya gede lagi aw
122
+ positif,Wahh mantap nih liburan traveloka ngadain promo besar2an
123
+ positif,Semua urusan lancar dan ada rejeki ajak anak2 liburan ke singapore. Hihi. Aminnn
124
+ positif,"Semoga rejeki makin lancar, liburan makin jos"
125
+ positif,"pengen ajak liburan mamah mamahku pasti happy banget kalau aku ajak jalan-jalan, meskipun cuma dilingkup Indonesia, contohnya Bali."
126
+ netral,"mau jalan-jalan... kemana aja, bali boleh, nanti nginep divilla sama keluarga, spend my time for them."
127
+ positif,wish list banget pengen spend time ke Raja Ampat. semoga tahun depan kali ini bisa kecapaian deh
128
+ netral,"berkali kali gagal buat main ke Bandung, bahkan keliling Jakarta belum keseann :"
129
+ netral,Udah min
130
+ netral,"Wishlist tahun depan pengen jalan ke bali, mau belajar surfing sabi kali"
131
+ positif,Pengen deh liburan bareng keluarga atau temen Kalo ga ada nemenin juga gpp yg penting liburan
132
+ positif,Moga kesaian liburan bareng ortu ke labuhan bajo
133
+ netral,"Wishlist tahun 2023, bisa honeymoon ke 2 dengan pasangan"
134
+ positif,Makasih mimin
135
+ positif,2023 mau liburan ke sumba. Amin
136
+ positif,"Makin hoki, banyak promo traveling murmer biar bisa sering staycation"
137
+ positif,"Semoga Tahun baru yang datang, menjadi lebih baik dari sebelumnya Kak. -NT"
138
+ netral,Udah nabung buat tahun depan bawa ortu liburan
139
+ positif,Wishlist terpenuhi
140
+ positif,Ngatain perasaan sedalam2nya ke kluarga
141
+ netral,Pengen banget liburan keliling Indonesia
142
+ netral,Mau ke jepang
143
+ netral,hayu kita pergi bareng min
144
+ positif,Semoga tercapai semuanya
145
+ positif,Mau makan ramen langsung di tempatnya
146
+ positif,Wishlist terpenuhi
147
+ positif,Wishliat terpenuhi semua
148
+ netral,Mau ke jepang
149
+ netral,Mau main ke luar negeri
150
+ positif,Pengen nyatain bahwa aku sebenernya sukaaa sm dia ea
151
+ netral,semoga tahun 2023 bisa pergi ke Singapura amin
152
+ positif,mauu keliling indonesia asliii
153
+ netral,2023 semoga bisa liburan ke Korea
154
+ positif,Alhamdulillah tahun ini lebih baik moga tahun selanjutnya lebih baik lagi
155
+ netral,Boleh banget dong Kak. Yuk cek segera aplikasi Traveloka kamu. -AH
156
+ netral,"Masih bingung mau liburan kemana nihhhh, pengennya naik wahana wahana gitu deh bareng adeku. Atau pengen wisata air gituu"
157
+ positif,Gak berasa yaa udah tahun baru aja saatnya liburan kita santai santai bareng traveloka hehe
158
+ netral,wishlist ku tahun ini pengin ke bali bareng cwo aku hihi
159
+ netral,pengin liburan ke labuhan bajo di tahun baru
160
+ netral,pengin deh liburan tiap bulan
161
+ netral,semoga wishlist tahun ini buat ke bali tercapai
162
+ netral,semoga bisa ajak ortu ke labuhan bajo
163
+ netral,pengin liburan ke bali di 2023
164
+ netral,whislist pengin liburan rutin tiap bulan semoga kecapaian
165
+ positif,"belum kecapaian liburan ke bali, semoga tahun ini"
166
+ positif,Kalau bisa sih akhir tahun ini bisa ada me time dan enggak diganggu lemburan wkwkwkw aduh gue pengen banget ke pantai wak
167
+ positif,kayaknya seru tahun baru ke pantai deh
168
+ positif,semoga bisa ajakin keluarga ke luar negeri
169
+ netral,pengin ke korea siapa tau ketemu jaemin huhu
170
+ negatif,Heheheheh pengen ke bali belum jadi nih tahun ini banyak kerjaan capek pisan
171
+ netral,whislist pengin bawa keluarga ke korea
172
+ positif,Moga makin banyak kesempatan buat travelling
173
+ positif,"Hello 2023. Semoga usaha makin sukses, supaya bisa healing2 seru"
174
+ positif,Bisa naik pangkat biar makin banyak rejekinya buat liburan.
175
+ positif,Moga aja tiket hotel makin murah tahun depan. Jd bisa sering healing
176
+ positif,Semoga bisa ajakin ortu liburan ke labuhan bajo
177
+ positif,"Akhir tahun mau tidur ajalah biar tidur setahun : tapi janji 2023 gue bakal jalan jalan, menikmati libur pokoknya"
178
+ netral,Liburan tiap bulan biar ga stress. Hihi
179
+ negatif,bisa aja keluarga ke luar negri semoga aja
180
+ positif,Mau ke bali please 2023 gue kangen banget bali woooyy T_T
181
+ netral,wishlist pengin ke korea
182
+ negatif,semoga tahun ini bisa kebali wkwkw
183
+ positif,"2023, bisa dpaat tiket murah ke singapore. Aminnn"
184
+ positif,Semangat cari cuan buat pergi healing ke bali
185
+ negatif,"Ga neko neko sih karena tahun ini gue gagal jalan ke sunatra, tahun depan gue mau solo travel ngambil jatah libur ke sana"
186
+ positif,Semoga bisa ke raja at yak tahun depan
187
+ negatif,Pengen mainn sama ayang ga siii wkwk
188
+ netral,Pengen liburan ke labuhan bajo di 2023
189
+ negatif,"Pengen liburann kemanaa ajaaa, cape samaa tugass"
190
+ netral,Sebel 2022 jarang liburan. 2023 lebih sering lg yukk.
191
+ positif,"Setahun ini gue kurang waktu manjain diri sendiri, 2023 gue akan jalan jalan panjang hahah ke thailand :D"
192
+ netral,"Pengen ke luar negerii, bismillah 2023"
193
+ netral,"Mau bawa nyokap jalan jalan tahun ini belum kesean, insyaallah tahun depan sabilah bawa nyokap jalan ke yang beliau mau"
194
+ netral,Semiga disegerakan ke eropa bareng keluarga
195
+ positif,"Pengenn main ke koreaa, bismillah"
196
+ netral,mau ajak keluargaku ke Bandung naik kereta dan pergi ke banyak destinasiii
197
+ negatif,keliling Jogja malem-malem dan jajan dijalanan masih menjadi wishlist berat
198
+ positif,"Mau ke raja attt, surgaa duniaa wkwk"
199
+ netral,"Tahun baruan kali ini pengen banget trip ke bali, buat self reward yang dah kerja selama setahun ini."
200
+ netral,"Pengen keliling kota, liburan berdua sama orang yg disayang"
201
+ positif,"barengg ayangg ke banda neira,, aaa mauu bgtt"
202
+ positif,"Akhir tahun mantai kayaknya seru nih, apalagi bareng keluarga"
203
+ netral,Pengen ajak doi healing muter muter naik motor
204
+ netral,pengen habisin waktu bareng temen pergi ke wahana mainan
205
+ positif,Menyambut tahun baru enaknya jalan jalan ke tepi pantai
206
+ positif,Please be nice 2023. Sekoga makin banyak promo murmer buat traveling.
207
+ netral,"Pengen picnic barengg keluargaa tercinta, udh lama ga qtime bareng"
208
+ positif,"Saatnya memanjakan diri bersama keluarga, healing akhir tahun"
209
+ netral,Pengen solo leveling wkwkw maksudnya solo travel di jawa nih belum jadi jadi
210
+ netral,"mumpung januari udah mulai kuliah ngekos, pengen ngabisin malem tahun baru bareng keluarga dirumah"
211
+ positif,"Pengenn nanjak, udh lamaa pengen nyobainn"
212
+ positif,keinginan utama aku yaitu jalan-jalan di Pulau Komodo dan ngamatin komodo seharian
213
+ positif,semoga 2023 bisa nyer temenku yang ada di Korea dan travel
214
+ netral,"mau ajakin orang tua keliling Indonesia, dari Sabang sai Meraoke"
215
+ positif,Doain ya min semoga tahun baru bisa jalan2 bareng keluarga
216
+ netral,Pengen liburan ke bali bareng keluarga besar
217
+ netral,Pengen bgt liburan ke Raja Ampat. Masih nabung biar bisa terwujud.
218
+ positif,"Kayaakk, yg nggak kecapai itu nggakpapa. Ada yg lebih dikesempatan lainn"
219
+ netral,Pengenn pergi liburan akhir tahunn beberapa harii sama keluarga
220
+ positif,"Jepang adalah willshit healingku, semoga tercapai"
221
+ netral,hmm.. yang kependem sih banyak.. tapi selalu pengen ke Paris dan liat lunya nyala pas malem
222
+ positif,"Pengen trip agak jauhan dikit aja sih, klau bisa jauh banget wkekwk. Kemana aja sih oke karena udah gk bingung lagi karena ada traveloka"
223
+ netral,Ajak keluarga healing ke pantai akhir tahun
224
+ positif,besok malem tahun baru mau bakar bakar dirumah bareng keluarga semoga acaranya lancar
225
+ netral,Healing kemana mana bareng keluarga
226
+ positif,ga kesean buat banyakin me time dan memanjakan diri. untungnya bisa jalan ke solo besok
227
+ positif,Ajak mama papa healing ke labuan bajo pasti seru
228
+ positif,Wishlist jalan jalan ke jepang sama keluarga
229
+ negatif,pengen nyerin temen pena di Malaysia ga kebayang gimana senengnyaa
230
+ positif,pengen seru seruan bareng bestieee biar kepala ga mumet mumet amat abis bikin laporan akhir tahun
231
+ positif,"Pulau sumatera kamu adalah targetku yang harus aku explore tapi belum kesean, bismillah yaaa tahun berikutnya bisa kesean explorenya"
232
+ netral,"BarengΒ² keluar negri sama kk, kuliah disana"
233
+ positif,pengen quality time bareng temen keluarga. semoga kesempatan di 2023 lebih banyak dari 2022
234
+ netral,Bisa ajak keluarga ke luar negri. Semoga yak
235
+ netral,Pengen ke jepang wehhhh
236
+ netral,"Ke Korea, mau ketemu Oppa hehe"
237
+ positif,Pengen seneng2 sebagai reward atas perjuangan selama setahun. Pas bgt ada diskon hehe
238
+ positif,Liburan rutin tiap bulan moga2 terwujud. Aminnn
239
+ positif,"PENGENNNN BANGETTTTTTT ke Bali dan healing sama keluarga, biar bisa capture memories"
240
+ netral,Pengen ngajak bapak ibu healing ke danau
241
+ positif,"Honeymoon ke bali, bareng ayang"
242
+ positif,"kangen banget jalan jalan sama keluarga, pengen lagi deh tapi kemana yaa enaknya hmm"
243
+ netral,malem akhir tahun nanti pengen nyatain perasaan ke mas crush pas lagi nonton kembang api di bogor
244
+ positif,"Pengen banget ke baliii, jalan2 sama keluarga"
245
+ netral,"Mau nonton konser dari 3 cuma kejadian 1, semoga 2023 gue bisa dateng yang diharapkan"
246
+ positif,Pengen banget ajak keluarga ke Mekah
247
+ positif,pengen deh ngajak keluarga liburan bareng kemana gitu yang bikin mata jadi segerr
248
+ netral,belum kesean buat liburan bareng sama temen. semoga 2023 goes to Bandung Bali
249
+ netral,"Doain min biar bisa umrah sama keluarga, terus healing disana"
250
+ netral,"Jerman, kamu jadi tujuan utama saya dan masih belum dikasih kesempatan untuk kesana. Bawa ak ke sono yuk traveloka"
251
+ netral,Ajak anak ke Disneyland Singapore dong
252
+ netral,masih ngincer beasiswa di luar negeri semoga 2023 ada jalannya..
253
+ negatif,"akhir taun gini emang seruu jalan jalan, bingung ni mau ke laut apa gunung"
254
+ netral,"Kalau bisa mau jalan jalan ke daerah yag belum pernah aku datengin tahun ini, buat 2023"
255
+ positif,Pas banget akhir tahun pengen liburan bareng keluarga ke kung halaman deh
256
+ netral,2023 pengen ke jepang si
257
+ netral,Pengen liburan ke jepang
258
+ netral,Aku tuh ya pengen banget ajak keluarga liburan bareng bareng belum kesean niihhhh
259
+ positif,otw liburan gas ngeng karena travelokaaa ngadain promo besar besaran
260
+ positif,"Ke jogja bareng keluarga, me time bersama keluarga"
261
+ netral,"Awal tahun nanti rencana mau ke Bandung, semoga lancar"
262
+ negatif,Duh ga sabar mau liburan bareng keluarga
263
+ netral,"Mau liburan sama keluarga kalau bisa tahun depan, permintaan bokap soalnya"
264
+ positif,"Horeee... waktunya shantaaayyy, libur telah tiba... langsung cuzz traveloka"
265
+ netral,"Mau me time dengan cara solo trip kayak sebelum pandemi, gak sah jauhΒ² deh deketΒ² aja kayak nusa penida pake traveloka biar gang"
266
+ positif,Pengen banget deh liburan ke lombok
267
+ positif,"Sesekali lah me time asik nih mau jalan jalan kita, siplah akhir atau awal tahun ini digaskan pas dapet liburan"
268
+ positif,Liburan enaknya kemana yah
269
+ netral,"Kebetulan anak libur panjang nih tahun baru, mau ajak keluarga buat liburan ah"
270
+ netral,"Pengen banget liburan, cek-cek dulu"
271
+ netral,"Udah prepare nih, awal tahun mau liburan 5 hari ke Bali"
272
+ netral,Pengen banget liburan biar bisa healing
273
+ positif,"Enggak kesean jalan jalan ke luar pulau jawa tahun ini, tahun depan harus dapet, amiinnn"
274
+ positif,"Asyik, ini dia yang dicari, bisa liburan tanpa harus kering kantong"
275
+ netral,Pengen liburan ke raja at bareng keluarga
276
+ netral,"Pengen ajak orang tua liburan, kemana aja yang penting bisa liburan bareng"
277
+ positif,"Liburan yg murah meriah aja lah, mau ke Ragunan nanti"
278
+ positif,"Kmrn abis liat story temen abis liburan ke Tanjung Aan Lombok, jadi pengen juga. Semoga bonus akhir tahun cepet cair"
279
+ positif,"mau ajak temen temen ah liburan bareng, pasti seru banget"
280
+ positif,"Saatnya memanjakan diri alias healing wkwk me time maksudnya, pengen ke pulau seribu wak solo travel aja pasti bagus bagus pulaunya"
281
+ positif,"Pokoknya pengen banget ajak keluarga jalanΒ², nginep di hotel seru seruan"
282
+ netral,"pas banget kuliah lagi libur,enaknya liburan kemana ya masi bingung"
283
+ netral,Liburan akhir tahun mau keliling Jogja aja sih paling
284
+ positif,Mau banget me time bareng keluarga sekalian ini bakal seru banget heung mau semoga terwujud secepatnya 2023 laahh
285
+ positif,"Udah berencana liburan bareng temen awal tahun nanti, capek cuy kerja setahun gak dpt liburan. Saatnya menikmati hasil"
286
+ positif,Horeee... saatnya berlibur hemat. Serbu traveloka
287
+ netral,saatnyaa liburan di hotel mewah dengan promo traveloka
288
+ netral,"Ada rencana mau nginep di villa Puncak sih, 2 hari cukup lah"
289
+ positif,"Tahun ini lagi pengen main ke Puncak, kayanya seru dehh"
290
+ positif,Jepang masih jadi tempat tujuan paling gue pengen datengin ya aduh gusti bawa aku segera kesanaaa
291
+ positif,Dari dulu pengen bangett naik pesawat trus liburan bareng keluarga trus nginep di hotel mewah semoga secepatnya deh bisa kesaian
292
+ netral,"Liburan tahun baru bareng keluarga, niatnya sih mau ke Jogja nanti"
293
+ netral,"Rencananya tahun dpn mau liburan ke Bali, semoga dilancarkan buat diwujudkan ya"
294
+ netral,"Yang mau liburan bareng keluarga, kuy"
295
+ netral,"Anak ngajakin ke Sea World, pengen liat ikanΒ² katanya"
296
+ netral,belum ke sain liburan ke jogjaaa rencanaa tahun baru nanti
297
+ positif,"amiin , makasih yaa min doanya"
298
+ positif,Ini baru keren... anak kos macam aku bisa liburan nih kl diskon2an gini
299
+ netral,"Udh nabung dr awal tahun, rencana buat liburan di awal tahun depan nih"
300
+ netral,"Pengen main ke ntt, ketemu komodo hehe"
301
+ positif,2023 cus liburan bareng sekeluarga
302
+ netral,"Mau liburan ke TMII sih, kan abis direnovasi tuh, jadi penasaran"
303
+ positif,"pengen dehh staycation di hotel mewah, ini momen pas banget traveloka ada promo"
304
+ negatif,"Pencari diskon, serbuuu"
305
+ positif,Mantap banget Semoga tahun ini bisa liburan ke Purbalingga bareng mama amiin.
306
+ positif,"cocok akhir tahun nihhh, apalagi banyak diskon di traveloka"
307
+ negatif,Udah ada rencana pingin sekalii aja ngerasain liburan sendiri alaΒ² me time gitu. Ketempat yg bikin stres ilang pokoknya
308
+ netral,Pengen ke Bali nyusul mama sama adik yg lagi liburan huhu
309
+ positif,makin semangat nabung buat liburan biar ga pusing mikirin biaya
310
+ positif,"udah siap banget buat liburan, tinggal milih destinasinya aja niihh"
311
+ netral,mau ajak keluarga liburan pake diskon di traveloka
312
+ netral,"2023 mau healing ah, udah nabung dr lama. Mau nikmatin me time"
313
+ positif,"PAS BANGET SIHHH DISKONNYA di saat liburan gini, wacana mau jalan bareng temen atau keluarga bakal jadi ini mah"
314
+ negatif,"tabungan udah ada, tinggal nunggu partner jalan jalannya nih wkwk"
315
+ netral,Tahun baru nanti sih rencana mau ke Jogja
316
+ positif,"pingin banget tahun baruan di korea bareng keluarga meningkati indahnya seoul, semoga next time bisa kesana"
317
+ netral,"mau nabung dulu, semoga bisa liburan pakai traveloka nanti"
318
+ netral,Pengen banget liburan ke luar negri bareng traveloka
319
+ positif,"Wih seru banget kalo ada kupon gini, liburan makin asikk. Pengen banget ke luar kota deh, rencananya mau ke Jogja. Tapi bimbanggg, Jogja atau Lung yaaa apa dua duanyaa"
320
+ netral,"wishlist liburan buat thn ini ada yg blm nih, pindah jd buat thn depan salah satunya ke Labuan Bajo"
321
+ positif,Akhirnya keuanganku mendukung nih untuk bisa ajak keluarga liburan ke Jogja
322
+ positif,"tahun baruan di new york jadi salah satu impianku, semoga bisa terwujud"
323
+ positif,"Pokoknya 2023 hidup gue harus seru banyak liburannya. Gak kerja melulu, semoga bisa nikmatin hasil usaha gue"
324
+ positif,Wah pas banget lagi nyari diskonan buat liburan tahun baru
325
+ negatif,"Pengen bgt bisa ngajak vacation bareng keluarga besar ke Bali, bener2 butuh healing lagi burn out parah"
326
+ positif,Duh Promonya menggiurkan buat tahun baru bareng keluarga Otw cek voucher dari traveloka
327
+ negatif,SekaliΒ² pengen liburan bareng temenΒ² ke tempat yang pemandangannya bagus kek alamΒ² yg fresh gitu deh. Kan bosen kalau main di malΒ² terus
328
+ positif,"pengen staycation ke bali deh, seru pasti"
329
+ netral,Udah ada rencana pengen liburan ke luar kota tapi tabungannya masih blm cukup
330
+ positif,"Bali salah satu tempat yg pengen bgt didatengin, lg nabung nih buat liburan ke sana"
331
+ netral,Kebetulan semenjak covid anak blm pernah diajak liburan di pantai. Semoga tahun baru
332
+ netral,Letsgo menuju 2023 penuh healing
333
+ netral,"Mau liburan sama anak istri, staycation di hotel mewah"
334
+ positif,"pas banget deh ada diskon gini, dari sejak uts udah ada wacana mau liburan jalan jalan bareng temen pasti seru bangettt"
335
+ positif,Traveloka emang pengertian bangett akhir tahun banyak diskonnya
336
+ netral,"Pengen diajak liburan dan nginep di hotel mewah, semoga bisa terwujud di tahun ini..."
337
+ positif,"pingin ajak keluarga buat jalan2 ke Bali, nginap di hotel bintang 5, semoga secepatnya terwujud"
338
+ positif,pengen bangeett jalan jalan sama temen
339
+ positif,Me time seru kali ya menikmati hasil nabung sambil healing sendiri
340
+ positif,"pengen bgt nih bisa liburan sama keluarga, semoga tahun depan bisa terlaksana"
341
+ positif,hmm harus liburan kemana akhir tahun kali iniiii harus seru seruan sih
342
+ positif,Masih banyak wishlist liburan yang blm tercapai tahun ini. Alhamdulillah 2023 ada plan walaupun pelan2 wujudinnya
343
+ netral,"mau nabung untuk healing, next time"
344
+ netral,"Udah pengen banget liburan ke Labuan Bajo, semoga rencana tahun ini bisa berangkat liburannn.."
345
+ positif,"Pengen deh ajak keluarga holiday kemana gituu , semoga bisa segera terwujud"
346
+ netral,"Blm kesean deh bulan madu gara2 covid, pengen ah awal tahun ini"
347
+ netral,Mau liburan bareng ayang ke bali xixi
348
+ positif,"Udah lama banget ga liburan sekeluarga, semoga bisa segera terwujud"
349
+ positif,"wiii akhir tahun gini cocok banget pergi bareng keluarga besar, seru pastiii"
350
+ positif,Pengen banget staycation bareng temen2 ke tempat2 yang estetik tpi belum kesean trus pertama karena uangnya kedua karena waktunya. Selalu tidak sikron :
351
+ positif,"pingin me time ke Labuan Bajo, semoga bisa terwujud secepatnya"
352
+ netral,Pengen banget akhir tahun liburan bareng keluargaa:
353
+ positif,"Mimpi yang belum terwujud dari dulu tuh pengen liburan bareng sekeluarga pas tahun baru ke Bali, semoga bisa deh ya"
354
+ negatif,Sekali2 pengen deh staycation ke hotel healing gitu biar pikiran fresh lagi
355
+ negatif,"pengeennn liburan ngeliat langit dan awan tapi pasti abis itu cape trus butuh hotel, ke gunung apa ya kira kira"
356
+ positif,duh semoga bisa terwujud liburan bareng keluarga
357
+ positif,Pass banget akhir tahunan bareng keluarga nii gaskeunnn
358
+ netral,"Tahun baru tinggal besok , saatnyaa berburu promo dadakan di Traveloka"
359
+ positif,"akhir tahun ini pengen banget ke pantai deh, dimana sih yang bagusnya kalo liburan ke pantai"
360
+ netral,Wihhh pengen banget liburan ke bali semoga tahun depan bisa ke bali main dipantai hehehe
361
+ netral,wishlist ku tahun depan bisa liburan ke Bali sama cowokku hihi aminn
362
+ netral,"belum kesaian liburan bareng keluarga, rencana tahun baru ini"
363
+ negatif,"saya udh booking hotel dan sudah bayar, bisakah saya ganti hotel tanpa refund Karena saya liat orang2 banyak marah refund nya lama"
364
+ netral,Pengen banget ngajakin mama ke Bali nginep di hotel sambil liat sunrise bareng
365
+ negatif,"Ga ada, dah pasrah"
366
+ positif,"Mencintai diri sendiri itu perlu dan harus dilakukan terlebih dahulu. Sudah melihat versiku paling rusak, namun menemukan versiku paling kuat."
367
+ positif,senang bertemu dgn mu
368
+ positif,Pengen ke Baliiiiiii sama keluargaaaa. Udah terpendam sejak setaun yg laluu. Karna kalo sama keluarga pasti Jogja lagi Jogja lagiii : Sekali sekali ke Baliii yuuukk.
369
+ positif,Semangat menyambut tahun baru Kak. -PA
370
+ positif,temen yg baik
371
+ positif,Tiket pesawat murah di tiket. Com
372
+ positif,Banyak belajar tentang hidup.
373
+ netral,min ada voucher diskon buat kereta nga min
374
+ positif,"alhamdulillah banyak, terima kasih tuhan semoga taun depan dan tahun tahun berikutnya hal hal baik akan terus terjadi di kehidupan semua orang amiin"
375
+ netral,diakhir tahun ini aku bersama orang yang aku sayangi. ya ayang ya ortu
376
+ netral,kalau ada yang gakepake mau dijual kabarin yaa
377
+ netral,kalo ada yang gakepake dan mau dijual kabarin yaa
378
+ positif,mengikhlaskan nya dengan baik baik
379
+ negatif,"Ngak bisa liburan, Minus saldo."
380
+ positif,selalu always gapernah never
381
+ netral,Putraku berumur 1 tahun
382
+ positif,bisa hidup sendiri haha alhamdulillah
383
+ positif,"Tahun ini penuh kejutan, awal tahun pindah ke perusahaan yg lebih besar, tengah tahun lanjut S2, eh putus dari 4 tahun hubungan, akhir tahun Allah ngasih laki-laki yg baik bangeeet"
384
+ netral,Udah di DM ya
385
+ positif,"Banyak banget. Lulus, wisuda, tawaran kerja, balik ke rumah, ga nomaden lagi, kumpul bareng keluarga. Ah banyak banget ya Allah."
386
+ netral,bisa bantu saya
387
+ positif,ketemu sama org baikk
388
+ netral,Jawabannya ada di kata ke-12
389
+ positif,banyak bertemu orang baik
390
+ positif,Pendewasaan diri dan bertemu orang orang baru serta pengalaman dibalik gempuran mental dan fikiran yang datang bertubi-tubi
391
+ positif,"Diberi kesehatan sepanjang tahun, keluarga masih utuh, masih kerja. Tambahan lainnya, bisa punya tanah setengah hektar lebih dan kesean jalan jalan ke negara Georgia, yg tiap harinya bisa nyobain wine di negara pecahan uni soviet itu. Alhamdulillah nikmat luar bisa tahun ini."
392
+ positif,bisa se ke Mekahh
393
+ positif,Ketemu eaaaa
394
+ negatif,Gaada ekwk
395
+ negatif,Kalau engga ada pilihan berarti engga bisa milih ya Berarti acak
396
+ positif,Lebih damai dengan diri sendiri setelah 4 tahun mencoba belajar untuk menenangkan diri dari masa lalu
397
+ positif,semoga baik sj
398
+ netral,soalnya makan semen tiga roda
399
+ positif,dikasih pundak yg kuat dan sabar
400
+ positif,Iya kak Alhamdulillah bngt
401
+ negatif,Aku udah nggak self harm lagi
402
+ netral,Dapet kerjaan disalah satu cabang bank korea yg di Indonesia
403
+ positif,"Banyak kali doa yg dikabulin ditahun ini, sama persis sama yg aku minta. Sedetil itu Tuhan nyusun skenario buat hambaNya"
404
+ negatif,ketemu orang yg ngubah smwnya jd dewasa tp sementara
405
+ positif,"Aku dihajar habis2an sama orang2 yg aku percaya di thn ini dan aku selemah itu, but i found that aku ternyata kuat bgt masih bisa haha hihi pergi kerja main dsb padahal hati dan pikiran penuh sesak, and finally aku jd bisa lewatin semua kek waaaah aku kok bisa, makasih aku"
406
+ negatif,gak semua yang dipikirin itu kejadian
407
+ positif,Mulai memberianikan diri untuk lebih percaya dan yakin pada keputusan diri sendiri.
408
+ netral,Cek dm min
409
+ negatif,Cek lagi min. Ga solutif amat solusinya. Mau ganti periode cicilan aja ga bisa
410
+ netral,Acc dospem 1 dan 2
411
+ positif,Menemukan seseorang yg hatinya baiiiiiik banget.
412
+ positif,"gaono, yaa semoga baik sj"
413
+ positif,"Punya banyak temen baik, aku dan keluarga sehat, dan rejeki alhamdulillah lancar"
414
+ netral,Bismillah.....
415
+ negatif,Kisah cintaku ternyata ga sedi2 amat semenjak tau kisah norma
416
+ positif,Menemukan sisi lain dari aku yang lebih kuat dari yang aku bayangkan sebelumnnya
417
+ positif,melihat seorang ibu yang berjuang di tengah hujan dan panas supaya anaknya bisa makan..ini momen luar biasa bagiku untuk tahun ini...sekaligus jadi reflections moment for me :
418
+ positif,"Teman baru yang asik kek mega dari jogja,yang seberani safa dari jateng yang sok bet asik tapi lucu kek sina dari jkt dan tentu ilmu dari coach nasional"
419
+ positif,Ak jd hobi berdoaaaaa. Apalagi doain danur dan el
420
+ positif,"Lulus kus mengajar, lulus wfh OJ6 dan 7, sehat, keuangan lancar, buka tabungan haji, orangtua sehat, dan lainnya"
421
+ positif,"di taun 2022 ini ya alhamdulillah kepalanya jd 2 dan agak membuat berat dikit yh, lumayan asik si PP gegara kuliah offline jd ada effortnya walopun se sana turu dan telat wkwk, dapet asprak yg awikwok dan skrg lg minta disupport, smg aku g jadi badut"
422
+ positif,mencintai aku
423
+ positif,Banyak rejeki dan dia
424
+ positif,"aku bisa jadi lebih hemat dibanding taun kemaren, meskipun baru belajar cuma se-enggaknya keuanganku jadi lebih stabil alhamdulillah"
425
+ positif,"Eh tapi hal2 baik itu bukan terjadi sama saya, min.. maksudnya saya lihat banyak hal2 baik selama 2022."
426
+ positif,"Banyak banget, min.. suwer deh.. 2022 banyak hal2 baik."
427
+ negatif,"Masih bisa waras, ditengah gempuran banyak hal yang bikin ga waras."
428
+ positif,mukjizat yg bener2 nyata
429
+ negatif,apakah punya kebijakan ganti rugi atas pelayanan bus yang buruk dan tidak sesuai dengan yang tertera di aplikasi
430
+ positif,Alhamdulillah banyak
431
+ netral,Ok saya dm ya untuk detailnya
432
+ netral,mixue belum ada disekitar rumah
433
+ netral,Iya kak nah ini saat pengisian data diperlukan nomor passpor kan ya saat pemesanan tiket
434
+ netral,Saat ingin memesan tiket pesawat ke luar negeri apakah dibtuhulan nomor passport dkk saat pengisian data pemesanan tiket sblm pembayaran
435
+ positif,banyak orang yang mengasihi saya
436
+ positif,"bertemu banyak orang baik yang mau membantu tanpa pamrih, dan alhamdulillah dipertemukan dg orang yang aku sayang banget"
437
+ netral,Ketemu banyak orang-orang baruteman-teman baru
438
+ negatif,Masih bisa kerja dan nabung. Dah itu aja.
439
+ positif,Memaafkan diri sendiri untuk segala sesuatu yang sudah terjadi
440
+ netral,"ppp admin gabut gk, ayo chat an"
441
+ negatif,"2022 gada yang berjalan baik, tapi hal baik yang aku temukan adalah AKU yang masih tetap baik2 saja"
442
+ netral,"Liburan pake traveloka , mulai dari tiket kereta e nginep pake traveloka semua"
443
+ negatif,kadang hal yg nyakitin bisa ngasih dak baik
444
+ positif,"Sabar, syukur, dan nerima"
445
+ negatif,Jangan terlalu berharap sama manusia manapun.
446
+ negatif,Tetap bisa berbagi walau keadaan sulit/sempit
447
+ positif,"banyak rezeki dan lumayan dpat bnyak pengalaman juga kesehatan, MasyaAllah"
448
+ positif,Lebih sabar dan ikhlas dari tahun sebelumnya
449
+ positif,Punya pekerjaan meskipun cuma 2 minggu tapi sangat berkesan bngt.
450
+ negatif,ngerep kosongan gak bisa ya
451
+ negatif,"aku menemukan diriku,yg berani bilang gak karna selama ini selalu iyaiya aja"
452
+ negatif,"sending me a job, ga nyangka sama yg ini"
453
+ positif,Kamu
454
+ positif,"alhamdulillah seiring berjalannya waktu, saya semakin bisa menerima takdir, dan 2022 ini saya belajar banyak hal baik, meskipun kebiasaan buruk masih sering saya lakukan"
455
+ negatif,"Ga perlu nyenengin orang mulu, bukannya egois tp coba lebih sayang sama diri sendiri. Mikirin orang yg prioritas2 aja. Ga perlu cape2 jelasin berkali kali ke orang untuk membela diri, kadang ada orang yg emang gamau memahami apa yg km komunikasiin. Yaudah ga perlu dipaksa."
456
+ negatif,Jadi rutin baca dzikir dan lebih pasrah untuk semua hal yang dijalani dan dialami
457
+ positif,Udah mulai bisa mencintai diri sendiri
458
+ positif,Mulai tahan banting diomeli bapak karena udah biasa di 2022
459
+ positif,Banya bangaat bingung min. Tp sala satunya jd lebi suka olahraga pdhl dr dulu gaprna mau hahah alhamdulillah
460
+ positif,Bisa kuat bertahan walaupun banyak sambat dan nangis tapi tetep bisa hahahihi
461
+ positif,menuju akhir tahun banyak menemukan hal hal yg baiiik
462
+ positif,"Ketemu temen temen baru yang super duper baik, ketemu mba galuh yang udah anggep aku kaya adik sendiri"
463
+ positif,Mencintai diriku sendiri dan duitku
464
+ positif,Masih diberikan kesempatan untuk hidup dan berusaha menjadi lebih baik
465
+ positif,Banyak rejeki n temen2 baru
466
+ positif,Mau menerima kekurangan diri dan selalu prioritasin kebahagian diri sendiri. Doain min tahun depan bisa traveling kemanapun berada pake traveloka tentunya. Banyakin promo ya
467
+ negatif,"Lebih belajar menerima apa yang ga disuka, lebih berdamai sama diri sendiri, tau tentang artinya kerja keras dan merelakan"
468
+ positif,Bisa nyenengin orang tua
469
+ negatif,Ketemu ma calon mantan
470
+ positif,punya banyak temen yg baik
471
+ positif,"Semangat juga untuk kamu, Min. -ILY"
472
+ positif,Ternyata tetep bisa produktif meski di rumah saja.
473
+ negatif,Istri hamil setelah menunggu 5 tahun
474
+ positif,"Lebih dewasa, lebih mengerti, berdamai sama diri sendiri"
475
+ positif,mungkin gak banyak yg paham.. tapi aku harap orangnya tau tweet ini wkwkwk
476
+ netral,"min buat pengguna baru, ada kode kupon/promo buat ke dufan ngga"
477
+ negatif,kerabat jauh
478
+ positif,"Hal baik yang ditemukan tahun ini yang pasti lebih sabar kak dalam menghadapi segala hal, terus berdamai sama diri sendiri juga karena bisa meredakan nafsu agar hidup bisa lebih tenang kak"
479
+ netral,cek dm mun
480
+ positif,Alhamdulillah..dinotis gini aja dah seneng.
481
+ netral,Sudah saya kirim via DM min.
482
+ netral,"minta CEK DM min , bales"
483
+ netral,min cek DM dong. makasih
484
+ positif,Kerenn bangettt kakkk semoga suatu saat bisa naikkkk
485
+ netral,min cek dm
486
+ positif,Bisa ke beberapa tempat yg aku senengin bgt dr dlu
487
+ netral,tolong cek dm min
488
+ netral,tlg cek dm ya
489
+ netral,"Min tanya dong, pesawat di-reschedule sama maskapainya tapi kenapa e-tiket/voucher ngga diupdate dan dikirim ke email e-tiket saya masih schedule yg lama nih."
490
+ netral,"hallo kak, pembayaran saya tidak memasukkan kode unik, bisa diproses segera nggak ya Terima kasih"
491
+ netral,min tolong cek dm makasih
492
+ netral,Kak udah saya dm yaaaaa
493
+ netral,Udah ya kak
494
+ netral,"malam min, bagaimana cara membatalkan quick ride yang untuk nanti karena saya order untuk jam 11 tapi masih mencari sopir hingga sekarang"
495
+ negatif,Ah robot sueeee... hari gini..
496
+ netral,Mana balas DM nya..
497
+ netral,Udah dm
498
+ netral,Irt ngga ada cuti miinn.
499
+ netral,Min cek dm
500
+ netral,Hallo cek dm dong
501
+ netral,Dapet hadiah gak Min Kalau dpt aku kasih email aku
assets/stopwordbahasa.csv ADDED
@@ -0,0 +1,758 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ada
2
+ adalah
3
+ adanya
4
+ adapun
5
+ agak
6
+ agaknya
7
+ agar
8
+ akan
9
+ akankah
10
+ akhir
11
+ akhiri
12
+ akhirnya
13
+ aku
14
+ akulah
15
+ amat
16
+ amatlah
17
+ anda
18
+ andalah
19
+ antar
20
+ antara
21
+ antaranya
22
+ apa
23
+ apaan
24
+ apabila
25
+ apakah
26
+ apalagi
27
+ apatah
28
+ artinya
29
+ asal
30
+ asalkan
31
+ atas
32
+ atau
33
+ ataukah
34
+ ataupun
35
+ awal
36
+ awalnya
37
+ bagai
38
+ bagaikan
39
+ bagaimana
40
+ bagaimanakah
41
+ bagaimanapun
42
+ bagi
43
+ bagian
44
+ bahkan
45
+ bahwa
46
+ bahwasanya
47
+ baik
48
+ bakal
49
+ bakalan
50
+ balik
51
+ banyak
52
+ bapak
53
+ baru
54
+ bawah
55
+ beberapa
56
+ begini
57
+ beginian
58
+ beginikah
59
+ beginilah
60
+ begitu
61
+ begitukah
62
+ begitulah
63
+ begitupun
64
+ bekerja
65
+ belakang
66
+ belakangan
67
+ belum
68
+ belumlah
69
+ benar
70
+ benarkah
71
+ benarlah
72
+ berada
73
+ berakhir
74
+ berakhirlah
75
+ berakhirnya
76
+ berapa
77
+ berapakah
78
+ berapalah
79
+ berapapun
80
+ berarti
81
+ berawal
82
+ berbagai
83
+ berdatangan
84
+ beri
85
+ berikan
86
+ berikut
87
+ berikutnya
88
+ berjumlah
89
+ berkali-kali
90
+ berkata
91
+ berkehendak
92
+ berkeinginan
93
+ berkenaan
94
+ berlainan
95
+ berlalu
96
+ berlangsung
97
+ berlebihan
98
+ bermacam
99
+ bermacam-macam
100
+ bermaksud
101
+ bermula
102
+ bersama
103
+ bersama-sama
104
+ bersiap
105
+ bersiap-siap
106
+ bertanya
107
+ bertanya-tanya
108
+ berturut
109
+ berturut-turut
110
+ bertutur
111
+ berujar
112
+ berupa
113
+ besar
114
+ betul
115
+ betulkah
116
+ biasa
117
+ biasanya
118
+ bila
119
+ bilakah
120
+ bisa
121
+ bisakah
122
+ boleh
123
+ bolehkah
124
+ bolehlah
125
+ buat
126
+ bukan
127
+ bukankah
128
+ bukanlah
129
+ bukannya
130
+ bulan
131
+ bung
132
+ cara
133
+ caranya
134
+ cukup
135
+ cukupkah
136
+ cukuplah
137
+ cuma
138
+ dahulu
139
+ dalam
140
+ dan
141
+ dapat
142
+ dari
143
+ daripada
144
+ datang
145
+ dekat
146
+ demi
147
+ demikian
148
+ demikianlah
149
+ dengan
150
+ depan
151
+ di
152
+ dia
153
+ diakhiri
154
+ diakhirinya
155
+ dialah
156
+ diantara
157
+ diantaranya
158
+ diberi
159
+ diberikan
160
+ diberikannya
161
+ dibuat
162
+ dibuatnya
163
+ didapat
164
+ didatangkan
165
+ digunakan
166
+ diibaratkan
167
+ diibaratkannya
168
+ diingat
169
+ diingatkan
170
+ diinginkan
171
+ dijawab
172
+ dijelaskan
173
+ dijelaskannya
174
+ dikarenakan
175
+ dikatakan
176
+ dikatakannya
177
+ dikerjakan
178
+ diketahui
179
+ diketahuinya
180
+ dikira
181
+ dilakukan
182
+ dilalui
183
+ dilihat
184
+ dimaksud
185
+ dimaksudkan
186
+ dimaksudkannya
187
+ dimaksudnya
188
+ diminta
189
+ dimintai
190
+ dimisalkan
191
+ dimulai
192
+ dimulailah
193
+ dimulainya
194
+ dimungkinkan
195
+ dini
196
+ dipastikan
197
+ diperbuat
198
+ diperbuatnya
199
+ dipergunakan
200
+ diperkirakan
201
+ diperlihatkan
202
+ diperlukan
203
+ diperlukannya
204
+ dipersoalkan
205
+ dipertanyakan
206
+ dipunyai
207
+ diri
208
+ dirinya
209
+ disampaikan
210
+ disebut
211
+ disebutkan
212
+ disebutkannya
213
+ disini
214
+ disinilah
215
+ ditambahkan
216
+ ditandaskan
217
+ ditanya
218
+ ditanyai
219
+ ditanyakan
220
+ ditegaskan
221
+ ditujukan
222
+ ditunjuk
223
+ ditunjuki
224
+ ditunjukkan
225
+ ditunjukkannya
226
+ ditunjuknya
227
+ dituturkan
228
+ dituturkannya
229
+ diucapkan
230
+ diucapkannya
231
+ diungkapkan
232
+ dong
233
+ dua
234
+ dulu
235
+ empat
236
+ enggak
237
+ enggaknya
238
+ entah
239
+ entahlah
240
+ guna
241
+ gunakan
242
+ hal
243
+ hampir
244
+ hanya
245
+ hanyalah
246
+ hari
247
+ harus
248
+ haruslah
249
+ harusnya
250
+ hendak
251
+ hendaklah
252
+ hendaknya
253
+ hingga
254
+ ia
255
+ ialah
256
+ ibarat
257
+ ibaratkan
258
+ ibaratnya
259
+ ibu
260
+ ikut
261
+ ingat
262
+ ingat-ingat
263
+ ingin
264
+ inginkah
265
+ inginkan
266
+ ini
267
+ inikah
268
+ inilah
269
+ itu
270
+ itukah
271
+ itulah
272
+ jadi
273
+ jadilah
274
+ jadinya
275
+ jangan
276
+ jangankan
277
+ janganlah
278
+ jauh
279
+ jawab
280
+ jawaban
281
+ jawabnya
282
+ jelas
283
+ jelaskan
284
+ jelaslah
285
+ jelasnya
286
+ jika
287
+ jikalau
288
+ juga
289
+ jumlah
290
+ jumlahnya
291
+ justru
292
+ kala
293
+ kalau
294
+ kalaulah
295
+ kalaupun
296
+ kalian
297
+ kami
298
+ kamilah
299
+ kamu
300
+ kamulah
301
+ kan
302
+ kapan
303
+ kapankah
304
+ kapanpun
305
+ karena
306
+ karenanya
307
+ kasus
308
+ kata
309
+ katakan
310
+ katakanlah
311
+ katanya
312
+ ke
313
+ keadaan
314
+ kebetulan
315
+ kecil
316
+ kedua
317
+ keduanya
318
+ keinginan
319
+ kelamaan
320
+ kelihatan
321
+ kelihatannya
322
+ kelima
323
+ keluar
324
+ kembali
325
+ kemudian
326
+ kemungkinan
327
+ kemungkinannya
328
+ kenapa
329
+ kepada
330
+ kepadanya
331
+ kesampaian
332
+ keseluruhan
333
+ keseluruhannya
334
+ keterlaluan
335
+ ketika
336
+ khususnya
337
+ kini
338
+ kinilah
339
+ kira
340
+ kira-kira
341
+ kiranya
342
+ kita
343
+ kitalah
344
+ kok
345
+ kurang
346
+ lagi
347
+ lagian
348
+ lah
349
+ lain
350
+ lainnya
351
+ lalu
352
+ lama
353
+ lamanya
354
+ lanjut
355
+ lanjutnya
356
+ lebih
357
+ lewat
358
+ lima
359
+ luar
360
+ macam
361
+ maka
362
+ makanya
363
+ makin
364
+ malah
365
+ malahan
366
+ mampu
367
+ mampukah
368
+ mana
369
+ manakala
370
+ manalagi
371
+ masa
372
+ masalah
373
+ masalahnya
374
+ masih
375
+ masihkah
376
+ masing
377
+ masing-masing
378
+ mau
379
+ maupun
380
+ melainkan
381
+ melakukan
382
+ melalui
383
+ melihat
384
+ melihatnya
385
+ memang
386
+ memastikan
387
+ memberi
388
+ memberikan
389
+ membuat
390
+ memerlukan
391
+ memihak
392
+ meminta
393
+ memintakan
394
+ memisalkan
395
+ memperbuat
396
+ mempergunakan
397
+ memperkirakan
398
+ memperlihatkan
399
+ mempersiapkan
400
+ mempersoalkan
401
+ mempertanyakan
402
+ mempunyai
403
+ memulai
404
+ memungkinkan
405
+ menaiki
406
+ menambahkan
407
+ menandaskan
408
+ menanti
409
+ menanti-nanti
410
+ menantikan
411
+ menanya
412
+ menanyai
413
+ menanyakan
414
+ mendapat
415
+ mendapatkan
416
+ mendatang
417
+ mendatangi
418
+ mendatangkan
419
+ menegaskan
420
+ mengakhiri
421
+ mengapa
422
+ mengatakan
423
+ mengatakannya
424
+ mengenai
425
+ mengerjakan
426
+ mengetahui
427
+ menggunakan
428
+ menghendaki
429
+ mengibaratkan
430
+ mengibaratkannya
431
+ mengingat
432
+ mengingatkan
433
+ menginginkan
434
+ mengira
435
+ mengucapkan
436
+ mengucapkannya
437
+ mengungkapkan
438
+ menjadi
439
+ menjawab
440
+ menjelaskan
441
+ menuju
442
+ menunjuk
443
+ menunjuki
444
+ menunjukkan
445
+ menunjuknya
446
+ menurut
447
+ menuturkan
448
+ menyampaikan
449
+ menyangkut
450
+ menyatakan
451
+ menyebutkan
452
+ menyeluruh
453
+ menyiapkan
454
+ merasa
455
+ mereka
456
+ merekalah
457
+ merupakan
458
+ meski
459
+ meskipun
460
+ meyakini
461
+ meyakinkan
462
+ minta
463
+ mirip
464
+ misal
465
+ misalkan
466
+ misalnya
467
+ mula
468
+ mulai
469
+ mulailah
470
+ mulanya
471
+ mungkin
472
+ mungkinkah
473
+ nah
474
+ naik
475
+ namun
476
+ nanti
477
+ nantinya
478
+ nyaris
479
+ nyatanya
480
+ oleh
481
+ olehnya
482
+ pada
483
+ padahal
484
+ padanya
485
+ pak
486
+ paling
487
+ panjang
488
+ pantas
489
+ para
490
+ pasti
491
+ pastilah
492
+ penting
493
+ pentingnya
494
+ per
495
+ percuma
496
+ perlu
497
+ perlukah
498
+ perlunya
499
+ pernah
500
+ persoalan
501
+ pertama
502
+ pertama-tama
503
+ pertanyaan
504
+ pertanyakan
505
+ pihak
506
+ pihaknya
507
+ pukul
508
+ pula
509
+ pun
510
+ punya
511
+ rasa
512
+ rasanya
513
+ rata
514
+ rupanya
515
+ saat
516
+ saatnya
517
+ saja
518
+ sajalah
519
+ saling
520
+ sama
521
+ sama-sama
522
+ sambil
523
+ sampai
524
+ sampai-sampai
525
+ sampaikan
526
+ sana
527
+ sangat
528
+ sangatlah
529
+ satu
530
+ saya
531
+ sayalah
532
+ se
533
+ sebab
534
+ sebabnya
535
+ sebagai
536
+ sebagaimana
537
+ sebagainya
538
+ sebagian
539
+ sebaik
540
+ sebaik-baiknya
541
+ sebaiknya
542
+ sebaliknya
543
+ sebanyak
544
+ sebegini
545
+ sebegitu
546
+ sebelum
547
+ sebelumnya
548
+ sebenarnya
549
+ seberapa
550
+ sebesar
551
+ sebetulnya
552
+ sebisanya
553
+ sebuah
554
+ sebut
555
+ sebutlah
556
+ sebutnya
557
+ secara
558
+ secukupnya
559
+ sedang
560
+ sedangkan
561
+ sedemikian
562
+ sedikit
563
+ sedikitnya
564
+ seenaknya
565
+ segala
566
+ segalanya
567
+ segera
568
+ seharusnya
569
+ sehingga
570
+ seingat
571
+ sejak
572
+ sejauh
573
+ sejenak
574
+ sejumlah
575
+ sekadar
576
+ sekadarnya
577
+ sekali
578
+ sekali-kali
579
+ sekalian
580
+ sekaligus
581
+ sekalipun
582
+ sekarang
583
+ sekarang
584
+ sekecil
585
+ seketika
586
+ sekiranya
587
+ sekitar
588
+ sekitarnya
589
+ sekurang-kurangnya
590
+ sekurangnya
591
+ sela
592
+ selain
593
+ selaku
594
+ selalu
595
+ selama
596
+ selama-lamanya
597
+ selamanya
598
+ selanjutnya
599
+ seluruh
600
+ seluruhnya
601
+ semacam
602
+ semakin
603
+ semampu
604
+ semampunya
605
+ semasa
606
+ semasih
607
+ semata
608
+ semata-mata
609
+ semaunya
610
+ sementara
611
+ semisal
612
+ semisalnya
613
+ sempat
614
+ semua
615
+ semuanya
616
+ semula
617
+ sendiri
618
+ sendirian
619
+ sendirinya
620
+ seolah
621
+ seolah-olah
622
+ seorang
623
+ sepanjang
624
+ sepantasnya
625
+ sepantasnyalah
626
+ seperlunya
627
+ seperti
628
+ sepertinya
629
+ sepihak
630
+ sering
631
+ seringnya
632
+ serta
633
+ serupa
634
+ sesaat
635
+ sesama
636
+ sesampai
637
+ sesegera
638
+ sesekali
639
+ seseorang
640
+ sesuatu
641
+ sesuatunya
642
+ sesudah
643
+ sesudahnya
644
+ setelah
645
+ setempat
646
+ setengah
647
+ seterusnya
648
+ setiap
649
+ setiba
650
+ setibanya
651
+ setidak-tidaknya
652
+ setidaknya
653
+ setinggi
654
+ seusai
655
+ sewaktu
656
+ siap
657
+ siapa
658
+ siapakah
659
+ siapapun
660
+ sini
661
+ sinilah
662
+ soal
663
+ soalnya
664
+ suatu
665
+ sudah
666
+ sudahkah
667
+ sudahlah
668
+ supaya
669
+ tadi
670
+ tadinya
671
+ tahu
672
+ tahun
673
+ tak
674
+ tambah
675
+ tambahnya
676
+ tampak
677
+ tampaknya
678
+ tandas
679
+ tandasnya
680
+ tanpa
681
+ tanya
682
+ tanyakan
683
+ tanyanya
684
+ tapi
685
+ tegas
686
+ tegasnya
687
+ telah
688
+ tempat
689
+ tengah
690
+ tentang
691
+ tentu
692
+ tentulah
693
+ tentunya
694
+ tepat
695
+ terakhir
696
+ terasa
697
+ terbanyak
698
+ terdahulu
699
+ terdapat
700
+ terdiri
701
+ terhadap
702
+ terhadapnya
703
+ teringat
704
+ teringat-ingat
705
+ terjadi
706
+ terjadilah
707
+ terjadinya
708
+ terkira
709
+ terlalu
710
+ terlebih
711
+ terlihat
712
+ termasuk
713
+ ternyata
714
+ tersampaikan
715
+ tersebut
716
+ tersebutlah
717
+ tertentu
718
+ tertuju
719
+ terus
720
+ terutama
721
+ tetap
722
+ tetapi
723
+ tiap
724
+ tiba
725
+ tiba-tiba
726
+ tidak
727
+ tidakkah
728
+ tidaklah
729
+ tiga
730
+ tinggi
731
+ toh
732
+ tunjuk
733
+ turut
734
+ tutur
735
+ tuturnya
736
+ ucap
737
+ ucapnya
738
+ ujar
739
+ ujarnya
740
+ umum
741
+ umumnya
742
+ ungkap
743
+ ungkapnya
744
+ untuk
745
+ usah
746
+ usai
747
+ waduh
748
+ wah
749
+ wahai
750
+ waktu
751
+ waktunya
752
+ walau
753
+ walaupun
754
+ wong
755
+ yaitu
756
+ yakin
757
+ yakni
758
+ yang
indobert/config.json ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "indobenchmark/indobert-lite-base-p1",
3
+ "_num_labels": 3,
4
+ "architectures": [
5
+ "AlbertForSequenceClassification"
6
+ ],
7
+ "attention_probs_dropout_prob": 0,
8
+ "bos_token_id": 2,
9
+ "classifier_dropout_prob": 0.1,
10
+ "down_scale_factor": 1,
11
+ "embedding_size": 128,
12
+ "eos_token_id": 3,
13
+ "gap_size": 0,
14
+ "hidden_act": "gelu",
15
+ "hidden_dropout_prob": 0,
16
+ "hidden_size": 768,
17
+ "id2label": {
18
+ "0": "positif",
19
+ "1": "netral",
20
+ "2": "negatif"
21
+ },
22
+ "initializer_range": 0.02,
23
+ "inner_group_num": 1,
24
+ "intermediate_size": 3072,
25
+ "label2id": {
26
+ "positif": 0,
27
+ "netral": 1,
28
+ "negatif": 2
29
+ },
30
+ "layer_norm_eps": 1e-12,
31
+ "max_position_embeddings": 512,
32
+ "model_type": "albert",
33
+ "net_structure_type": 0,
34
+ "num_attention_heads": 12,
35
+ "num_hidden_groups": 1,
36
+ "num_hidden_layers": 12,
37
+ "num_memory_blocks": 0,
38
+ "output_past": true,
39
+ "pad_token_id": 0,
40
+ "position_embedding_type": "absolute",
41
+ "problem_type": "single_label_classification",
42
+ "torch_dtype": "float32",
43
+ "transformers_version": "4.20.1",
44
+ "type_vocab_size": 2,
45
+ "vocab_size": 30000
46
+ }
indobert/pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7acc22f7091c678b59d2953576814b63e8ed5339e7d43e4eedbd895e15cac77a
3
+ size 46756497
indobert/special_tokens_map.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "mask_token": "[MASK]",
4
+ "pad_token": "[PAD]",
5
+ "sep_token": "[SEP]",
6
+ "unk_token": "[UNK]"
7
+ }
indobert/tokenizer_config.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "do_basic_tokenize": true,
4
+ "do_lower_case": true,
5
+ "mask_token": "[MASK]",
6
+ "name_or_path": "indobenchmark/indobert-lite-base-p1",
7
+ "never_split": null,
8
+ "pad_token": "[PAD]",
9
+ "sep_token": "[SEP]",
10
+ "special_tokens_map_file": "/root/.cache/huggingface/transformers/b6b586d8d94e9bf6e42220e38946991ba8ef18d03b186ced76a4f19ae21ed603.dd8bd9bfd3664b530ea4e645105f557769387b3da9f79bdb55ed556bdd80611d",
11
+ "strip_accents": null,
12
+ "tokenize_chinese_chars": true,
13
+ "tokenizer_class": "BertTokenizer",
14
+ "unk_token": "[UNK]"
15
+ }
indobert/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
requirements.txt ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ pandas
2
+ numpy
3
+ matplotlib
4
+ plotly
5
+ wordcloud
6
+ transformers
7
+ sentence-transformers
8
+ bertopic
9
+ snscrape
script/__init__.py ADDED
File without changes
script/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (161 Bytes). View file
 
script/__pycache__/functions.cpython-310.pyc ADDED
Binary file (2.43 kB). View file
 
script/__pycache__/plotting.cpython-310.pyc ADDED
Binary file (3.66 kB). View file
 
script/__pycache__/text_proc.cpython-310.pyc ADDED
Binary file (4.64 kB). View file
 
script/functions.py ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import numpy as np
3
+ import re
4
+ import snscrape.modules.twitter as sntwitter
5
+ from transformers import pipeline
6
+ import plotly.express as px
7
+ from sentence_transformers import SentenceTransformer
8
+
9
+ def load_sentence_model():
10
+ embedding_model = SentenceTransformer('sentence_bert')
11
+ return embedding_model
12
+
13
+ def get_tweets(username, length=10, option = None):
14
+ # Creating list to append tweet data to
15
+ query = "("+username + ")"+"(to:"+username+") -filter:links filter:replies lang:id"
16
+ if option == "Advanced":
17
+ query = username
18
+ tweets = []
19
+ # Using TwitterSearchScraper to scrape
20
+ # Using TwitterSearchScraper to scrape
21
+ for i,tweet in enumerate(sntwitter.TwitterSearchScraper(query).get_items()):
22
+ if i>=length:
23
+ break
24
+ tweets.append([tweet.content])
25
+
26
+ # Creating a dataframe from the tweets list above
27
+ tweets_df = pd.DataFrame(tweets, columns=["content"])
28
+ tweets_df['content'] = tweets_df['content'].str.replace('@[^\s]+','')
29
+ tweets_df['content'] = tweets_df['content'].str.replace('#[^\s]+','')
30
+ tweets_df['content'] = tweets_df['content'].str.replace('http\S+','')
31
+ tweets_df['content'] = tweets_df['content'].str.replace('pic.twitter.com\S+','')
32
+ tweets_df['content'] = tweets_df['content'].str.replace('RT','')
33
+ tweets_df['content'] = tweets_df['content'].str.replace('amp','')
34
+ # remove emoticon
35
+ tweets_df['content'] = tweets_df['content'].str.replace('[^\w\s#@/:%.,_-]', '', flags=re.UNICODE)
36
+
37
+ # remove whitespace leading & trailing
38
+ tweets_df['content'] = tweets_df['content'].str.strip()
39
+
40
+ # remove multiple whitespace into single whitespace
41
+ tweets_df['content'] = tweets_df['content'].str.replace('\s+', ' ')
42
+
43
+ # remove row with empty content
44
+ tweets_df = tweets_df[tweets_df['content'] != '']
45
+ return tweets_df
46
+
47
+
48
+ def get_sentiment(df):
49
+ # Sentiment Analysis
50
+ classifier = pipeline("sentiment-analysis",model = "indobert")
51
+ df['sentiment'] = df['content'].apply(lambda x: classifier(x)[0]['label'])
52
+ # change order sentiment to first column
53
+ cols = df.columns.tolist()
54
+ cols = cols[-1:] + cols[:-1]
55
+ df = df[cols]
56
+
57
+ return df
58
+
59
+ def get_bar_chart(df):
60
+ df= df.groupby(['sentiment']).count().reset_index()
61
+ # plot barchart sentiment
62
+ # plot barchart sentiment
63
+ fig = px.bar(df, x="sentiment", y="content", color="sentiment",text = "content", color_discrete_map={"positif": "#00cc96", "negatif": "#ef553b","netral": "#636efa"})
64
+ # hide legend
65
+ fig.update_layout(showlegend=False)
66
+ # set margin top
67
+ fig.update_layout(margin=dict(t=0, b=100, l=0, r=0))
68
+ # set title in center
69
+ # set annotation in bar
70
+ fig.update_traces(textposition='outside')
71
+ fig.update_layout(uniformtext_minsize=8, uniformtext_mode='hide')
72
+
73
+ # set y axis title
74
+ fig.update_yaxes(title_text='Jumlah Komentar')
75
+
76
+ return fig
script/plotting.py ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import itertools
2
+ import numpy as np
3
+ from typing import List
4
+
5
+ import plotly.graph_objects as go
6
+ from plotly.subplots import make_subplots
7
+
8
+
9
+ def visualize_barchart(topic_model,
10
+ topics: List[int] = None,
11
+ top_n_topics: int = 8,
12
+ n_words: int = 5,
13
+ custom_labels: bool = False,
14
+ title: str = "Kata Kunci tiap Topic",
15
+ width: int = 250,
16
+ height: int = 250) -> go.Figure:
17
+ """ Visualize a barchart of selected topics
18
+ Arguments:
19
+ topic_model: A fitted BERTopic instance.
20
+ topics: A selection of topics to visualize.
21
+ top_n_topics: Only select the top n most frequent topics.
22
+ n_words: Number of words to show in a topic
23
+ custom_labels: Whether to use custom topic labels that were defined using
24
+ `topic_model.set_topic_labels`.
25
+ title: Title of the plot.
26
+ width: The width of each figure.
27
+ height: The height of each figure.
28
+ Returns:
29
+ fig: A plotly figure
30
+ Examples:
31
+ To visualize the barchart of selected topics
32
+ simply run:
33
+ ```python
34
+ topic_model.visualize_barchart()
35
+ ```
36
+ Or if you want to save the resulting figure:
37
+ ```python
38
+ fig = topic_model.visualize_barchart()
39
+ fig.write_html("path/to/file.html")
40
+ ```
41
+ <iframe src="../../getting_started/visualization/bar_chart.html"
42
+ style="width:1100px; height: 660px; border: 0px;""></iframe>
43
+ """
44
+ colors = itertools.cycle(['#636EFA', '#EF553B', '#00CC96', '#AB63FA', '#FFA15A', '#19D3F3', '#FF6692', '#B6E880', '#FF97FF', '#FECB52'])
45
+
46
+ # Select topics based on top_n and topics args
47
+ freq_df = topic_model.get_topic_freq()
48
+ if len(freq_df) > 1:
49
+ freq_df = freq_df.loc[freq_df.Topic != -1, :]
50
+ if topics is not None:
51
+ topics = list(topics)
52
+ elif top_n_topics is not None:
53
+ topics = sorted(freq_df.Topic.to_list()[:top_n_topics])
54
+ else:
55
+ topics = sorted(freq_df.Topic.to_list()[0:6])
56
+
57
+ # Initialize figure
58
+ if topic_model.custom_labels_ is not None and custom_labels:
59
+ subplot_titles = [topic_model.custom_labels_[topic + topic_model._outliers] for topic in topics]
60
+ else:
61
+ subplot_titles = [f"Topic {topic}" for topic in topics]
62
+ columns = 3
63
+ rows = int(np.ceil(len(topics) / columns))
64
+ fig = make_subplots(rows=rows,
65
+ cols=columns,
66
+ shared_xaxes=False,
67
+ horizontal_spacing=.1,
68
+ vertical_spacing=.4 / rows if rows > 1 else 0,
69
+ subplot_titles=subplot_titles)
70
+
71
+ # Add barchart for each topic
72
+ row = 1
73
+ column = 1
74
+ for topic in topics:
75
+ words = [word + " " for word, _ in topic_model.get_topic(topic)][:n_words][::-1]
76
+ scores = [score for _, score in topic_model.get_topic(topic)][:n_words][::-1]
77
+
78
+ fig.add_trace(
79
+ go.Bar(x=scores,
80
+ y=words,
81
+ orientation='h',
82
+ marker_color=next(colors)),
83
+ row=row, col=column)
84
+
85
+ if column == columns:
86
+ column = 1
87
+ row += 1
88
+ else:
89
+ column += 1
90
+
91
+ # Stylize graph
92
+ fig.update_layout(
93
+
94
+ showlegend=False,
95
+ title={
96
+ 'text': f"<b>{title}",
97
+ 'xanchor': 'center',
98
+ 'yanchor': 'top',
99
+ 'font': dict(
100
+ size=22,
101
+ color="Black")
102
+ },
103
+ width=width*3,
104
+ height=height*rows if rows > 1 else height * 1.3,
105
+ hoverlabel=dict(
106
+ bgcolor="white",
107
+ font_size=13,
108
+ font_family="Rockwell"
109
+ ),
110
+ margin=dict(l=40, r=40)
111
+ )
112
+
113
+ fig.update_xaxes(showgrid=True)
114
+ fig.update_yaxes(showgrid=True)
115
+
116
+ return fig
script/text_proc.py ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import plotly.express as px
3
+ from wordcloud import WordCloud
4
+ import matplotlib.pyplot as plt
5
+ import string
6
+ import re #regex library
7
+ #umap
8
+ import umap
9
+ import hdbscan
10
+ import plotly.graph_objects as go
11
+ from bertopic import BERTopic
12
+ from sklearn.feature_extraction.text import CountVectorizer
13
+
14
+ # import word_tokenize from NLTK
15
+ from transformers import AutoTokenizer
16
+ from script.plotting import visualize_barchart
17
+
18
+ def load_stopwords():
19
+ stopwords = pd.read_csv("assets/stopwordbahasa.csv", header=None)
20
+ stopwords = stopwords[0].tolist()
21
+ more_stopword = ["ga","iya","dg",'dengan', 'ia','bahwa','oleh',"sy","kl","gak","ah","apa","kok","mau","yg","pak","bapak","ibu","krn","nya","ya"]
22
+ stopwords = stopwords + more_stopword + list(string.punctuation)
23
+ return stopwords
24
+
25
+ def tokenisasi(df):
26
+ stopwords = load_stopwords()
27
+ tokenizer = AutoTokenizer.from_pretrained('indobert')
28
+ tokens = df.content.apply(lambda x: tokenizer.tokenize(x))
29
+ tokens = tokens.apply(lambda x: [x for x in x if (not x.startswith('##') and x not in stopwords and len(x) > 4)])
30
+ return tokens
31
+
32
+ def get_wordcloud(df,kelas_sentiment):
33
+ cmap_dict = {'positif': 'Greens', 'negatif': 'OrRd', 'netral': 'GnBu'}
34
+ tokens = tokenisasi(df[df.sentiment == kelas_sentiment])
35
+ tokens = tokens.apply(lambda x: ' '.join(x))
36
+ text = ' '.join(tokens)
37
+ wordcloud = WordCloud(width = 800, height = 800,
38
+ background_color ='black',
39
+ min_font_size = 10,
40
+ colormap = cmap_dict[kelas_sentiment]).generate(text)
41
+ return wordcloud
42
+
43
+ def plot_text(df,kelas,embedding_model):
44
+ df = df[df.sentiment == kelas]
45
+ data = embedding_model.encode(df.values.tolist())
46
+ umap_model = umap.UMAP(n_neighbors=min(df.shape[0],5),random_state = 42)
47
+ umap_data = umap_model.fit_transform(data)
48
+ clusterer = hdbscan.HDBSCAN(min_cluster_size=round((df.shape[0])**(0.5)-1),min_samples=3)
49
+ clusterer.fit(umap_data)
50
+
51
+ labels = ['cluster ' + str(i) for i in clusterer.labels_]
52
+ # replace cluster -1 with outlier
53
+ labels = ["outlier" if i == "cluster -1" else i for i in labels ]
54
+ text = df["content"].str.wrap(50).apply(lambda x: x.replace('\n', '<br>'))
55
+
56
+ fig = px.scatter(x=umap_data[:,0], y=umap_data[:,1],color = clusterer.labels_)
57
+ # remove legend
58
+ fig = px.scatter(x=umap_data[:,0], y=umap_data[:,1],color = labels,text = text)
59
+ #set text color
60
+ fig.update_traces(textfont_color='rgba(0,0,0,0)',marker_size = 8)
61
+ # set background color
62
+ fig.update_layout(plot_bgcolor='rgba(0,0,0,0)')
63
+ # set margin
64
+ fig.update_layout(margin=dict(l=40, r=5, t=45, b=40))
65
+ # set axis color to grey
66
+ fig.update_xaxes(showgrid=False, zeroline=False, linecolor='rgb(200,200,200)')
67
+ fig.update_yaxes( zeroline=False, linecolor='rgb(200,200,200)')
68
+ # set font sans-serif
69
+ fig.update_layout(font_family="sans-serif")
70
+ # remove legend
71
+ fig.update_layout(showlegend=False)
72
+
73
+ # set legend title to cluster
74
+ return df["content"],data,fig
75
+
76
+ def topic_modelling(df,embed_df):
77
+ data = df.apply(lambda x: ' '.join([w for w in x.split() if len(w)>3]))
78
+ stopwords = load_stopwords()
79
+ # remove empty data
80
+ topic_model = BERTopic(
81
+ calculate_probabilities=True,
82
+ # cluster model
83
+ hdbscan_model = hdbscan.HDBSCAN(min_cluster_size=5,prediction_data=True),
84
+ vectorizer_model=CountVectorizer(stop_words=stopwords),
85
+ language="indonesian",
86
+ )
87
+ topics, probs = topic_model.fit_transform(data,embed_df)
88
+ topic_labels = topic_model.generate_topic_labels(
89
+ topic_prefix = False,
90
+ separator = ", ",
91
+ )
92
+ topic_model.set_topic_labels(topic_labels)
93
+ fig = visualize_barchart(topic_model)
94
+ # set title to Kata Kunci tiap Topic
95
+ # fig.update_layout(title_text="Topic yang sering muncul")
96
+ return fig,topic_model
sentence_bert/1_Pooling/config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "word_embedding_dimension": 768,
3
+ "pooling_mode_cls_token": false,
4
+ "pooling_mode_mean_tokens": true,
5
+ "pooling_mode_max_tokens": false,
6
+ "pooling_mode_mean_sqrt_len_tokens": false
7
+ }
sentence_bert/README.md ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ pipeline_tag: sentence-similarity
3
+ tags:
4
+ - sentence-transformers
5
+ - feature-extraction
6
+ - sentence-similarity
7
+ - transformers
8
+
9
+ ---
10
+
11
+ # indo-sentence-bert-base
12
+
13
+ This is a [sentence-transformers](https://www.SBERT.net) model: It maps sentences & paragraphs to a 768 dimensional dense vector space and can be used for tasks like clustering or semantic search.
14
+
15
+ <!--- Describe your model here -->
16
+
17
+ ## Usage (Sentence-Transformers)
18
+
19
+ Using this model becomes easy when you have [sentence-transformers](https://www.SBERT.net) installed:
20
+
21
+ ```
22
+ pip install -U sentence-transformers
23
+ ```
24
+
25
+ Then you can use the model like this:
26
+
27
+ ```python
28
+ from sentence_transformers import SentenceTransformer
29
+ sentences = ["Ibukota Perancis adalah Paris",
30
+ "Menara Eifel terletak di Paris, Perancis",
31
+ "Pizza adalah makanan khas Italia",
32
+ "Saya kuliah di Carneige Mellon University"]
33
+
34
+ model = SentenceTransformer('firqaaa/indo-sentence-bert-base')
35
+ embeddings = model.encode(sentences)
36
+ print(embeddings)
37
+ ```
38
+
39
+
40
+
41
+ ## Usage (HuggingFace Transformers)
42
+ Without [sentence-transformers](https://www.SBERT.net), you can use the model like this: First, you pass your input through the transformer model, then you have to apply the right pooling-operation on-top of the contextualized word embeddings.
43
+
44
+ ```python
45
+ from transformers import AutoTokenizer, AutoModel
46
+ import torch
47
+
48
+
49
+ #Mean Pooling - Take attention mask into account for correct averaging
50
+ def mean_pooling(model_output, attention_mask):
51
+ token_embeddings = model_output[0] #First element of model_output contains all token embeddings
52
+ input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
53
+ return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
54
+
55
+
56
+ # Sentences we want sentence embeddings for
57
+ sentences = ["Ibukota Perancis adalah Paris",
58
+ "Menara Eifel terletak di Paris, Perancis",
59
+ "Pizza adalah makanan khas Italia",
60
+ "Saya kuliah di Carneige Mellon University"]
61
+
62
+
63
+ # Load model from HuggingFace Hub
64
+ tokenizer = AutoTokenizer.from_pretrained('firqaaa/indo-sentence-bert-base')
65
+ model = AutoModel.from_pretrained('firqaaa/indo-sentence-bert-base')
66
+
67
+ # Tokenize sentences
68
+ encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
69
+
70
+ # Compute token embeddings
71
+ with torch.no_grad():
72
+ model_output = model(**encoded_input)
73
+
74
+ # Perform pooling. In this case, mean pooling.
75
+ sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
76
+
77
+ print("Sentence embeddings:")
78
+ print(sentence_embeddings)
79
+ ```
80
+
81
+
82
+
83
+ ## Evaluation Results
84
+
85
+ <!--- Describe how your model was evaluated -->
86
+
87
+ For an automated evaluation of this model, see the *Sentence Embeddings Benchmark*: [https://seb.sbert.net](https://seb.sbert.net?model_name={MODEL_NAME})
88
+
89
+
90
+ ## Training
91
+ The model was trained with the parameters:
92
+
93
+ **DataLoader**:
94
+
95
+ `sentence_transformers.datasets.NoDuplicatesDataLoader.NoDuplicatesDataLoader` of length 19644 with parameters:
96
+ ```
97
+ {'batch_size': 16}
98
+ ```
99
+
100
+ **Loss**:
101
+
102
+ `sentence_transformers.losses.MultipleNegativesRankingLoss.MultipleNegativesRankingLoss` with parameters:
103
+ ```
104
+ {'scale': 20.0, 'similarity_fct': 'cos_sim'}
105
+ ```
106
+
107
+ Parameters of the fit()-Method:
108
+ ```
109
+ {
110
+ "epochs": 5,
111
+ "evaluation_steps": 0,
112
+ "evaluator": "NoneType",
113
+ "max_grad_norm": 1,
114
+ "optimizer_class": "<class 'torch.optim.adamw.AdamW'>",
115
+ "optimizer_params": {
116
+ "lr": 2e-05
117
+ },
118
+ "scheduler": "WarmupLinear",
119
+ "steps_per_epoch": null,
120
+ "warmup_steps": 9930,
121
+ "weight_decay": 0.01
122
+ }
123
+ ```
124
+
125
+
126
+ ## Full Model Architecture
127
+ ```
128
+ SentenceTransformer(
129
+ (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel
130
+ (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False})
131
+ )
132
+ ```
133
+
134
+ ## Citing & Authors
135
+
136
+ <!--- Describe where people can find more information -->
sentence_bert/config.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "C:\\Users\\syair dafiq/.cache\\torch\\sentence_transformers\\firqaaa_indo-sentence-bert-base\\",
3
+ "_num_labels": 5,
4
+ "architectures": [
5
+ "BertModel"
6
+ ],
7
+ "attention_probs_dropout_prob": 0.1,
8
+ "classifier_dropout": null,
9
+ "directionality": "bidi",
10
+ "hidden_act": "gelu",
11
+ "hidden_dropout_prob": 0.1,
12
+ "hidden_size": 768,
13
+ "id2label": {
14
+ "0": "LABEL_0",
15
+ "1": "LABEL_1",
16
+ "2": "LABEL_2",
17
+ "3": "LABEL_3",
18
+ "4": "LABEL_4"
19
+ },
20
+ "initializer_range": 0.02,
21
+ "intermediate_size": 3072,
22
+ "label2id": {
23
+ "LABEL_0": 0,
24
+ "LABEL_1": 1,
25
+ "LABEL_2": 2,
26
+ "LABEL_3": 3,
27
+ "LABEL_4": 4
28
+ },
29
+ "layer_norm_eps": 1e-12,
30
+ "max_position_embeddings": 512,
31
+ "model_type": "bert",
32
+ "num_attention_heads": 12,
33
+ "num_hidden_layers": 12,
34
+ "output_past": true,
35
+ "pad_token_id": 0,
36
+ "pooler_fc_size": 768,
37
+ "pooler_num_attention_heads": 12,
38
+ "pooler_num_fc_layers": 3,
39
+ "pooler_size_per_head": 128,
40
+ "pooler_type": "first_token_transform",
41
+ "position_embedding_type": "absolute",
42
+ "torch_dtype": "float32",
43
+ "transformers_version": "4.25.1",
44
+ "type_vocab_size": 2,
45
+ "use_cache": true,
46
+ "vocab_size": 50000
47
+ }
sentence_bert/config_sentence_transformers.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "__version__": {
3
+ "sentence_transformers": "2.2.2",
4
+ "transformers": "4.20.1",
5
+ "pytorch": "1.11.0"
6
+ }
7
+ }
sentence_bert/modules.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "idx": 0,
4
+ "name": "0",
5
+ "path": "",
6
+ "type": "sentence_transformers.models.Transformer"
7
+ },
8
+ {
9
+ "idx": 1,
10
+ "name": "1",
11
+ "path": "1_Pooling",
12
+ "type": "sentence_transformers.models.Pooling"
13
+ }
14
+ ]
sentence_bert/pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:531e8399cbb7941b3f71bb0dc25d6abf70805ef05342f603fb4d4f158ce54b6d
3
+ size 497833773
sentence_bert/sentence_bert_config.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "max_seq_length": 512,
3
+ "do_lower_case": false
4
+ }
sentence_bert/special_tokens_map.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "mask_token": "[MASK]",
4
+ "pad_token": "[PAD]",
5
+ "sep_token": "[SEP]",
6
+ "unk_token": "[UNK]"
7
+ }
sentence_bert/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
sentence_bert/tokenizer_config.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "do_basic_tokenize": true,
4
+ "do_lower_case": true,
5
+ "mask_token": "[MASK]",
6
+ "model_max_length": 1000000000000000019884624838656,
7
+ "name_or_path": "C:\\Users\\syair dafiq/.cache\\torch\\sentence_transformers\\firqaaa_indo-sentence-bert-base\\",
8
+ "never_split": null,
9
+ "pad_token": "[PAD]",
10
+ "sep_token": "[SEP]",
11
+ "special_tokens_map_file": "/root/.cache/huggingface/transformers/b515a756d9ddf12a7a391ea596c488ac805f0576790934e590ce250a3e4ff056.dd8bd9bfd3664b530ea4e645105f557769387b3da9f79bdb55ed556bdd80611d",
12
+ "strip_accents": null,
13
+ "tokenize_chinese_chars": true,
14
+ "tokenizer_class": "BertTokenizer",
15
+ "unk_token": "[UNK]"
16
+ }
sentence_bert/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
tes.ipynb ADDED
File without changes