Apa itu Natural Language Processing (NLP)?
Dikutip dari Tech Target, natural language processing (NLP) adalah salah satu cabang artificial intelligence yang membantu komputer memahami bahasa manusia baik secara lisan maupun tertulis, atau yang disebut dengan natural language.
Tak hanya itu, NLP juga mampu mengetahui sentimen dalam kalimat yang diberikan. Misalnya pada aplikasi Grammarly, NLP bisa menentukan apakah kalimat yang dibuat user bernada negatif, sedih, atau bahagia berdasarkan pada pemilihan katanya.
Kegunaan lain dari NLP antara lain menerjemahkan teks dari satu bahasa ke bahasa lain, merespons perintah lisan, menentukan bagian penting dalam tulisan, serta meringkas tulisan dengan cepat.
Manfaat Natural Language Processing
Natural languange processing telah ada selama lebih dari 50 tahun dan berakar pada bidang linguistik. Selama perkembangannya, NLP dimanfaatkan secara luas untuk berbagai keperluan sebenarnya sangat dekat dengan kehidupan sehari-hari.
Manfaat natural language processing mencakup:
- Mengekstraksi tulisan, di mana NLP mampu merangkum sebuah tulisan dan menemukan data penting dari tulisan tersebut.
- Mendeteksi bahasa pada suatu tulisan lalu menerjemahkannya ke bahasa lain.
- Menghasilkan konten secara otomatis berdasarkan teks yang tidak terstruktur.
- Mendeteksi plagiarisme konten.
- Mengidentifikasi suasana hati atau sentimen dari sebuah tulisan atau suara.
- Mengubah perintah suara menjadi teks tertulis, atau sebaliknnya.
Jenis-jenis NLP
Dikutip dari OpenGenus, ada 5 model NLP yang paling terbaru dan umum digunakan, yaitu:
- BERT
BERT (Bidirectional Encoder Representations from Transformers) dikembangkan oleh Google pada tahun 2018. BERT dirancang untuk membantu komputer memahami makna bahasa ambigu dalam suatu teks dengan cara memanfaatkan kata yang ada di dalamnya untuk membangun konteks.
BERT dapat membaca teks dari dua arah sekaligus dan menganalisis bahasa tulisan menggunakan penyimpanan data pelatihan berlabel khusus.
Data pelatihan berasal dari RNN pra-terlatih yang menggunakan sekumpulan teks tanpa label. Jadi, mesin menggunakan algoritma machine learning untuk menganalisis dan mengelompokkan data tanpa label (unsupervised learning), dan melabeli kalimat atau paragraf sebagai output.
- GPT-3
GPT-3 (Generative Pre-Trainer generasi 3) merupakan model terbaru dari GPT dan GPT-2. GPT dibuat oleh OpenAI dan merupakan machine learning yang dilatih menggunakan data di dalam internet untuk menghasilkan segala jenis teks.
GPT-3 hanya membutuhkan sedikit input untuk menghasilkan sebuah tulisan yang lengkap.
- XLNet
XLNet bekerja menggunakan metode autoregresif (AR), yaitu menggunakan konteks suatu kata untuk memprediksi kata yang akan digunakan setelah atau sebelumnya.
Untuk menghasilkan prediksi tersebut, XLNet berfokus pada permutasi atau disebut Permutation Language Modelling (PLM).
- ALBERT
ALBERT adalah singkatan dari A Lite BERT. ALBERT memiliki desain yang mirip dengan BERT namun parameter yang digunakan jauh lebih sedikit.
Misalnya, ALBERT menggunakan SOP (Sentence Order Prediction) dan mampu menangkap makna berbeda dari dua kata yang sama, misalnya buah ‘apel’ dan ‘apel’ pagi.
Karena hal ini, ALBERT mampu memahami bahasa lebih akurat dibandingkan BERT.
- RoBERTa
RoBERTa dikembangkan dari BERT dengan beberapa modifikasi, seperti menghapus fitur prediksi kalimat setelahnya (Next Sentence Prediction) dan dilatih dengan kumpulan kalimat yang lebih panjang.
Contoh Penggunaan Natural Language Processing
Contoh penggunaan NLP bisa ditemukan dalam kehidupan sehari-hari, antara lain:
- Menerjemahkan bahasa
Misalnya NLP pada Google Translate, pengguna bisa menerjemahkan kata atau kalimat dari bahasa asing atau yang tidak diketahui ke bahasa yang dikenal.
Jika pengguna mengetahui asal bahasa dari tulisan tersebut namun tidak mengetahui artinya, pengguna bisa memilih langsung asal bahasa dan terjemahan bahasanya. Contohnya, asal bahasa Inggris dan ingin diterjemahkan ke dalam bahasa Indonesia.
Namun, jika pengguna tidak mengetahui asal bahasa sama sekali, pengguna bisa memilih ‘deteksi bahasa’. Mesin akan menganalisis teks tersebut, menentukan asal bahasa, lalu menerjemahkannya.
- Voice assistant
Voice assistant seperti Siri dan Bixpy menggunakan NLP agar bisa berinteraksi dengan manusia secara lisan.
Ketika user memberikan instruksi lisan, data yang diterima mesin tidak terstruktur. Instruksi lisan juga sulit dipahami karena bahasa perintah yang diberikan user bisa berbeda, karena begitu cara manusia berkomunikasi sehari-hari. Ditambah dengan nada suara user yang dapat meningkatkan potensi kesalahan memahami instruksi.
Namun dengan bantuan NLP, voice assistant dapat memahami instruksi lisan yang diberikan, serta menangkap maksud dari instruksi tersebut.
Misalnya ketika user memberi perintah untuk memutar lagu cinta, perangkat akan memutar lagu cinta berdasarkan informasi yang disimpan secara online di database. Dan apabila perangkat tak bisa memahami instruksi, voice assistant biasanya akan meminta instruksi yang lebih jelas.
- Klasifikasi pesan masuk
NLP dapat melakukan analisis data yang lebih dalam dan luas. Misalnya pada fitur pencarian di Gmail, pengguna bisa mencari pesan masuk berdasarkan kata tertentu atau tujuan pengirim.
Selain itu, sistem bisa mengelompokkan sebuah pesan masuk ke salah satu dari tiga kategori (primer, sosial, promosi), atau sebagai sebuah spam berdasarkan isi pesan.
FAQ (Frequently Asked Question)
Bagaimana cara kerja Natural Language Processing (NLP)?
Natural language processing menggunakan artificial intelligence untuk menerima input, kemudian memproses data tersebut dengan mengubahnya menjadi kode yang dipahami komputer, lalu menghasilkan output.
Natural language processing melewati dua fase utama, yaitu:
#1 Data pre-processing
Melibatkan persiapan data teks agar bisa dianalisis mesin. Pada fase ini, data disimpan dalam bentuk yang lebih mudah untuk dikerjakan, dan menentukan fitur teks yang dapat digunakan oleh algoritma.
Ada 4 tahapan data pre-processing pada NLP:
- Tokenization: Teks dipecah menjadi beberapa unit atau kata.
- Stop word removal: Mesin menghilangkan kata umum dan menyisakan kata unik yang menawarkan informasi lebih banyak.
- Lemmatization and stemming: Kata-kata direduksi menjadi bentuk dasarnya, misalnya ‘berlari’ kata dasarnya adalah ‘lari’.
- Part-of-speech tagging: Pembagian kata berdasarkan fungsinya, seperti kata sifat, kata benda, dan kata kerja.
#2 Algoritma
Setelah data selesai diproses, mesin akan mengembangkan algoritma untuk memproses data tersebut.
Ada banyak jenis algoritma NLP, namun dua jenis algoritma NLP yang sering digunakan yaitu:
- Rules-based system
Rules-based system adalah sistem yang mampu menyimpan, menyortir, dan memanipulasi data berdasarkan aturan yang telah diprogram. Setelah seluruh informasi atau data terkumpul, algoritma ini akan memanipulasi data sesuai dengan aturan yang ditetapkan.
Aturan ini terkadang disebut sebagai 'pernyataan jika-maka’ karena cenderung mengikuti ketentuan 'JIKA X terjadi, MAKA lakukan Y'.
- Machine learning-based system
Machine learning-based system (MLS) menggunakan metode statistik, di mana komputer belajar melakukan tugasnya berdasarkan data pelatihan yang diberikan. Kemudian komputer menyesuaikan metode yang digunakan beriringan dengan banyaknya data yang diproses.