Pengaruh Distribusi Panjang Data Teks pada Klasifikasi: Sebuah Studi Awal
Said Al Faraby*, Ade Romadhony
Informatika, School of Computing, Telkom University, Bandung, Indonesia Email: 1,*[email protected], 2[email protected]
Email Penulis Korespondensi: [email protected]
Abstrak−Pada klasifikasi teks ada permasalahan perbedaan domain teks (cross-domain) antara data yang digunakan untuk melatih model dengan data yang digunakan pada saat model diaplikasikan. Selain permasalahan perbedaan domain ada juga perbedaan bahasa (cross-lingual). Banyak penelitian sebelumnya telah mencari cara bagaimana model klasifikasi dapat diterapkan secara efektif dan efisien pada situasi cross-domain dan cross-lingual tersebut. Namun ada satu perbedaan yang kurang diberikan perhatian khusus karena dianggap tidak terlalu berpengaruh, yaitu perbedaan panjang teks (cross-length).
Pada penelitian ini kami menginvestigasi lebih jauh kondisi cross-length dengan membuat sebuah dataset khusus dan diujikan dengan berbagai model klasifikasi yang biasa digunakan. Hasil penelitian menunjukkan bahwa perbedaan distribusi panjang teks antara data latih dengan data uji dapat mempengaruhi hasil klasifikasi. Cross-length transfer dari teks panjang ke pendek menunjukkan rata-rata penurunan F1-score dari semua model sebesar 14%, sementara transfer dari teks pendek ke panjang memberikan penurunan rata-rata sebesar 9%.
Kata Kunci: Klasifikasi Teks; Cross-Length
Abstract−In text classification, there is a problem with text domain differences (cross-domain) between the data used to train the model and the data used when the model is applied. In addition to the problem of domain differences, there are also language differences (cross-lingual). Many previous studies have looked for ways how classification models can be applied effectively and efficiently in these cross-domain and cross-lingual situations. However, there is one difference that is not given special attention because it is considered not very influential, namely the difference in text length (cross-length). In this study, we further investigated the cross-length condition by creating a special dataset and testing it with various commonly used classification models. The results showed that the difference in the distribution of text length between the training data and the test data could affect the performances. Cross-length transfers from long to short texts show an average decrease in F1-scores across all models of 14%, while transfers from short to long texts give an average decrease of 9%.
Keywords: Text Classification; Cross-Length
1. PENDAHULUAN
Salah satu tantangan dalam melakukan klasifikasi teks adalah adanya perbedaan kondisi data antara data yang digunakan untuk melatih model dengan data pada saat inference. Perbedaan kondisi data yang umum terjadi adalah perbedaan domain teks (cross-domain text classification) [1]–[3] dan perbedaan bahasa (cross-lingual text classification) [4]–[7]. Namun ada perbedaan lainnya yang dapat mempengaruhi performa klasifikasi namun sering dilewatkan, yaitu perbedaan pada distribusi panjang teks (cross-length text classification) [8]. Hal ini disebabkan karena asumsi bahwa hal tersebut secara otomatis dapat diadaptasi oleh classifier, sehingga tidak perlu penanganan khusus. Namun belum jelas apakah asumsi tersebut berlaku di kasus nyata.
Salah satu kasus nyata di mana cross-length text classification diperlukan adalah pada pengklasifikasian review produk untuk mendapatkan insight dari customer. Saat ini terdapat beragamnya media untuk menyampaikan opini, sehingga customer bisa memberikan review di media yang berbeda menyesuaikan preferensi masing-masing. Ada yang menulis di website resmi produk tersebut, ada juga yang menulis di platform e- commerce yang memang secara proaktif meminta feedback setelah pembelian. Tak jarang juga yang curhat tentang produk di blog pribadi, media sosial seperti facebook, twitter, instagram, youtube, atau bahkan di aplikasi chat bisnis dan juga aplikasi chatbot.
Selain terdapat restriksi panjang teks yang dapat ditulis pada beberapa media tersebut, user juga memiliki persepsi yang berbeda tentang panjang teks normal yang biasa ditulis pada masing-masing media tersebut.
Misalnya, tulisan di blog biasanya lebih panjang dari pada tulisan di website khusus review, dan tulisan di website khusus review lebih panjang dari review melalui twitter.
Berbagai metode telah dikembangkan untuk melakukan klasifikasi teks. Selain itu, klasifikasi teks juga ada bermacam-macam jenisnya, seperti klasifikasi sentimen dan klasifikasi topik [9]. Tantangan dalam klasifikasi teks juga semakin bermunculan dengan semakin meluasnya penerapannya. Misalnya, dahulu hanya fokus pada klasifikasi level kalimat [10], [11], kemudian belakangan berlanjut pada level dokumen [12], [13]. Metode machine learning yang dulu menjadi mainstream seperti KNN [14], Naive Bayes, SVM, Random Forest saat ini sudah dikalahkan oleh metode deep learning [15], misalnya CNN, utamanya pada kondisi dengan data yang banyak [16].
Sejauh yang kami temukan, Cross-length text classification belum banyak diteliti dibandingkan dengan cross-domain dan cross-lingual. Mungkin hal ini disebabkan karena adanya asumsi bahwa perbedaan distribusi panjang teks tidak terlalu mempengaruhi klasifikasi selama datanya mirip secara konten. Namun, Amplayo et al yang merupakan salah satu yang melakukan studi terkait permasalahan cross-length pada text classification telah
membuktikan sebaliknya [8]. Studi tersebut menunjukkan bahwa terdapat penurunan akurasi pada beberapa metode klasifikasi teks yang digunakan, yaitu BoW, CNN, dan BERT, ketika model memprediksi teks yang memiliki panjang berbeda dari yang digunakan pada saat training. Baik perubahan dari training dengan data yang pendek lalu prediksi ke data yang panjang, atau pun sebaliknya, penurunan akurasi berkisar antara 3.0 sampai 17.5 persen pada 3 jenis dataset dengan menggunakan ketiga classifier di atas.
Sementara itu, salah satu penelitian terkini di bidang cross-domain adalah berbasis unsupervised learning dilakukan oleh Zhang et. al. [1]. Pada setting unsupervised tersebut, hanya model yang telah terlatih dari dataset domain sumber saja yang tersedia untuk proses adaptasi ke dataset domain baru, sementara data latih domain sumber tidak digunakan. Total terdapat 4 jenis domain data review dari Amazon, yaitu Book, DVD, Electronic, dan Kitchen. Hasil eksperimen dari metode yang mereka ajukan menunjukkan bahwa secara rata-rata terhadap penurunan akurasi yaitu 4,2% jika dibandingkan dengan performansi model yang langsung dilatih dengan dataset domain baru. Hal ini menunjukkan bahwa perbedaan domain tidak serta merta bisa diatasi oleh model klasifikasi.
Berdasarkan latar belakang di atas, maka penelitian bertujuan melakukan investigasi terhadap text classification yang diterapkan pada kondisi data yang berbeda distribusi panjang teks antara training dan saat inference menggunakan model dari machine learning traditional dan juga deep learning. Investigasi juga melibatkan pengaruh data imbalance. Kemudian kami juga melakukan eksperimen untuk melihat apakah memotong data panjang menjadi bagian yang lebih pendek, lalu dilakukan prediksi kemudian menyatukan kembali hasil prediksi dapat memberikan hasil yang lebih baik dibandingkan langsung memprediksi data yang panjang.
Terakhir, sebagai bagian dari kontribusi, penelitian ini juga menghasilkan dataset review dengan anotasi pada level kalimat.
2. METODOLOGI PENELITIAN
Metodologi yang digunakan pada penelitian ini dimulai dari anotasi terhadap dataset review yang telah didapatkan dari website female daily. Kemudian dilakukan pembentukan berbagai dataset untuk dapat menguji cross-length text classification dengan lebih detil. Raw dataset berupa natural teks kemudian dilakukan ekstraksi dan seleksi fitur yang dilanjutkan dengan pembentukan atau pelatihan model klasifikasi teks menggunakan beberapa model machine learning yang tradisional dan juga yang berbasis deep learning. Terakhir dilakukan evaluasi dengan metric utamanya berupa F1 score terhadap data uji. Gambar 1 mengilustrasikan gambaran umum dari proses penelitian ini yang juga merupakan tahapan standar pada text classification [17]. Sementara detil setiap proses akan dijelaskan di masing-masing sub-bab di bawah.
Gambar 1. Diagram alir metodologi penelitian 2.1 Data
Data berasal dari review product website female daily. Total terdapat >700 ribu review, namun untuk keperluan penelitian ini diambil 15000 review dari produk yang paling populer. Contoh dataset dapat dilihat pada table 1.
Tabel 1. Contoh data review
selalu perlu pinkish nude lipstick. saat tahu ttg tom ford lipstick, dan cocok shadenya, langsung beli. saya termasuk yang sensitif dengan lipstick, gampang kering bibirnya, jadi
saya jarang beli long lasting lipstick. liptick ini tidak long lasting, tapi ternyata bertahan cukup lama, selesai breakfast, masih ada lho. formulanya lembut, gampang diaplikasikan dan
pigmented. yang pasti tidak membuat bibir saya kering
i tried out the sample size in the shade catfight, and i really love it!! pertama, dia pigmented bangt. sekali swipe aja udah opaque warnanya. ga bikin bibir kering. staying powernya okeh.
packagingnya juga baguuus. akan membeli shade lain pastinya next time! added: i also tried out shade 69 in mini size, warnanya merah pink undertone, bright! akhirnya punya yg full size in shade naked, packagingnya bagus bgt ternyata, looks luxurious dan tutupnya bener2
nge'hug' si lipsticknya jd ga perlu khawatir bakal loose deh
i love this lisptick! i have 2 shades from this lipstick. mai billsbepaid (velvety nude) and ima goodkisser (soft shimmering coral) texturenya creamy,minty flavored,semeriwing gt dibibir
tp cuma 2 menit minty nya ilang,pigmented,moist dibibir tp gw tetep pake lipbalm before apply. staying power nya sie biasa aja,dipake makan minum juga ilang,yg gw demen dari lipstick ini adalah abis pake rasanya bibir halus gitu imo ya. skrg jadi salah satu lipstick
favoritku thebalm girls ini,like it!
Untuk keperluan studi pengaruh panjang data teks pada performa klasifikasi teks, maka perlu disiapkan dataset yang memiliki perbedaan distribusi panjang teks. Untuk lebih meyakinkan bahwa yang berbeda hanya dari segi panjang teks, maka pada penelitian ini digunakan dataset yang sama untuk kedua jenis panjang. Caranya adalah dari data asli berupa review, maka akan dipotong dan dipisahkan menjadi kalimat. Maka dalam hal ini, data dalam bentuk review secara rata-rata akan lebih panjang dari data dalam bentuk kalimat. Proses detail pembentukan dataset dapat dilihat pada Gambar 2.
Gambar 2. Proses Pembentukan Dataset
1. Split review menjadi kalimat. Tahapan pertama adalah melakukan split data yang masih dalam bentuk review lengkap (selanjutnya disebut dataset review) menjadi kalimat-kalimat. Jika misalnya review pada data pertama memiliki 5 kalimat, maka 1 data review tersebut akan dipecah menjadi 5 buah data baru, dan seterusnya. Dari data review yang berjumlah 15.000 dipecah menjadi 71.553 kalimat, untuk selanjutnya disebut dengan dataset kalimat.
2. Pelabelan kalimat. Selanjutnya data dalam bentuk kalimat tersebut diberikan kepada dua orang annotator untuk diberikan label apakah kalimat tersebut mengandung review produk yang terkait dengan kesehatan penggunanya (selanjutnya dilabeli dengan “relevan”) atau tidak (“tidak relevan”). Data hanya akan dilabeli
“relevan” jika kedua annotator melabelinya dengan “relevan”, selainnya maka akan dilabeli sebagai “tidak relevan”. Tahapan ini akan menghasilkan dataset kalimat yang telah berlabel.
3. Merge kalimat dan label ke review. Kemudian kalimat-kalimat dan labelnya (𝑦𝑖1… 𝑦𝑖𝐾) yang berasal dari review yang sama (𝑦𝑖) disatukan kembali sehingga menjadi sebuah review dan label untuk review tersebut.
Label sebuah review ke-i 𝑦𝑖 diset menjadi “relevan” jika setidaknya ada 1 kalimat pembentuknya yang berlabel “relevan”. Sebaliknya, jika semua kalimat pembentuknya berlabel “tidak relevan”, maka review tersebut akan dilabeli dengan “tidak relevan”. Secara formalnya, aturan pelabelan ini diformulakan seperti pada Eq.1 berikut:
𝑦𝑖= ⋁𝐾𝑗=1𝑦𝑖𝑗 (1)
4. Shuffle. Untuk memastikan bahwa tidak ada bias urutan data yang diperoleh dari proses akuisisi data, maka dilakukan random shuffling baris terhadap dataset review.
5. Split ke training dan testing. Untuk keperluan evaluasi model, maka dataset review di-split dengan rasio 80:20 menjadi data training (Tr_R yang merupakan singkatan dari Training Review) dan data evaluasi (Ts_R). Statistik lengkap terkait dataset review dapat dilihat pada tabel 2.
Tabel 2. Statistik dataset review
Training (Tr_R) Testing (Ts_R)
Label Jumlah data
Avg word count
Jumlah data
Avg word count tidak
relevan
6888
(57.4%) 56.20 1777 (59.23%) 56.52 relevan 5112
(42.6%) 66.47 1223 (40.77%) 66.44 Total 12000
(80%) 60.58 3000 (20%) 60.57
6. Split review & label ke dalam kalimat. Kemudian akan dibentuk kembali dataset berbasiskan kalimat mengikuti split training dan evaluasi pada tahap 5. Tr_R akan displit ke dalam kalimat-kalimat menghasilkan Tr_K, sedangkan Ts_R menghasilkan Ts_K. Detil pembagian data pada dataset kalimat dapat dilihat pada tabel 3. Label pada kalimat mengacu kepada label indeks kalimat pada tahap 2. Penggunaan split yang sama ini adalah untuk memastikan bahwa secara keseluruhan, data yang digunakan pada training sama persis antara dataset review maupun dataset kalimat. Begitu juga dengan data evaluasi.
Tabel 3. Statistik dataset kalimat Training (Tr_K) Testing (Ts_K) Label Jumlah
data
Avg word count
Jumlah data
Avg word count tidak
relevan
50303
(87.61%) 11.06 12405
(87.75%) 11.27 relevan 7114
(12.39%) 17.46 1731
(12.25%) 17.58 Total 57417
(80.24%) 11.85 14136
(19.76%) 12.05
7. Undersampling training & testing. Meskipun data yang digunakan adalah sama, namun proses split dari sebuah review menjadi beberapa kalimat menghasilkan distribusi label yang sangat tidak seimbang (imbalanced). Proporsi tidak relevan:relevan pada Tr_K adalah 85.61%:12.39%, sedangkan pada dataset review, proporsi label pada training adalah 57.4%:42.6%, seperti yang terlihat pada tabel 2 dan 3 di atas. Oleh karena itu, agar nantinya dapat melakukan perbandingan yang lebih fair antara performa pada dataset review dan dataset kalimat, maka akan dilakukan undersampling pada dataset kalimat sehingga terbentuk dataset baru yang disebut dataset kalimat undersampling. Statistik hasil undersampling dapat dilihat pada tabel 4 di bawah ini. Meskipun jumlah data training menurun signifikan, namun jika dibandingkan dengan jumlah data training pada dataset review, keduanya bisa dikatakan mirip, yaitu 12.000 berbanding 14.228. Hal ini penting untuk memastikan kemiripan kondisi data ketika proses evaluasi nantinya.
Tabel 4. Statistik dataset kalimat undersampling Training (Tr_KU) Testing (Ts_KU) Label Jumlah
data
Avg word count
Jumlah data
Avg word count tidak
relevan
7114
(50%) 11.08 1731
(50%) 11.50 relevan 7114
(50%) 17.46 1731
(50%) 17.58 Total 14228
(80.43%) 14.27 3462
(19.57%) 14.54
Penting untuk diperhatikan bahwa terdapat perbedaan rata-rata panjang yang cukup besar antara dataset kalimat dengan dataset review, yaitu hampir 6 kali lipat. Rata-rata jumlah token/kata pada dataset review bagian training adalah 60.58, berbanding 11.85 pada dataset kalimat.
2.2 Ekstraksi dan Seleksi Fitur
Dari data teks akan dilakukan ekstraksi fitur menggunakan TF-IDF, kemudian dilakukan juga seleksi fitur dengan metode Chi Square berdasarkan nilai TF-IDF. Jumlah fitur yang dipilih (k_best) adalah top 1000 kata/token. Tidak
ada alasan khusus dalam pemilihan jumlah fitur ini melainkan hanya berdasarkan observasi dari eksperimen awal dengan k_best berbeda-beda (100, 1000, 5000).
2.3 Model Klasifikasi
Studi ini lebih fokus melihat perbedaan performansi model yang sama terhadap kondisi data yang berbeda-beda, dan tidak fokus dalam membandingkan performansi antar model berbeda. Untuk itu setting hyperparameter yang digunakan pada setiap model machine learning mengacu kepada setting default library Sklearn . Model machine learning yang digunakan pada percobaan antara lain: Random Forest (RF), Gaussian Naive Bayes (GNB), Ada Boost (ADA), Multilayer Perceptron (MLP), dan K-Nearest Neighbors (KNN). Sedikit perubahan dari hyperparameter default adalah pada Random Forest, di mana jumlah minimal sample pada tiap leaf di-set menjadi 2 untuk menghindari overfitting.
Sementara itu, untuk model berbasis deep learning akan menggunakan Bidirectional LSTM [18] dan CNN [19]. Arsitektur default yang digunakan terlihat seperti pada tabel 5, di mana dimensi embedding vector adalah 64, fungsi aktivasi pada hidden layer adalah ‘relu’ dan ‘softmax’ pada output layer. Sementara untuk hyperparameter lainnya, max_length = 200, trunc_type dan padding_type = ‘post’. Optimizer menggunakan Adam dan jumlah epoch training = 5.
Kemudian pada saat Tokenizer memproses input teks, parameter num_words diset dengan 5000, artinya jumlah vocabulary yang disimpan hanyalah 5000 token, sisanya akan dianggap sebagai out-of-vocabulary (OOV) . Awalnya akan digunakan 1000 token sama dengan k_best yang digunakan pada seleksi fitur, namun berdasarkan percobaan singkat hasilnya kurang maksimal, sehingga dinaikkan menjadi 5000. Terdapat satu pengecualian, yaitu ketika data training yang digunakan adalah Tr_KU, maka num_words yang digunakan adalah 1000, hal ini dikarenakan jumlah dataset yang kecil sehingga vocabulary-nya juga terbatas. Secara default tensorflow, vocabulary dipilih berdasarkan frekwensi kemunculan token. Namun agar lebih mendekati dengan setting pada metode machine learning, maka vocabulary diganti dengan hasil seleksi fitur menggunakan chi-square.
Tabel 5. Statistik dataset kalimat undersampling BiLSTM - Embedding (vocab_size=5000, embedding_dim=64)
- BidirectionalLSTM (units=64) - Dense (units=64, activation=’relu’) - Dense (2, activation=’softmax’)
CNN - Embedding (vocab_size=5000, embedding_dim=64) - Conv1d (units=128)
- Global Average Pooling
- Dense (units=64, activation=’relu’) - Dense (2, activation=’softmax’) 2.4 Evaluasi
Dalam evaluasi ini terdapat 3 skenario utama seperti berikut ini.
2.4.1 Performansi terhadap dataset review vs dataset kalimat
Pada evaluasi yang pertama ini, semua model klasifikasi akan diujikan terhadap dua buah dataset, yaitu dataset review dan dataset kalimat. Namun karena ada perbedaan distribusi label antara kedua dataset, dimana dataset kalimat memiliki distribusi yang tidak seimbang, maka dilakukan juga pengujian tambahan terhadap dataset kalimat undersampling. Sehingga secara total setiap model akan diujikan ke tiga buah dataset yang secara detail terlihat seperti di bawah ini:
Percobaan 1: train=Tr_R, test=Ts_R Percobaan 2: train=Tr_K, test=Ts_K Percobaan 3: train=Tr_KU, test=Ts_KU 2.4.2 Cross length training testing
Berikutnya kita ingin melihat bagaimana pengaruh performansi classifier jika dilatih dan diuji dengan data yang memiliki distribusi panjang yang berbeda. Untuk itu, disiapkan dua jenis dataset, yang pertama adalah training dengan data berbasis review lalu testing dengan data berbasis kalimat. Namun agar perhitungan F1 tidak terlalu dipengaruhi distribusi label, maka digunakan data testing dari dataset kalimat undersampling. Percobaan berikutnya adalah dengan data sebaliknya, yaitu training dari dataset kalimat undersampling, dan testing dengan dataset review.
Percobaan 4: train=Tr_R, test=Ts_KU Percobaan 5: train=Tr_KU, test=Ts_R
2.4.3 Akumulasi prediksi mikro
Evaluasi terakhir ini mengasumsikan model telah dilatih dengan data yang pendek namun data baru yang ingin diprediksi ternyata memiliki distribusi panjang yang lebih dibanding data latih. Salah satu trik yang mungkin dilakukan adalah tiap data yang ingin diprediksi tersebut di-split terlebih dahulu ke dalam beberapa data yang lebih pendek, lalu dilakukan prediksi oleh model terhadap data yang pendek, dan kemudian label hasil prediksi disatukan kembali menjadi label review. Maka di sini kita ingin melihat apakah trik tersebut akan menghasilkan performa yang lebih baik dari pada langsung memprediksi ke data awal yang panjang?
Untuk menjawabnya, maka dilakukan pemrosesan data hasil prediksi dari percobaan 2. Label hasil prediksi disatukan kembali dengan mengikuti formula pada (Eq. 1). Kemudian untuk menghindari training terhadap data yang tidak seimbang (Tr_K), maka dicobakan juga training dengan Tr_KU namun testing tetap dengan Ts_K.
Sehingga konfigurasi data untuk kedua percobaan tersebut adalah seperti berikut:
Percobaan 6: train=Tr_K, test=Ts_K Percobaan 7: train=Tr_KU, test=Ts_K 2.4.4 Metrik Evaluasi
Metrik evaluasi yang biasa digunakan pada klasifikasi teks antara lain akurasi, precision, recall, dan F1-score.
Mengingat adanya data yang tidak balance, maka penggunaan F1-score dirasa lebih tepat. Untuk itu, pada semua percobaan nanti, nilai yang ditampilkan adalah F1-score, khususnya F1-score macro.
3. HASIL DAN PEMBAHASAN
3.1 Performansi terhadap dataset review vs dataset kalimat
Tabel 6 menunjukkan performansi berbagai classifier terhadap data yang berbasis review dengan data yang berbasis kalimat seperti yang dijelaskan pada bagian Evaluasi 1 di atas. Percobaan 3 dilakukan untuk memberikan perbandingan yang lebih mirip dengan percobaan 1, yaitu distribusi label pada data dalam kondisi yang hampir seimbang (balance).
Tabel 6. F1-score berbagai classifier terhadap data berbasis review dan kalimat. Tulisan tebal menunjukkan F1- score maksimal pada tiap percobaan. --- > --- memberikan ilustrasi kondisi dataset, sebelah kiri tanda > adalah
training dan sebelah kanannya adalah testing. --- artinya panjang dan - artinya pendek.
Percobaan RF GNB ADA MLP KNN BiLSTM CNN Avg F1
(1) --- > --- 0.8074 0.5548 0.7767 0.7583 0.5353 0.6866 0.7832 0.7003 (2) - > - 0.8171 0.6886 0.7636 0.8024 0.6029 0.6753 0.7550 0.7292 (3) - > - 0.8987 0.7854 0.8861 0.8810 0.6275 0.7955 0.8076 0.8117
Terlihat bahwa F1-score terbaik yang diberikan oleh setiap model terjadi pada percobaan 3, yaitu terhadap data training dan testing kalimat yang telah dilakukan undersampling. Meskipun demikian, perlu diingat bahwa data uji untuk ketiga percobaan adalah tidak sama, sehingga tidak dapat diambil kesimpulan langsung bahwa classifier-classifier tersebut lebih baik dalam menghandle kondisi data pendek dan seimbang dibanding data panjang atau tidak seimbang. Hasil tabel 6 ini lebih diperuntukkan sebagai baseline untuk evaluasi lebih lanjut.
Selain itu, kita lihat juga bahwa Random Forest memberikan performansi tertinggi untuk ketiga jenis kondisi dataset.
3.2 Cross length training testing
Pada evaluasi kedua ini, kita ingin melihat bagaimana performansi classifier jika di-training dan di-testing dengan data yang memiliki distribusi panjang yang berbeda. Pada percobaan 4, data training berasal dari dataset review sehingga lebih panjang secara rata-rata, sementara data testing berasal dari kalimat yang lebih pendek. Lalu pada percobaan 5 kondisi data diatur sebaliknya. Hasil percobaan 4 pada tabel 7 menunjukkan bahwa F1-score terbaik kembali didapatkan oleh Random Forest. Selain F1 terdapat juga nilai delta seperti pada formula 2 berikut ini:
𝑑𝑒𝑙𝑡𝑎 = 𝐹1𝑐𝑟𝑜𝑠𝑠− 𝐹1𝑛𝑜𝑟𝑚𝑎𝑙 (2)
Di mana 𝐹1𝑐𝑟𝑜𝑠𝑠 yaitu F1-score pada data yang berbeda panjang antara training dengan testing, dan 𝐹1𝑛𝑜𝑟𝑚𝑎𝑙 adalah F1-score pada kondisi data dengan distribusi panjang sama antara training dan testing (hasil baseline). Sebagai contoh, untuk percobaan 4 model RF, maka 𝐹1𝑐𝑟𝑜𝑠𝑠=0.8354. Sementara 𝐹1𝑛𝑜𝑟𝑚𝑎𝑙= 0.8987 yang diambil dari baseline (percobaan 3 model RF). Nilai 𝑑𝑒𝑙𝑡𝑎 ini adalah untuk menunjukkan perubahan yang terjadi jika data training diubah, sementara data testingnya sama dengan baseline. Semakin positif nilai delta semakin baik, namun karena perbedaan distribusi, yang lebih realistis adalah 𝐹1𝑐𝑟𝑜𝑠𝑠 akan lebih rendah, sehingga nilai delta akan negatif. Dengan demikian delta terbaik adalah yang paling mendekati 0.
Dari hasil yang ditunjukkan pada tabel 7, kita lihat bahwa secara rata-rata terhadap semua classifier, F1 yang didapatkan baik pada percobaan 4 maupun percobaan 5 lebih rendah dari performansi pada kondisi baseline.
Artinya, perbedaan distribusi panjang data teks antara training dan testing memberingan pengaruh negatif pada performansi classifier.
Tabel 7. Perbandingan F1-score dan delta antara kondisi data training=Tr_R dan testing=Tr_KU (percobaan 4) dan training=Tr_KU dan testing=Tr_R (percobaan 5). Tulisan tebal menunjukkan F1-score terbesar, ⤉
mengindikasikan delta terbesar, sementara * menandakan delta terkecil.
Percobaan Baseline RF ADA MLP BiLSTM CNN Avg
(4) --- > - -3 0.8354 (- 0.0633⤉)
0.7312 (- 0.1549)
0.6291
0.6445 (- 0.151)
0.7148 0.711 (-
0.2519*)
(- 0.0928)
(- 0.1428) (5) - > --- -1
0.6353 0.7514 0.7101
0.5385 (- 0.1481)
0.6855 0.6642
(-0.1721*) (-0.0253⤉) (-0.0482) (-
0.0977) (- 0.0983) Delta rata-rata model (-0.1177) (-0.0901⤉) (-0.1501) (-0.1496) (-
0.0953) (- 0.1205) Kemudian jika kita bandingkan mana yang lebih banyak penurunannya antara training=panjang testing=pendek (percobaan 4) dengan training=pendek testing panjang (percobaan 5), maka berdasarkan nilai delta rata-rata, terlihat bahwa classifier lebih kesulitan menghadapi perubahan data dari panjang ke pendek.
Meskipun bukan fokus utama, namun jika membandingkan performansi antar classifier, untuk percobaan 4, delta terbaik juga didapatkan oleh Random Forest. Sementara itu, untuk percobaan 5, F1 tertinggi didapatkan oleh Ada Boost. Ada Boost juga unggul secara delta rata-rata terhadap kedua percobaan tersebut. Namun perlu disebutkan juga bahwa model CNN terlihat lebih stabil terhadap kedua jenis perubahan data, seperti yang ditunjukkan oleh nilai deltanya yang mirip untuk keduanya.
3.3 Akumulasi prediksi kalimat menjadi review
Pada evaluasi ini, data testing berupa review (panjang) dipecah menjadi kalimat (pendek), kemudian dilakukan prediksi terhadap kalimat dan hasilnya disatukan kembali menjadi label review. Penyatuan label kalimat menjadi review mengikuti aturan pada (1).
Percobaan ini mirip dengan percobaan 5, bedanya adalah pada saat testing, data review dipecah dulu menjadi kalimat dan satukan kembali. Oleh karena itu, hasil percobaan 5 akan dijadikan sebagai baseline pada evaluasi ini untuk melihat apakah trik demikian dapat memberikan performansi yang lebih baik.
Tabel 8. F1-score terhadap data testing review yang dihasilkan dari akumulasi prediksi terhadap data testing kalimat
Percobaan Baseline RF ADA MLP
-6 -5 0.7998
0.7448 0.7816 (+0.1645⤉) (-0.0066*) (0.0715)
-7 -5 0.7223 0.7673 0.7223
(+0.087⤉) (+0.0159) (+0.0122*)
Dari hasil percobaan pada tabel 8, terlihat bahwa secara umum trik tersebut dapat meningkatkan performansi classifier (kecuali ADA), baik dengan undersampling pada training (percobaan 7) atau pun tidak (percobaan 6). Namun demikian, perlu observasi menggunakan dataset yang berbeda-beda untuk melihat apakah hasil observasi ini berlaku lebih general atau terhadap data dengan karakteristik tertentu saja. Berdasarkan intuisi, trik pemecahan seperti ini hanya bisa berhasil jika task yang ada tidak mengharuskan mengaitkan konteks antara satu kalimat dengan kalimat lain di review yang sama, sehingga pemecahan kalimat tidak akan mengurangi makna.
4. KESIMPULAN
Pada studi ini kami melakukan investigasi performa text classifier terhadap kondisi data dengan distribusi panjang teks yang berbeda-beda. Sebanyak 3 jenis evaluasi dan 7 percobaan yang melibatkan berbagai scenario dataset dan juga berbagai model klasifikasi teks telah dilakukan. Secara empiris ditemukan bahwa classifier yang dilatih dan diuji dengan dataset pendek menunjukkan performansi yang lebih baik dibandingkan dengan yang dilatih dan diuji dengan dataset panjang. Kemudian terlihat juga bahwa perbedaan distribusi panjang teks yang digunakan saat training dengan saat prediksi dapat menurunkan performansi classifier jika dibandingkan ketika dilatih dengan data training yang memiliki distribusi panjang yang sama. Cross-length transfer dari teks panjang ke pendek menunjukkan rata-rata penurunan F1-score dari semua model sebesar 14%, sementara transfer dari teks pendek ke panjang memberikan penurunan rata-rata sebesar 9%. Jika menemui permasalahan perbedaan distribusi panjang dataset, maka memecah data yang akan diprediksi sehingga panjangnya mirip dengan panjang dataset yang
digunakan untuk training, lakukan prediksi, lalu menyatukan kembali hasil prediksi berpotensi meningkatkan performansi. Hal ini tentu saja jika secara konteks masalah pemotongan tersebut memang mungkin dilakukan.
REFERENCES
[1] B. Zhang, X. Zhang, Y. Liu, L. Cheng, and Z. Li, “Matching Distributions between Model and Data: Cross-domain Knowledge Distillation for Unsupervised Domain Adaptation,” in Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), Aug. 2021, pp. 5423–5433.
[2] H. S. Bhatt, M. Sinha, and S. Roy, “Cross-domain text classification with multiple domains and disparate label sets,” in Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), 2016, pp. 1641–1650.
[3] B. Jing, C. Lu, D. Wang, and C. Zhuang Fuzhen and Niu, “Cross-Domain Labeled LDA for Cross-Domain Text Classification,” in 2018 IEEE International Conference on Data Mining (ICDM), Nov. 2018, pp. 187–196.
[4] A. Mogadala and A. Rettinger, “Bilingual word embeddings from parallel and non-parallel corpora for cross-language text classification,” in Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2016, pp. 692–702.
[5] G. Barbosa, R. Camelo, A. P. Cavalcanti, P. Miranda, V. Mello Rafael Ferreira and Kovanović, and D. Gašević,
“Towards automatic cross-language classification of cognitive presence in online discussions,” in Proceedings of the Tenth International Conference on Learning Analytics & Knowledge, Mar. 2020, pp. 605–614.
[6] G. Karamanolakis, D. Hsu, and L. Gravano, “Cross-Lingual Text Classification with Minimal Resources by Transferring a Sparse Teacher,” in Findings of the Association for Computational Linguistics: EMNLP 2020, Nov. 2020, pp. 3604–
3622.
[7] S. Jarvis and S. A. Crossley, Approaching Language Transfer Through Text Classification: Explorations in the Detectionbased Approach. Multilingual Matters, 2012.
[8] R. K. Amplayo, S. Lim, and S.-W. Hwang, “Text Length Adaptation in Sentiment Classification,” in Proceedings of The Eleventh Asian Conference on Machine Learning, 2019, vol. 101, pp. 646–661.
[9] K. Kowsari, K. Jafari Meimandi, M. Heidarysafa, S. Mendu, L. Barnes, and D. Brown, “Text Classification Algorithms:
A Survey,” Information, vol. 10, no. 4, p. 150, Apr. 2019.
[10] V. S. Jagtap and K. Pawar, “Analysis of different approaches to sentence-level sentiment classification,” International Journal of Scientific Engineering and Technology, vol. 2, no. 3, pp. 164–170, 2013.
[11] Y. Kim, “Convolutional Neural Networks for Sentence Classification,” in Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), Oct. 2014, pp. 1746–1751.
[12] Z. Yang, D. Yang, C. Dyer, X. He, A. Smola, and E. Hovy, “Hierarchical attention networks for document classification,” in Proceedings of the 2016 conference of the North American chapter of the association for computational linguistics: human language technologies, 2016, pp. 1480–1489.
[13] M. P. Akhter, Z. Jiangbin, I. R. Naqvi, M. Abdelmajeed, A. Mehmood, and M. T. Sadiq, “Document-Level Text Classification Using Single-Layer Multisize Filters Convolutional Neural Network,” IEEE Access, vol. 8, pp. 42689–
42707, 2020.
[14] G. Wang and S. Y. Shin, “An Improved Text Classification Method for Sentiment Classification,” Journal of information and communication convergence engineering, vol. 17, no. 1, pp. 41–48, 2019.
[15] Y. Goldberg, “Neural Network Methods for Natural Language Processing,” Synthesis Lectures on Human Language Technologies, vol. 10, no. 1, pp. 1–309, Apr. 2017.
[16] S. Lai, L. Xu, K. Liu, and J. Zhao, “Recurrent Convolutional Neural Networks for Text Classification,” Feb. 2015.
[17] M. M. Mirończuk and J. Protasiewicz, “A recent overview of the state-of-the-art elements of text classification,” Expert Syst. Appl., vol. 106, pp. 36–54, Sep. 2018.
[18] B. Jang, M. Kim, G. Harerimana, S.-U. Kang, and J. W. Kim, “Bi-LSTM Model to Increase Accuracy in Text Classification: Combining Word2vec CNN and Attention Mechanism,” NATO Adv. Sci. Inst. Ser. E Appl. Sci., vol. 10, no. 17, p. 5841, Aug. 2020.
[19] A. Conneau, H. Schwenk, L. Barrault, and Y. Lecun, “Very Deep Convolutional Networks for Text Classification,” in Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers, Apr. 2017, pp. 1107–1116.