Langsung ke konten utama

Natural Language Processing

Natural Language Processing (NLP) merupakan salah satu cabang ilmu AI yang berfokus pada pengolahan bahasa natural. Bahasa natural adalah bahasa yang secara umum digunakan oleh manusia dalam berkomunikasi satu sama lain.  Bahasa yang diterima oleh komputer butuh untuk diproses dan dipahami terlebih dahulu supaya maksud dari user bisa dipahami dengan baik oleh komputer.
Ada berbagai terapan aplikasi dari NLP. Diantaranya adalah Chatbot (aplikasi yang membuat user bisa seolah-olah melakukan komunikasi dengan computer), Stemming atau Lemmatization (pemotongan kata dalam bahasa tertentu menjadi bentuk dasar pengenalan fungsi setiap kata dalam kalimat), Summarization (ringkasan dari bacaan), Translation Tools (menterjemahkan bahasa) dan aplikasi-aplikasi lain yang memungkinkan komputer mampu memahami instruksi bahasa yang diinputkan oleh user.

NLP Area

Pustejovsky dan Stubbs (2012) menjelaskan bahwa ada beberapa area utama penelitian pada field NLP, diantaranya:
  1. Question Answering Systems (QAS). Kemampuan komputer untuk menjawab pertanyaan yang diberikan oleh user. Daripada memasukkan keyword ke dalam browser pencarian, dengan QAS, user bisa langsung bertanya dalam bahasa natural yang digunakannya, baik itu Inggris, Mandarin, ataupun Indonesia.
  2. Summarization. Pembuatan ringkasan dari sekumpulan konten dokumen atau email. Dengan menggunakan aplikasi ini, user bisa dibantu untuk mengkonversikan dokumen teks yang besar ke dalam bentuk slide presentasi.
  3. Machine Translation. Produk yang dihasilkan adalah aplikasi yang dapat memahami bahasa manusia dan menterjemahkannya ke dalam bahasa lain. Termasuk di dalamnya adalah Google Translate yang apabila dicermati semakin membaik dalam penterjemahan bahasa. Contoh lain lagi adalah BabelFish yang menterjemahkan bahasa pada real time.
  4. Speech Recognition. Field ini merupakan cabang ilmu NLP yang cukup sulit. Proses pembangunan model untuk digunakan telpon/komputer dalam mengenali bahasa yang diucapkan sudah banyak dikerjakan. Bahasa yang sering digunakan adalah berupa pertanyaan dan perintah.
  5. Document classification. Sedangkan aplikasi ini adalah merupakan area penelitian NLP Yang paling sukses. Pekerjaan yang dilakukan aplikasi ini adalah menentukan dimana tempat terbaik dokumen yang baru diinputkan ke dalam sistem. Hal ini sangat berguna pada aplikasi spam filtering, news article classification, dan movie review.

Terminologi NLP

Perkembangan NLP menghasilkan kemungkinan dari interface bahasa natural menjadi knowledge base dan penterjemahan bahasa natural. Poole dan Mackworth (2010) menjelaskan bahwa ada 3 (tiga) aspek utama pada teori pemahaman mengenai natural language:
  1. Syntax: menjelaskan bentuk dari bahasa. Syntax biasa dispesifikasikan oleh sebuah grammar. Natural language jauh lebih daripada formal language yang digunakan untuk logika kecerdasan buatan dan program komputer
  2. Semantics: menjelaskan arti dari kalimat dalam satu bahasa. Meskipun teori semantics secara umum sudah ada, ketika membangun sistem natural language understanding untuk aplikasi tertentu, akan digunakan representasi yang paling sederhana.
  3. Pragmatics: menjelaskan bagaimana pernyataan yang ada berhubungan dengan dunia. Untuk memahami bahasa, agen harus mempertimbangan lebih dari hanya sekedar kalimat. Agen harus melihat lebih ke dalam konteks kalimat, keadaan dunia, tujuan dari speaker dan listener, konvensi khusus, dan sejenisnya.

Information Retrieval

Information Retrieval (IR) adalah pekerjaan untuk menemukan dokumen yang relevan dengan kebutuhan informasi yang dibutuhkan oleh user. Contoh sistem IR yang paling popular adalah search engine pada World Wide Web. Seorang pengguna Web bisa menginputkan query berupa kata apapun ke dalam sebuah search engine dan melihat hasil dari pencarian yang relevan. Karakteristik dari sebuah sistem IR (Russel & Norvig, 2010) diantaranya adalah:
  1. A corpus of documents. Setiap sistem harus memutuskan dokumen yang ada akan diperlakukan sebagai apa. Bisa sebagai sebuah paragraf, halaman, atau teks multipage.
  2. Queries posed in a query language. Sebuah query menjelaskan tentang apa yang user ingin peroleh. Query language dapat berupa list dari kata-kata, atau bisa juga menspesifikasikan sebuah frase dari kata-kata yang harus berdekatan
  3. A result set. Ini adalah bagian dari dokumen yang dinilai oleh sistem IR sebagai yang relevan dengan query.
  4. A presentation of the result set. Maksud dari bagian ini adalah tampilan list judul dokumen yang sudah di ranking.

Morphological Analysis

