Kamis, 26 Februari 2015

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