Oleh : M. Dwi Etsa Putra (D03112013)
M. Fauzan Fakhrullah (D03112006)
Natural Language Processing
Natural Language Processing (NLP) merupakan cabang ilmu AI yang berfokus pada pengolahan bahasa alami. Bahasa alami adalah bahasa yang secara umum digunakan oleh manusia dalam berkomunikasi satu sama lain. Bahasa yang diterima oleh komputer harus diproses dan dipahami terlebih dahulu agar maksud dari pengguna bisa dipahami dengan baik oleh komputer.
Beberapa terapan aplikasi dari NLP, Diantaranya Chatbot (membuat pengguna seolah-olah melakukan komunikasi interaktif dengan computer), Stemming/Lemmatization (pemotongan kata menjadi bentuk dasar pengenalan fungsi setiap kata dalam kalimat), Summarization (ringkasan dari bacaan), Translation Tools (menterjemahkan bahasa).
Klasifikasi Natural Language Processing
Pustejovsky dan Stubbs (2012) menjelaskan beberapa area utama penelitian pada NLP, diantaranya:
• Question Answering Systems (QAS). Kemampuan komputer untuk menjawab pertanyaan yang diberikan oleh pengguna.
• Summarization. Pembuatan ringkasan dari sekumpulan konten dokumen atau email. Dengan menggunakan aplikasi ini, pengguna dibantu untuk mengkonversikan dokumen teks yang besar ke dalam bentuk slide presentasi.
• Translation Machine. Aplikasi yang dapat memahami bahasa manusia dan menterjemahkannya ke dalam bahasa lain.
• Speech Recognition. Kemampuan telpon/komputer dalam mengenali bahasa yang diucapkan. Bahasa yang sering digunakan biasanya berupa pertanyaan dan perintah.
• Document classification. Menentukan dimana lokasi terbaik dokumen yang baru diinput ke dalam penyimpanan. Hal ini sangat berguna pada aplikasi news article classification, spam filtering, dan movie review.
Terminologi Natural Language Processing
Poole dan Mackworth (2010) menjelaskan bahwa ada 3 aspek utama pada teori pemahaman mengenai Bahasa alami:
• Syntax: menjelaskan bentuk dari bahasa. Syntax sering dispesifikasikan sebagai sebuah pola kalimat (grammer). Bahasa alami jauh lebih daripada Bahasa formal yang digunakan untuk logika kecerdasan buatan dan program komputer
• Semantics: menjelaskan arti dari sebuah kalimat dalam satu Bahasa. Teori semantics secara umum sudah ada, pada saat membangun sistem natural language understanding untuk sebuah aplikasi, akan digunakan representasi yang paling sederhana.
• Pragmatics: menjelaskan bagaimana pernyataan yang ada berhubungan dengan dunia. Untuk memahami bahasa, pengembang harus mempertimbangan lebih dari hanya sekedar kalimat. Pengembang aplikasi harus melihat lebih ke dalam konteks kalimat, keadaan dunia, tujuan dari penutur dan pendengar, konvensi khusus, dan sejenisnya.
Contoh Aplikasi NLP
Pada tahun 2013 Suhartono, Christiandy, dan Rolando melakukan penelitian dengan merancang sebuah algoritma lemmatization untuk Bahasa Indonesia. Algoritma itu dibuat untuk menambahkan fungsionalitas pada algoritma Stemming yang sudah pernah dikerjakan sebelumnya yaitu Enhanced Confix-Stripping Stemmer (ECS) (2009). ECS merupakan pengembangan dari algoritma Confix-Stripping Stemmer (2007). Pengembangan yang dikerjakan terdiri dari penambahan beberapa rule dan modifikasi dari rule yang ada. Langkah untuk melakukan suffix backtracking juga ditambahkan. Hal ini untuk menambah akurasi algoritma.
Secara mendasar, algoritma lemmatization ini tidak bertujuan untuk mengembangkan dari metode ECS, karena tujuannya berbeda. Algoritma lemmatization bertujuan untuk mengoptimalkan ECS, supaya lebih tepat dengan konsep lemmatization. Namun, masih ada beberapa kemiripan pada proses yang ada pada ECS. Pada beberapa kasus dimana ECS belum berhasil untuk digunakan, namun bisa diselesaikan dengan algoritma lemmatization ini.
Gambar Indonesian Lemmatizer
Pengujian validitas pada algoritma ini dengan menggunakan beberapa artikel yang ada di situs Kompas, dan diperoleh hasil sebagai berikut:
Kategori FULL UNIK
Total data Data Valid Berhasil di Stemming Error Ketepatan Total data Data Valid Berhasil di Stemming Error Ketepatan
Business 6344 5627 5550 77 0,98632 1868 1580 1559 21 0,98671
Regional 6470 4802 5846 81 0,98313 1213 1011 995 16 0,98417
Education 4165 5927 3598 32 0,99460 868 637 623 14 0,97802
Science 6246 5504 5398 73 0,98674 874 643 630 13 0,97978
Sports 6231 3242 5522 42 0,98705 838 608 604 4 0,99342
International 10953 3630 9917 75 0,97934 2037 1593 1575 18 0,98870
Megapolitan 3998 5471 3214 28 0,99488 610 302 297 5 0,98344
National 5499 5564 4764 38 0,99317 559 326 324 2 0,99387
Oasis 6087 9992 5462 42 0,99580 820 528 524 4 0,99242
Travel 8379 7502 7457 45 0,99400 892 611 607 4 0,99345
All 64372 57261 56728 533 0,99069 10579 7839 7738 101 0,98712
Dari hasil pengujian diperoleh bahwa akurasi Algoritma Lemmatization Untuk Bahasa Indonesia mencapai 98,71%.
Sumber :
Ingason, Helgadóttir, Loftsson, Rögnvaldsson. (2008). A Mixed Method Lemmatization Algorithm Using a Hierarchy of Linguistic Identities (HOLI). Aarne Ranta (Eds,). Advances in Natural Language Processing.
Jurafsky D. dan Martin, J.H. (2008). Speech and Language Processing : An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. 2ndEdition. New Jersey : Pearson, Prentice Hall.
Kowalski, M. (2011). Information Retrieval Architecture and Algorithms. New York : Springer.
Nirenburg, S. (2009). Language Engineering for Lesser-Studied Languages. Amsterdam : IOS Press.
Pustejovsky, J., Stubbs A. (2012). Natural Language Annotation for Machine Learning. Beijing : O’Reilly.
Russel, S. J., Norvig, P. (2010). Artificial Intelligence A Modern Approach. New Jersey : Pearson Education Inc.
Suhartono, D., Christiandy D., Rolando (2013). Lemmatization Technique in Bahasa: Indonesian Language. Kuwait: Journal of Software (unpublished)
Massachusetts Institute of Technology (2010). Advanced Natural Language Processing. http: //people.csail.mit.edu/regina/6864/. Cambridge
Suhartono Derwin, S.Kom., MTI. (2013). Natural Language Processing.
http://socs.binus.ac.id/2013/06/22/natural-language-processing/
Tidak ada komentar:
Posting Komentar