Natural Language Processing (NLP) merupakan salah satu cabang ilmu Artificial Intelligence (AI) yang berfokus pada pengolahan bahasa alami. Secara teoritis pengembangan berbagai teknik komputasi untuk menganalisa dan menampilkan teks dalam bahasa alami pada satu atau lebih tingkat analisis linguistik untuk mencapai tujuan manusia dalam hal bahasa yaitu menyelesaikan berbagai tugas atau aplikasi. Jangkauan riset dan penerapan dari NLP itu sendiri cukup luas, mulai dari penguraian teks secara sintaksis, klasifikasi dokumen, hingga conversation agents yang cerdas.
Perembangan dalam bidang NLP sangat pesat sehingga memungkinkan bahasa alami menjadi sebuah knowledge base. Untuk memahami Pemrosesan Bahasa Alami ada 3 aspek, yaitu :
- Syntax
Menjelaskan bentuk dari sebuah bahasa. Syntax bisa dispesifikasikan oleh grammar. bahasa alami jauh lebih daripada bahasa formal yang digunakan untuk logika kecerdasan buatan dan program komputer. Ia bisa membedakan kaliamat “ayah pergi ke kantor dengan mobil” dengan “ayah kantor ke mobil dengan pergi”. - Semantics
Menjelaskan arti yang terkandung 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. Tugas-tugas yang termasuk pada tugas semantics adalah Word Sense
Disambiguation (WSD), Semantc Role Labelling (SRL), semantic parsing, dan textual
entailment. - Pragmatics
Menjelaskan bagaimana pernyataan yang ada berhubungan dengan dunia. Untuk
memahami bahasa, agen harus mempertimbangkannya lebih dari sekedar kalimat. Agen
harus memperhatikan konteks sosial dan komunikasi secara keseluruhan dan bagaimana
pengaruhnya terhadap penafsiranm salah satu contohnya adalah peribahasa.
selain dari ketiga aspek tersebut ada beberapa aspek lain yang terkai dengan NLP, diantaranya :
- Morfologi
Pengetahuan tentang kata dan bentuknya sehingga bisa dibedakan antara yang satu dengan yang lainnya. Bisa juga didefinisika asa usul sebuah kata itu bisa terjadi. - Fonetik
Segala hal berhubungan dengan suara yang menghasilkan akta yang dapat dikenali. Fonetik digunakan dalam pengembangan NLP khususnya di bidang speech based system.
Dalam penerapannya, untuk membuat sebuah sistem yang dapat memproses bahasa alami terlebih dahulu melalui Text Preprocessing. Tahap tersebut memiliki beberapa tahapan, yaitu :
- Analisis Leksikal Teks
Proses untuk mengubah sebuah teks atau kalimat menjadi pecahan kata, yang bertujuan untuk mengidentifikasi kata-kata dalam sebuah teks. - Penghapusan Stopwords
Stopwords merupakan kata umum yang sering digunakan dalam sebuah teks dan
biasanya tidak berguna jika bertujuan melakukan pencarian, salah satu contohnya adalah
kata penguhubung seperti dan, atau, tetapi. Proses ini bertujuan untuk mengurangi
ukuran indeks yang digunakan dalam memproses teks - Stemming
Stemming merupakan proses pemisahan kata yang mengandung awalan atau akhiran
sehingga menghasilkan kata dasar. Hal ini berguna untuk meningkatkan kinerja
pengambilan kata karena akan mengurangin varian kata yang sama dalam konsep
umum. Proses ini juga berguna untuk mengurangi ukuran struktur pengindeksan
karena jumlah istilah indeks yang berbeda menjadi berkurang