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 :

  1. 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”.
  2. 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
    .
  3. 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 :

    1. Analisis Leksikal Teks
      Proses untuk mengubah sebuah teks atau kalimat menjadi pecahan kata, yang bertujuan untuk mengidentifikasi kata-kata dalam sebuah teks.
    2. 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
    3. 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