Mengenal Natural Language Processing (NLP)

Salah satu keunggulan umat manusia dibandingkan spesies lain adalah kemampuan berbahasa. Dengan bahasa manusia bisa berkomunikasi dan mengekspresikan maksud kepada sesamanya, sehingga kita bisa menyampaikain informasi, pesan, ide dan yang lainnya. Tiap-tiap negara atau suku di dunia mempunyai aturan dan struktur bahasa yang berbeda-beda.

Secara sederhana, Natural Language Processing (NLP) adalah bagian dari computer science dan artificial intelligence (AI) yang mampu memproses bahasa-bahasa manusia secara natural. Seperti yang telah kita ketahui, pada dasarnya komputer tidak bisa menmahami bahasa manusia secara natural. Komputer hanya bisa memahami bahasa seperti C++, Java, atau Python. Dengan semakin berkembangnya Machine Learning kita bisa membuat komputer untuk semakin dekat memahami bahasa manusia secara natural.

Bagi komputer, membaca dan memahami sebuah kalimat bisa jadi merupakan hal yang sangat ribet dan kompleks. Berbeda dengan manusia yang langsung bisa memaknai arti dari sebuah kalimat. Lihat contoh kalimat dibawah ini:

"Taufik Hidayat kini sudah gantung raket"

Mungkin komputer bisa membaca kalimat diatas dengan mudah, tapi apakah komputer tahu jika Taufik Hidayat adalah nama seseorang? Apakah komputer tahu jika Taufik Hidayat adalah pemain badminton? Kemudian apakah komputer tahu makna dari kata "gantung raket"? Bisa jadi komputer memaknai kalimat tersebut sebagai Taufik Hidayat yang benar-benar menggantungkan raketnya (di tembok), bukan Taufik Hidayat yang saat ini sudah pensiun dari dunia badminton. Nah, dengan Deep Learninglah kini kita bisa menuliskan program-program untuk komputer supaya bisa lebih bisa memahami bahasa manusia untuk translasi bahasa, pemahaman semantik, dan text summarization (peringkasan teks).

Komponen-komponen dalam NLP


1. NLU (Natural Language Understanding)

- memetakan input ke representasi yang berguna
- menganalisis berbagai aspek bahasa

Pada NPL, NLU ini adalah yang paling berat dan susah karena harus menganalisis aspek bahasa. Terkadang dalam suatu kalimat ada satu kata yang bisa memiliki banyak arti. Ada juga kata-kata yang memiliki arti tidak harfiah seperti "gantung raket" seperti pada contoh kalimat sebelumnya. Dalam NLU juga akan ditemui beberapa level abiguitas bahasa, seperti Lexical Ambiguity, Syntactic Ambiguity, dan Referential Ambiguity.

2. Natural Language Generation (NLG)

- text planning
- sentence planning
- text realization

Pemanfaatan NLP di dunia industri

Spell Checking, memeriksa ejaan per kata deperti pada document editor.

Keyword search, pencarian kata kunci.

Information Extraction/text summarization, meringkas
informasi-informasi penting pada artikel website.

Advertisement matching, menampilkan iklan yang sesuai pada suatu website dengan menganalisa teks pencarian yang kita input.

Sentiment analysis, mengidentifikasi dan mengekstrak pendapat-pendapat yang terkandung dalam suatu kalimat.

Speech recognition, contohnya google assistant, siri, alexa, cortana dan sebagainya.

Chatbot, menggunakan NLP untuk memproses data yang telah di input, dan menyediakan respon/balasan berdasarkan pada input data yang telah diproses.

Machine translate
, menerjemahkan suatu bahasa ke bahasa yang lain, contohnya google translate, Bing translator.

Itulah secuplik mengenai Natural Language Processing (NLP). Sebenarnya banyak hal-hal yang harus dibahas untuk memahami NLP. Namun saya belum berani menuliskannya di blog ini karena saya sendiri masih baru belajar.

Referensi:
https://www.edureka.co/blog/what-is-deep-learning
https://towardsdatascience.com/an-easy-introduction-to-natural-language-processing-b1e2801291c1
https://medium.com/jatana/unsupervised-text-summarization-using-sentence-embeddings-adb15ce83db1
https://monkeylearn.com/sentiment-analysis/
https://en.wikipedia.org/wiki/Natural_language_processing
Next PostNewer Post Previous PostOlder Post Home