Annotator, Andil Linguis di Dunia NLP
Material dasar dalam NLP adalah bentuk bahasa. Tanpa kemampuan linguistik yang baik, mustahil tercipta sistem NLP yang komprehensif.
- Penanya: “Nik, kamu kerja di mana?”
- Saya: “Di perusahaan, Bu/Pak, yang bikin aplikasi.”
- Penanya: “Loh, kamu kan anak Bahasa?”
Jujur, saya sebagai lulusan linguistik juga nggak menyangka bisa bekerja di bidang AI (Artificial Intelligence). Rasa-rasanya, dulu waktu saya mantap memilih jurusan bahasa di SMA atau mengambil linguistik di perguruan tinggi, saya cuma mikir, “Oke, saya nanti akan jadi dosen linguistik.”
Tapi, ternyata peran saya sebagai lulusan linguistik juga bisa begitu berguna di dunia pemrograman dengan menjadi annotator.
Pekerjaan yang bernama annotator ini dibutuhkan dalam bidang AI yang berfokus pada machine learning untuk melabeli data sehingga bisa meningkatkan akurasi program.
Pada dasarnya, annotator ya tugasnya menganotasi atau melabeli satuan bahasa (fonem, morfem, kata, kalimat, paragraf, atau dokumen) sesuai dengan panduan pelabelan yang tentunya memanfaatkan ilmu-ilmu linguistik. Artinya, ruang lingkup pelabelannya bisa seputar teks, suara, gambar atau bahkan apa saja.
Nah, salah satu perusahaan yang bergerak di bidang AI atau lebih khususnya Natural Language Processing (NLP) di Indonesia adalah Prosa.ai. Fokus utamanya menciptakan program yang memudahkan pekerjaan manusia dengan memanfaatkan bahasa Indonesia. Produknya seperti chatbot, sentiment analysis — untuk lebih detailnya bisa dilihat di sini.
Selain dibutuhkan seorang programmer untuk membuat program, Prosa.ai juga membutuhkan ahli bahasa Indonesia untuk mengolah data. Di Prosa.ai sendiri ada tiga divisi, yakni Speech, Text, dan Vision.
Nah, karena saya adalah data text annotator, tulisan ini hanya akan berfokus pada lingkup tersebut.
Annotator, Andil Linguis di Dunia Pemrograman
Sebenarnya, semua informasi atau data di dunia ini disampaikan dalam bentuk “bahasa”. Bukan hanya seputar tekstual, melainkan juga segala bentuk simbol juga termasuk dalam definisi bahasa. Dalam lingkup NLP pun, material dasar yang diolah adalah data atau bahasa.
Lalu, apa aja sih dan bagaimana pekerjaan pengolah data bahasa yang bernama annotator ini di dunia NLP ?
Sebenarnya, saya agak bingung juga, “Kenapa ya pekerjaan kami disebut annotator kalau pada praktiknya kami tidak hanya memberi catatan atau melabeli, tetapi menganalisis dan mengelaborasi data yang begitu beragam dan besar?”
Analisis dangkal saya sih, sebutan annotator ini dilihat dari sudut pandang programmer yang menganggap bahwa ya karena secara fungsional di program, orang tersebut memberikan catatan, marilah kita sebut dengan nama annotator.
Mungkin bagi yang membaca ini tahu sejak kapan dan mengapa pekerjaan kami disebut annotator bisa tinggalkan komentar di bawah. Tapi, terlepas dari itu, mari kita coba terima dulu mengenai sebutan annotator ini.
Secara garis besar, annotator memiliki andil untuk menyiapkan data latih dan data uji untuk meningkatkan akurasi program. Walaupun pakai data “mentah” pun tetap bisa, tetapi dari sisi modelnya sangat challenging dan susah sehingga peran annotator ini menjadi penting bagi program.
Kalau boleh dianalogikan, mungkin peran annotator itu seperti guru bagi program: memberikan pengetahuan mengenai suatu hal dan mengetesnya kembali. Apabila hasil tes/uji sesuai dengan data latih yang diberikan, berarti program telah mengerti yang ditandai dengan nilai akurasinya yang sudah cukup tinggi.
Secara singkatnya, proses anotasi data teks dapat dilihat pada bagan di bawah ini. Agar lebih mudah dipahami, penjelasan pada setiap tahap dilengkapi dengan contoh pelabelan POS-tagging (kategorisasi kata menurut kelas katanya) dengan kalimat saya sedang makan nasi.
1. Prapelabelan
Tahap prapelabelan ini disebut juga eksplorasi data. Annotator akan menganalisis kecenderungan atau pola pada data yang begitu besar.
Nah, di situlah letak “kegemasan” yang sesungguhnya ketika kami belum menemukan label yang cocok bagi kasus-kasus unik nan seru.
Tahapan prapelabelan dari POS-tagging sendiri dimulai dengan mengeksplorasi berbagai rujukan mengenai kelas kata dalam bahasa Indonesia, membandingkannya, dan membuat panduan pelabelan yang dirasa paling komprehensif.
2. Pelabelan
Kemudian, tahap pelabelan itu kayak tahap intinya gitu. Ya, melabeli data sesuai dengan panduan pelabelan yang telah disepakati.
Di sini, konsisten adalah motto hidup bagi annotator.
3. Pascapelabelan
Pascapelabelan itu ada dua hal yang penting, yakni proses pengecekan dan evaluasi pada pelabelan yang telah dilakukan. Contohnya, mengecek label pada “Saya sedang makan nasi” sudah benar atau belum. Biasanya pada tahapan ini, kami juga memasukkan kasus-kasus ke panduan pelabelan agar panduannya bisa lebih komprehensif dengan berbagai contoh yang kami temui pada data.
Kenapa annotator di NLP harus paham linguistik?
Secara umum, di Indonesia, ilmu linguistik hanya dipahami sebatas teoretisnya saja. Mungkin, hanya berfokus seputar pembentukan struktur bahasa, ilmu tata bahasa, dan tataran kalimat/ teks wacana mulai dari fonologi, morfologi, sintaksis, semantik, hingga pragmatik.
Sebenarnya, ilmu linguistik ini bisa diaplikasikan untuk bidang terapan lainnya dengan jalan interdisipliner (bekerja sama dengan bidang ilmu lain untuk mensolusikan suatu masalah tertentu). Sebagai contoh dalam dunia pemrograman ini, ilmu linguistik bisa diaplikasikan menjadi cabang ilmu baru, yakni computational linguistics.
Pemahaman ilmu linguistik ini sangat penting karena pada prosesnya annotator akan menemukan banyak kasus yang tidak biasa dalam bahasa Indonesia — karena masyarakat Indonesia yang “terlalu kreatif” menggunakan bahasa Indonesia sehingga kami kebingungan hehe.
Temuan-temuan kasus tersebut akan menjadi bahan diskusi dan bukan tidak mungkin akan mematahkan label yang telah diterapkan selama ini.
Seru kan ya?
Orang Tua x Guru
Seperti yang sudah disinggung sebelumnya, annotator layaknya guru bagi program: mengajarkan sesuatu dengan konsisten dan mengetesnya kembali. Kalau nilai atau akurasinya tinggi, itu artinya program sudah mengerti.
Nah, si programmer bisa dianalogikan seperti orang tua yang melahirkan program. Bisa sih, orang tua langsung mengajarkan pada si anak, tetapi kalau diberikan pengajaran langsung dari guru di bidangnya, kebayang nggak bisa sepintar apa si anak?
Karena material dasar yang diolah di dunia NLP adalah bahasa, peran pola pikir linguistik sama pentingnya dengan peran kemampuan aritmatika/matematika/logika. Peran tersebut tentunya sangat relevan dalam menghadapi tantangan dunia NLP di masa depan. Tanpa kemampuan berlinguistik yang baik, mustahil tercipta suatu sistem NLP yang komprehensif.
“It’s cool not only to be an engineer, but also to be an annotator. You can be anything you want because no matter how small your contribution is, it always matters.”