Proses dimana setiap kata yang berdiri sendiri (individual words) dianalisis kembali ke komponen pembentuk mereka dan token nonword seperti tanda baca dsb dipisahkan dari kata tersebut.
Contohnya apabila terdapat kalimat:

“I want to print Bill’s .init file”

Jika morphological analysis diterapkan ke dalam kalimat di atas, maka:

Pisahkan kata “Bill’s” ke bentuk proper noun “Bill” dan possessive suffix “’s”
Kenali sequence “.init” sebagai sebuah extension file yang berfungsi sebagai adjective dalam kalimat.

Stemming Lemitazion

Stemming merupakan sebuah proses yang bertujuan untuk mereduksi jumlah variasi dalam representasi dari sebuah kata (Kowalski, 2011). Resiko dari proses stemming adalah hilangnya informasi dari kata yang di-stem. Hal ini menghasilkan menurunnya akurasi atau presisi. Sedangkan untuk keuntungannya adalah, proses stemming bisa meningkatkan kemampuan untuk melakukan recall. Tujuan dari stemming sebenarnya adalah untuk meningkatkan performace dan mengurangi penggunakan resource dari sistem dengan mengurangi jumlah unique word yang harus diakomodasikan oleh sistem. Jadi, secara umum, algoritma stemming mengerjakan transformasi dari sebuah kata menjadi sebuah standar representasi morfologi (yang dikenal sebagai stem).
Contoh:

“comput” adalah stem dari “computable, computability, computation, computational, computed, computing, compute, computerize”

Contoh NLP

Sumber

Ingason, K., Helgadóttir, S., Loftsson, H., Rögnvaldsson, E. (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


Komentar

Postingan populer dari blog ini

Metode Pencarian Buta dan Heuristik

Pencarian Buta Merupakan pencarian asal ketemu. Jika solusi sudah ketemu, maka pencarian akan dihentikan. Jika dibuat skemanya, pencarian buta hanya mengenal tiga bagian, [masalah]-[pencarian]-[solusi]. Misalkan dalam kotak ada 3 kelereng warna merah, 3 biru, dan 3 kuning. Masalahnya adalah, ambillah satu kelereng yang berwarna merah. Solusi, setelah melakukan pencarian, kemudian didapat satu kelereng warna merah, nah, itulah solusinya. Algoritma Breadth-First Search Traversal akan dilakukan dalan suatu graf, misalnya dimulai dari simpul v.  Kunjungi simpul v, bila simpul yang dicari ditemukan, maka pencarian selesai dan kembalikan hasil. Bila tidak ditemukan, kunjungi semua simpul yang bertetangga dengan v, bila tidak ditemukan, cari lagi di simpul yang belum dikunjungi yang bertetangga dari simpul yang dikunjungi tadi. Begitu seterusnya sampai pencarian selesai (pencarian berhasil atau tidak ditemukan). Contoh Penerapan BFS Pencarian Jalur Terpendek dalam Permaina

Data Science vs Big Data vs Data Analytics

Data Science Tahun 2012 yang lalu, Harvard Business Review menyebut profesi data scientist sebagai profesi terseksi abad 21. Bagaimana tidak? Seorang data scientist memiliki kemampuan mengolah data dengan volume yang sangat besar dalam sehari. Ia juga dituntut untuk mempunyai tingkat kreativitas yang tinggi untuk mengomunikasikan hasil olahan data. Kemampuan ini sangatlah jarang ditemukan. Inilah yang membuat profesi ini terlihat keren, dan konon memberi pundi-pundi penghasilan yang tidak sedikit. Seorang data scientist dituntut untuk menguasai sejumlah disiplin ilmu: ilmu statistik untuk mengolah data, pemrograman sebagai pendukung pengolahan data dalam jumlah besar, ekonomi (atau bidang ilmu lain tergantung pada bidang perusahaan atau organisasi) dalam menganalisis dan mendapatkan insight dari hasil olahan data, serta kemampuan untuk menceritakan (story telling) data yang telah dianalisis. Big Data Big Data adalah istilah yang menggambarkan volume data yang besar, baik d

Perbandingan Framework COBIT, ITIL, dan Six Sigma

ITSM ITSM (Information Technology Service Management, Manajemen Layanan Teknologi Informasi) adalah suatu metode pengelolaan sistem teknologi informasi (TI) yang secara filosofis terpusat pada perspektif konsumen layanan TI terhadap bisnis perusahaan. Beberapa contoh kerangka kerja yang menerapkan ITSM adalah COBIT, ITIL, dan Six Sigma. Framework COBIT (Control Objectives for Information and Related Technology) Konsep kerangka kerja COBIT dapat dilihat dari tiga sudut pandang, meliputi : Information Criteria, IT Resources, IT Processes, seperti terlihat pada gambar dibawah ini : Model proses COBIT terdapat empat domain yang didalamnya terdapat 34  proses dalam memberikan informasi kepada dunia usaha sesuai dengan bisnis dan kebutuhan tata kelola teknologi informasi. Sehingga domain tersebut dapat diidentifikasikan yang terdiri dari 34 proses, yaitu (ITGI, 2007) : Domain Plain and Organize (PO) Yaitu mencakup masalah mengidentifikasikan cara terbaik TI untuk membe