IndoNLU: Sumber Daya Baru dalam Pengembangan Riset NLP Bahasa Indonesia

Rizal Setya Perdana
Work in playground
Published in
6 min readMar 6, 2021
Photo by JOHN TOWNER on Unsplash

Kabar baik bagi para peneliti pemrosesan bahasa alami atau natural language processing (NLP), khususnya bagi peneliti yang secara intensif meneliti dan memproses dokumen atau modalitas lain terkait dengan Bahasa Indonesia. Indonesian natural language understanding (IndoNLU) muncul sebagai sumber daya baru dalam pengembangan riset NLP Bahasa Indonesia.

Menurut saya, IndoNLU dapat dikatakan sebagai pendobrak kebuntuan (pembuka celah) dalam menyediakan resource riset NLP bahasa indonesia, jika dibandingkan dengan riset NLP dengan bahasa lain, seperti bahasa inggris yang lebih dahulu banyak tersedia.

Sebelum lebih dalam membahas IndoNLU, secara ringkas NLP merupakan cabang ilmu kecerdasan buatan yang fokus pada pertanyaan bagaimana memahamkan komputer atau mesin pada bahasa sehari-hari yang manusia gunakan. Beberapa aplikasi dari area riset NLP diantaranya adalah machine translation, question translation, language modelling, text classification, sentiment analysis, data augmentation, text generation, text summarization dan sebagainya. Secara umum, modalitas yang banyak digunakan dalam penelitian adalah teks yang dengan ekstensinya seperti frasa, kalimat, dokumen, atau bahkan kumpulan dokumen. Apabila kita memiliki pertanyaan mengapa sumber daya dalam penelitian NLP berbahasa Indonesia masih sangat kurang, kita seharusnya perlu bertanya juga apakah dokumen teks berbahasa Indonesia yang dapat diakses melalui jaringan internet kurang mencukupi? Secara statistik (saya coba mencari data di https://www.statista.com/ ) Indonesia masuk sebagai negara dengan jumlah pengguna internet terbesar ke-4 di dunia, wow! Menurut saya jumlah pengguna internet akan berbanding lurus dengan jumlah tersedianya teks berbahasa Indonesia di internet (sebatas perkiraan saya). Namun, tidak dapat dipungkiri bahwa bahasa Indonesia masih tergolong sebagai low-resource language atau bahasa dengan sumber daya yang rendah jika dalam penelitian NLP.

Permasalahan umum riset NLP

Terdapat tiga permasalahan umum yang sering dihadapi pada penelitian NLP, yaitu: tidak adanya standar teknis pengolahan teks (jika dikaitkan dengan karakter berbagai bahasa), sulit untuk melakukan reproduksi pada penelitian sebelumnya, dan permasalahan terkait dataset.

  1. Tidak adanya standar teknis pengolahan teks. Jika dikaitkan dengan bahasa yang terdapat pada teks yang akan diproses, masing-masing bahasa memiliki keunikan dan karakter sehingga membutuhkan langkah atau teknis khusus dalam pemrosesannya. Sebagai contoh, apabila tidak ada sumber daya yang cukup (tools atau dokumentasi) untuk NLP berbahasa Indonesia, maka peneliti yang tidak mendalami pengolahan bahasa indonesia (atau bahkan bahasa indonesia bukan bahasa sehari-harinya), maka akan mengalami keterbatasan dalam melakukan eksplorasi.
  2. Sulit melakukan reproduksi dari penelitian sebelumnya. Apabila sumber daya seperti kode program atau algoritma sulit untuk diakses atau ditemukan, maka hal ini akan menghambat berkembangnya penelitian NLP terkait bahasa tertentu. Sebagai contoh, bahasa Inggris merupakan salah satu bahasa yang cukup banyak tersedia sumber daya seperti repositori kode program, model yang telah dilatih, dataset, dan artefak lain yang mendukung penelitian NLP pada bahasa tersebut. Semakin banyak penelitian serta repositori kode program implementasi beserta artefaknya, maka akan semakin banyak peneliti lain setelahnya yang terbantu dalam pengembangan selanjutnya, alih-alih mengimplementasikan ulang dari awal apa yang sebenarnya sudah pernah dikerjakan.
  3. Permasalahan pada dataset yang tersedia. Dataset yang masih kotor, berukuran kecil, tidak tersedia secara terbuka, tidak dapat diakses dan terpencar-pencar adalah masalah umum pada penelitian NLP. Ketersediaan data merupakan hal utama dalam pengembangan model dan metode pada NLP, sehingga hambatan akan tetap ada jika permasalahan-permasalahan tersebut masih belum terselesaikan.

Permasalahan riset NLP Bahasa Indonesia

Kemudian, apabila ditinjau secara khusus permasalahan pada penelitian NLP bahasa indonesia adalah sebagai berikut:

  1. Banyak dataset yang tidak dipublikasikan atau tidak dapat diakses secara mudah
  2. Belum ada benchmark atau patokan hasil penelitian seperti GLUE, CLUE, dll
  3. Masih jarang penelitian yang menyertakan kode program untuk bisa diproduksi ulang pada penelitian selanjutnya

Tentunya permasalahan-permasalahan tersebut sebenarnya sudah ada penelitian-penelitian yang mencoba untuk mencari solusi, namun saat ini belum nampak hasilnya.

Tahun 2020, IndoNLU muncul sebagai hasil kerja monumental dari kolaborasi industri dan akademi di Indonesia. IndoNLU berisi beberapa sumber daya yang mendukung beberapa proses seperti benchmarking, training, serta evaluation pada teks berbahasa Indonesia. Bagi saya, hasil yang telah dikerjakan ini dapat dianggap sebagai aset yang ditunggu oleh komunitas NLP khususnya yang mengolah teks berbahasa Indonesia. Hal ini juga dapat dipandang sebagai sebuah momentum untuk mempersatukan komunitas peneliti baik dari akademia maupun industri dalam satu tolok ukur yang sama. Satu hal positif lainnya dengan munculnya sumber daya seperti IndoNLU adalah peneliti bisa lebih fokus untuk peningkatan hasil dari metode NLP, ketimbang harus memikirkan permasalahan dataset. serta dapat secara mudah melakukan perbandingan hasil dengan metode lain yang telah dikembangkan sebelumnya.

Sebagai sumber pertama NLP bahasa Indonesia yang memiliki skala besar dan komprehensif, IndoNLU tersusun atas tiga komponen utama yaitu IndoNLU Benchmark, Indo4B Dataset, dan Pre-trained models.

IndoNLU Benchmark

merupakan kurasi dari 12 permasalahan (downstream task) pengaplikasian NLP yang banyak diteliti dan tengah menjadi permasalahan aktif dan terbuka baik di dunia penelitian maupun industri. Benchmark juga telah menyediakan leaderboard (papan peringkat) untuk menunjukkan hasil pengembangan model lain yang lebih baik yang dapat diakses pada https://www.indobenchmark.com/leaderboard.html yang saat ini masih berisi dari tim IndoNLU (menunggu komunitas untuk mengirim model yang lebih baik). Berikut ringkasan dari 12 aplikasi downstream task tersebut:

Kelompok single-sentence classification task

dalam bahasa tidak formal (colloquial) merupakan task yang mengklasifikasi sebuah kalimat ke dalam kategori tertentu pada bahasa tidak formal yang biasa digunakan dalam percakapan secara daring. Berikut adalah aplikasinya:

  1. Klasifikasi emosi: terdiri dari 4000 tweets dengan lima labels yaitu anger, fear, love, happiness, dan sadness
  2. Analisis sentimen: terdiri dari 12700 reviews dibagi dalam tiga labels yaitu negatif, netral, dan positif
  3. Aspect based analysis (CASA): terdiri dari enam aspek kualitas mobil yang masing-masing aspek terdiri dari tiga label yaitu netral, positif, dan negatif
  4. Aspect based analysis (HoASA): terdiri dari 2800 review hotel, terdiri dari sepuluh aspek dengan masing-masing aspek terdiri dari empat kelas yaitu positif, negatif, netral, dan positif-negatif

Kelompok sentence-pair classification task

  1. Wiki Revision Edits Textual Entailment (WReTe): berisi 450 pasang kalimat bersumber dari Wikipedia revision history. Memiliki dua label yaitu Entail dan Non Entail. Task ini merupakan klasifikasi apakah artikel Wikipedia telah mengalami perubahan atau tidak

Kelompok single-sentence sequence labeling

terdiri dari beberapa aplikasi sebagai berikut:

  1. POS Tagging (BaPOS) terdiri dari 10000 kalimat dengan 23 POS Tags
  2. POS Tagging (POSP) terdiri dari 8000 kalimat dengan 26 POS Tags
  3. Span extraction (TermA) terdiri dari 5000 hotel review dengan 2 span tags yaitu aspek dan sentimen
  4. Keyphrase extraction (KEPS) terdiri dari 1000 Tweets tanpa keyphrase tag
  5. Named entity recognition (NERGrit): 2000 kalimat, terdiri dari tiga entitas yaitu PERSON, PLACE, dan ORGANIZATION
  6. Named entity recognition (NERP): terdiri dari 8500 kalimat dengan lima tags yaitu person, location, event, product, food & beverage

Kelompok sentence-pair sequence labeling

  1. Question answering factoid (FacQA) terdiri dari 3000 pasang pertanyaan dan jawaban, dengan 6 tipe pertanyaan yaitu date, location, name, organization, person, dan quantitative

Dengan adanya beberapa benchmark pada aplikasi yang telah disebutkan tersebut diharapkan peneliti-peneliti lain dapat menggunakannya sebagai patokan hasil serta tidak berhenti sampai disini.

Indo4B Dataset

merupakan dataset hasil kurasi dari dokumen-dokumen berbahasa Indonesia dengan ukuran total 23 GB+ dokumen bahasa indonesia, dengan kurang lebih 4 miliar kata, berasal dari 15 sumber berbeda. Dataset terbagi menjadi kalimat formal dan tidak formal (colloquial) dalam 250 juta kalimat.

Pre-trained Models

merupakan model yang telah dilatih dengan dataset tertentu sehingga peneliti atau pihak lain dapat memanfaatkan dengan cara tertentu tanpa harus melakukan training dari awal. Hal ini tentunya sangat berguna bagi peneliti yang memiliki keterbatasan perangkat komputasi sehingga dapat mempermudah dan mempercepat pengembangan model lainnya. IndoNLU menyediakan dua kelompok pre-trained model yaitu word-embedding-based dan contextual language model. Word-embedding merupakan kumpulan vektor representasi dari kata yang dapat langsung digunakan tanpa melalui proses training, sedangkan contextual language model membutuhkan proses training atau fine-tuning terlebih dahulu. Berikut adalah pre-trained model yang disediakan oleh IndoNLU:

Word-embedding-based model

  1. FastText CC-ID (15.1M parameter) yang dilatih pada dataset CC-ID
  2. FastText Indo4B (15.1M parameter) yang dilatih pada dataset Indo4B

Contextual-language model

  1. IndoBERT Base (124.5M parameter) & Large (335,1M parameter) merupakan pre-trained model berdasarkan arsitektur BERT.
  2. IndoBERT-lite Base (11.7M parameter) & Large (17.7M parameter) menggunakan arsitektur ALBERT merupakan versi lebih kecil dan terbatas sehingga cocok untuk peneliti yang memiliki sumber komputasi yang terbatas
  3. Model-model yang telah dikembangkan oleh IndoNLU ini telah dihosting pada Hugging Face (https://huggingface.co/indobenchmark).

Model-model yang telah dilatih sebelumnya melalui tahap training dengan detail waktu dan sumber daya komputasi sebagai berikut:

Informasi waktu proses running model pre-train

  1. IndoBERT-lite Base: 1–2 hari
  2. IndoBERT-lite Large 5–7 hari

Menggunakan mesin TPU v3.8 di Google Cloud Platform dan untuk Fine Tuning menggunakan NVIDIA V100 32GB.

Begitulah ulasan singkat terkait IndoNLU, semoga disusul kabar-kabar baik selanjutnya dari komunitas peneliti NLP khususnya di Indonesia.

Sumber:

  1. https://www.indobenchmark.com/
  2. https://arxiv.org/abs/2009.05387

--

--