iklan

Natural Language Processing


Secara mendasar, komunikasi ialah salah satu hal paling penting yang diharapkan insan sebagai makhluk sosial. Ada lebih dari trilyunan halaman berisi isu pada Website, dimana kebanyakan diantaranya memakai bahasa natural. Isu yang sering muncul dalam pengolahan bahasa ialah ambiguitas, dan bahasa yang berantakan/tidak formal (tidak sesuai hukum bahasa).

Natural Language Processing (NLP) merupakan salah satu cabang ilmu AI yang berfokus pada pengolahan bahasa natural. Bahasa natural ialah bahasa yang secara umum dipakai oleh insan dalam berkomunikasi satu sama lain. Bahasa yang diterima oleh komputer butuh untuk diproses dan dipahami terlebih dahulu biar maksud dari user bisa dipahami dengan baik oleh komputer.

Ada banyak sekali terapan aplikasi dari NLP. Diantaranya ialah Chatbot (aplikasi yang menciptakan user bisa seperti melaksanakan 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 bisa memahami isyarat bahasa yang diinputkan oleh user.

I. NLP Area

Pustejovsky dan Stubbs (2012) menjelaskan bahwa ada beberapa area utama penelitian pada field NLP, diantaranya:

Question Answering Systems (QAS). Kemampuan komputer untuk menjawab pertanyaan yang diberikan oleh user. Daripada memasukkan keyword ke dalam browser pencarian, dengan QAS, user bisa pribadi bertanya dalam bahasa natural yang digunakannya, baik itu Inggris, Mandarin, ataupun Indonesia.
Summarization. Pembuatan ringkasan dari sekumpulan konten dokumen atau email. Dengan memakai aplikasi ini, user bisa dibantu untuk mengkonversikan dokumen teks yang besar ke dalam bentuk slide presentasi.
Machine Translation. Produk yang dihasilkan ialah aplikasi yang sanggup memahami bahasa insan dan menterjemahkannya ke dalam bahasa lain. Termasuk di dalamnya ialah Google Translate yang apabila dicermati semakin membaik dalam penterjemahan bahasa. Contoh lain lagi ialah BabelFish yang menterjemahkan bahasa pada real time.
Speech Recognition. Field ini merupakan cabang ilmu NLP yang cukup sulit. Proses pembangunan model untuk dipakai telpon/komputer dalam mengenali bahasa yang diucapkan sudah banyak dikerjakan. Bahasa yang sering dipakai ialah berupa pertanyaan dan perintah.
Document classification. Sedangkan aplikasi ini ialah merupakan area penelitian NLP Yang paling sukses. Pekerjaan yang dilakukan aplikasi ini ialah memilih dimana daerah terbaik dokumen yang gres diinputkan ke dalam sistem. Hal ini sangat mempunyai kegunaan pada aplikasi spam filtering, news article classification, dan movie review.


II. 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:

Syntax: menjelaskan bentuk dari bahasa. Syntax biasa dispesifikasikan oleh sebuah grammar. Natural language jauh lebih daripada formal language yang dipakai untuk kebijaksanaan kecerdasan buatan dan kegiatan komputer
Semantics: menjelaskan arti dari kalimat dalam satu bahasa. Meskipun teori semantics secara umum sudah ada, saat membangun sistem natural language understanding untuk aplikasi tertentu, akan dipakai representasi yang paling sederhana.
Pragmatics: menjelaskan bagaimana pernyataan yang ada bekerjasama dengan dunia. Untuk memahami bahasa, biro 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.

Contoh kalimat di bawah ini akan membantu untuk memahami perbedaan diantara ketiga aspek tersebut di atas. Kalimat-kalimat ini ialah kalimat yang mungkin muncul pada bab awal dari sebuah buku Artificial Intelligence (AI):

This book is about Artificial Intelligence
The green frogs sleep soundly
Colorless green ideas sleep furiously
Furiously sleep ideas green colorless

Kalimat pertama akan sempurna kalau diletakkan pada awal sebuah buku, alasannya ialah sempurna secara sintaks, semantik, dan pragmatik. Kalimat kedua sempurna secara sintaks dan semantic, namun kalimat tersebut akan menjadi gila apabila diletakkan pada awal sebuah buku AI, sehingga kalimat ini tidak sempurna secara pragmatik. Kalimat ketiga sempurna secara sintaks, tetapi tidak secara semantik. Sedangkan pada kalimat keempat, tidak sempurna secara sintaks, semantik, dan pragmatik.

Selain daripada ketiga istilah tersebut ada beberapa istilah yang terkait dengan NLP, yaitu:
Morfologi. Adalah pengetahuan wacana kata dan bentuknya sehingga bisa dibedakan antara yang satu dengan yang lainnya. Bisa juga didefinisikan asal seruan sebuah kata itu bisa terjadi. Contoh : membangunkan –> berdiri (kata dasar), mem- (prefix), -kan (suffix)
Fonetik. Adalah segala hal yang bekerjasama dengan bunyi yang menghasilkan kata yang sanggup dikenali. Fonetik dipakai dalam pengembangan NLP khususnya bidang speech based system


III. Information Retrieval

Information Retrieval (IR) ialah pekerjaan untuk menemukan dokumen yang relevan dengan kebutuhan isu yang diharapkan oleh user. Contoh sistem IR yang paling popular ialah 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:

A corpus of documents. Setiap sistem harus memutuskan dokumen yang ada akan diperlakukan sebagai apa. Bisa sebagai sebuah paragraf, halaman, atau teks multipage.
Queries posed in a query language. Sebuah query menjelaskan wacana apa yang user ingin peroleh. Query language sanggup berupa list dari kata-kata, atau bisa juga menspesifikasikan sebuah frase dari kata-kata yang harus berdekatan
A result set. Ini ialah bab dari dokumen yang dinilai oleh sistem IR sebagai yang relevan dengan query.
A presentation of the result set. Maksud dari bab ini ialah tampilan list judul dokumen yang sudah di ranking.

IV. Morphological Analysis

Proses dimana setiap kata yang berdiri sendiri (individual words) dianalisis kembali ke komponen pembentuk mereka dan token nonword menyerupai 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.

Syntactic analysis harus memakai hasil dari morphological analysis untuk membangun sebuah deskripsi yang terstruktur dari kalimat. Hasil selesai dari proses ini ialah yang sering disebut sebagai parsing. Parsing ialah mengkonversikan daftar kata yang berbentuk kalimat ke dalam bentuk struktur yang mendefinisikan unit yang diwakili oleh daftar tadi.

Hampir semua sistem yang dipakai untuk syntactic processing mempunyai dua komponen utama, yaitu:
Representasi yang deklaratif, yang disebut juga sebagai Grammar, dari fakta sintaktis mengenai bahasa yang digunakan
Procedure, yang disebut juga sebagai Parser, yang membandingkan grammar dengan kalimat yang diinputkan untuk menghasilkan struktur kalimat yang telah di parsing

Cara yang paling umum dipakai untuk merepresentasikan grammar ialah dengan sekumpulan production rule. Rule yang paling pertama bisa diterjemahkan sebagai “Sebuah Sentence terdiri dari sebuah Noun Phrase, diikuti oleh Verb Phrase”, garis vertical ialah OR, sedangkan ε mewakili string kosong.

Proses parsing memakai aturan-aturan yang ada pada Grammar, lalu membandingkannya dengan kalimat yang diinputkan. Struktur paling sederhana dalam melaksanakan parsing ialah Parse Tree, yang secara sederhana menyimpan rule dan bagaimana mereka dicocokkan satu sama lain. Setiap node pada Parse Tree bekerjasama dengan kata yang dimasukkan atau pada nonterminal pada Grammar yang ada. Setiap level pada Parse Tree berkorespondensi dengan penerapan dari satu rule pada Grammar.

V. Stemming & Lemmatization

Stemming merupakan sebuah proses yang bertujuan untuk mereduksi jumlah variasi dalam representasi dari sebuah kata (Kowalski, 2011). Resiko dari proses stemming ialah hilangnya isu dari kata yang di-stem. Hal ini menghasilkan menurunnya akurasi atau presisi. Sedangkan untuk manfaatnya adalah, proses stemming bisa meningkatkan kemampuan untuk melaksanakan recall. Tujuan dari stemming bahwasanya ialah 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” ialah stem dari “computable, computability, computation, computational, computed, computing, compute, computerize”

Ingason dkk. (2008) mengemukakan bahwa lemmatization ialah sebuah proses untuk menemukan bentuk dasar dari sebuah kata. Nirenburg (2009) mendukung teori ini dengan kalimatnya yang menjelaskan bahwa lemmatization adalah proses yang bertujuan untuk melaksanakan normalisasi pada teks/kata dengan menurut pada bentuk dasar yang merupakan bentuk lemma-nya. Normalisasi disini ialah dalam artian mengidentifikasikan dan menghapus prefiks serta suffiks dari sebuah kata. Lemma ialah bentuk dasar dari sebuah kata yang mempunyai arti tertentu berdasar pada kamus.

Contoh:
Input : “The boy’s cars are different colors”
Transformation : am, is, are à be
Transformation : car, cars, car’s, cars’ à car
Hasil : “The boy car be differ color”

Algoritma Stemming dan Lemmatization berbeda untuk bahasa yang satu dengan bahasa yang lain.


VI. Contoh Aplikasi NLP

Penelitian yang dikerjakan oleh Suhartono, Christiandy, dan Rolando (2013) ialah merancang sebuah algoritma lemmatization untuk Bahasa Indonesia. Algoritma ini dibentuk untuk menambahkan fungsionalitas pada algoritma Stemming yang sudah pernah dikerjakan sebelumnya yaitu Enhanced Confix-Stripping Stemmer (ECS) yang dikerjakan pada tahun 2009. ECS sendiri merupakan pengembangan dari algoritma Confix-Stripping Stemmer yang dibentuk pada tahun 2007. Pengembangan yang dikerjakan terdiri dari beberapa rule embel-embel dan modifikasi dari rule sebelumnya. Langkah untuk melaksanakan suffix backtracking juga ditambahkan. Hal ini untuk menambah akurasi.

Secara mendasar, algoritma lemmatization ini tidak bertujuan untuk membuatkan dari metode ECS, larena tujuannya berbeda. Algoritma lemmatization bertujuan untuk memodifikasi ECS, biar lebih sempurna dengan konsep lemmatization. Namun demikian, masih ada beberapa kemiripan pada proses yang ada pada ECS. Ada beberapa perkara yang mana ECS belum berhasil untuk digunakan, namun bisa diselesaikan pada algoritma lemmatization ini.

Referensi :

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

http://socs.binus.ac.id/2013/06/22/NATURAL-LANGUAGE-PROCESSING/


Sumber http://meemcode.blogspot.com

0 Response to "Natural Language Processing"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel