• Sample Page
  • Archives
  • Categories
  • Convolutional Neural Network pada Natural Language Processing

    2021 - 01.26

    Apa itu NLP

    Natural Language Processing (NLP) adalah salah satu cabang dari kecerdasan buatan (Artificial Intellegence) yang memproses bahasa alami manusia, atau bahasa yang digunakan manusia dalam berkomunikasi agar dapat berinteraksi dengan mesin dan dipahami oleh mesin.

    Bahasa manusia yang diproses berbentuk teks atau dokumen yang akan diproses oleh mesin untuk dapat memahami dan berinteraksi dengan manusia.

    NLP dapat dilakukan dengan berbagai cara, salah satunya menggunakan metode algoritma neural network

    Apa itu CNN?

    Convolutional Neural Network adalah salah satu jenis neural network dengan konsep konvolusi, yaitu sebuah matrix yang akan meng extraksi fitur dari matrix input.

    Convolution with 3×3 Filter. Source: http://deeplearning.stanford.edu/wiki/index.php/Feature_extraction_using_convolution

    Sehingga hasil dari matriks konvolusi merupakan fitur penting dari input yang lebih sederhana.

    CNN merupakan kumpulan neuron konvolusi yang berlapis dengan penambahan fungsi aktivasi non-linear seperti ReLU atau tanh. Lapisan konvolusi saling terhubung satu sama lain, jumlah lapisan konvolusi pada model dapat disesuaikan sesuai kebutuhan pada data. Penerapan CNN biasa dilakukan pada gambar dengan input matrix merupakan nilai piksel pada gambar.

    Ada dua aspek dari perhitungan algoritma ini yang perlu diperhatikan: Location Invariance dan Compositionality. Contohnya pada kasus pengklasifikasian gambar dengan tujuan mengklasifikasikan apakah ada gajah dalam sebuah gambar atau tidak. Dalam praktiknya, penggabungan juga memberi invariansi untuk terjemahan, rotasi, dan penskalaan. Aspek kunci kedua adalah komposisi (lokal). Setiap filter menyusun patch lokal dari fitur tingkat yang lebih rendah menjadi representasi tingkat yang lebih tinggi. Itulah mengapa CNN sangat kuat dalam Computer Vision. CNN dapat menganalisi data tepi dari piksel, bentuk dari tepi, dan objek yang lebih kompleks dari gambar yang dipelajari.

    CNN pada NLP

    Pada natural language processing dimana data yang diproses adalah teks atau dokumen. Nilai matrix dari input pengganti piksel pada gambar adalah data karakter pada teks atau dokumen.

    Jika pada gambar ada nilai piksel berdasarkan nilai rgb atau b/w maka pada nlp perlu dilakukan encode karakter untuk merubah karakter menjadi nilai vektor matrix yang merepresentasikan karakter tersebut, secara sederhana untuk membuat mesin mengerti bahwa karakter ‘A’ direpresentasikan berbentuk nilai vektor. Proses tersebut dapat disebut juga pembobotan data atau word embedding.

    Pembobotan data dapat dilakukan dengan menggunakan library pada python Word2Vec atau Glove. Bisa juga menggunakan metode one-hot vector. Hasil representasi vektor dari data itulah yang akan menjadi matrix input untuk dilakukan proses konvolusi menggunakan metode CNN.

     

    source : http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/