Pengenalan Natural Language Processing (NLP) & Text Mining

Belajar dari Pengenalan

Riza Purnaramadhan
Jurusan Statistika UII

--

Photo by Chrissie Giannakoudi on Unsplash

Seiring dengan perkembangan teknologi informasi yang sangat pesat, data merupakan suatu jenis kekayaan yang sangat berharga, ada istilah “Data is the new oil”, bahkan lebih berharga dari minyak, karena dari data yang diolah secara akurat kita bisa mengambil sebuah keputusan/kebijakan. Saat ini data yang bisa diolah bukan hanya yang berbentuk angka, namun data-data yang tidak terstruktur seperti data teks, audio, gambar, dan video juga bisa diolah untuk mendapatkan insight. Oke, karena topik pembahasan kita disini adalah tentang NLP dan Text Mining, maka tentunya kita akan bahas tentang data teks.

Table of Contents

  • Apa itu Natural Language Processing (NLP) ?
  • Apa saja bidang-bidang di NLP ?
  • Apa itu Text Mining ?
  • Vektorisasi Kata
  • Pegantar text pre-processing

Apa itu Natural Language Processing (NLP) ?

Image from canopylab.com

Natural Language Processing atau biasa disingkat NLP merupakan salah satu bidang ilmu komputer yang mempelajari interaksi computer dengan Bahasa yang digunakan secara umum dalam kehidupan sehari-hari. NLP mempelajari pengembangan teknik yang bertujuan bagaimana komputer memahami bahasa alami manusia. Bahasa alami yang digunakan oleh manusia dari berbagai negara akan memiliki perbedaan dalam bentuk penulisan dan pengucapan (Raharjo & Hartati, 2014).

Menurut (Lisangan, 2013) Natural Language Processing (NLP) dapat didefinisikan sebagai kemampuan suatu komputer untuk memproses bahasa, baik lisan maupun tulisan yang digunakan oleh manusia dalam percakapan sehari-hari. Untuk proses komputasi, bahasa harus direpresentasikan sebagai rangkaian simbol yang memenuhi aturan tertentu. Secara sederhana, NLP adalah mencoba untuk membuat komputer dapat mengerti perintah-perintah yang ditulis dalam standar bahasa manusia.

Apa saja bidang-bidang di NLP ?

Menurut Pustejovky dan Stubbs (2012) dalam (Amelia, 2020) menjelaskan bahwa ada beberapa area utama penulisan pada bidang NLP, yaitu :

  1. Question Answering System (QAS)

Suatu kemampuan dari komputer untuk menjawab beberapa pertanyaan yang diajukan oleh user. Dimulai dari memasukkan keyword ke dalam browser pencarian dengan QAS maka user dapat langsung bertanya sesuai bahasa natural yang digunakan, baik dalam bahasa Inggris, bahasa Mandarin, ataupun dalam bahasa Indonesia.

2. Summarization

Summarization merupakan pembuatan ringkasan dari beberapa kumpulan konten dokumen atau email. User dapat dibantu untuk melakukan konversi dokumen teks yang besar ke dalam bentuk slide presentasi yang efisien dengan menggunakan ini.

3. Machine Translation

Suatu produk yang menghasilkan aplikasi untuk memahami bahasa manusia dan menterjemahkannya ke dalam bahasa lain. Salah satu yang termasuk dalam aplikasi ini adalah Google Translate yang tujuannya mampu dalam menerjemahkan bahasa.

4. Speech Recognition

Pada bidang ini merupakan cabang ilmu dari NLP yang cukup rumit. Proses pembangunan model agar digunakan komputer atau telepon untuk mengenali bahasa yang diucapkan telah banyak dikerjakan. Bahasa yang digunakan berupa pertanyaan dan perintah.

5. Document Classification

Bidang penulisan NLP yang paling banyak digunakan dan paling sukses adalah Document Classification. Pekerjaan yang dilakukan oleh aplikasi ini adalah menentukan dimana tempat terbaik suatu dokumen yang baru di input ke dalam sistem. Aplikasi ini sangat berguna pada aplikasi spam filtering, news article classification, dan review pada suatu produk/aplikasi pada website.

Apa itu Text Mining ?

Text mining merupakan suatu proses menggali informasi dimana seorang user berinteraksi dengan sekumpulan dokumen menggunakan alat analisis yang merupakan komponen-komponen dalam data mining yang salah satunya adalah kategorisasi (Amin, 2011). Data yang didapat pada sekumpulan dokumen merupakan kumpulan teks yang formatnya tidak terstruktur, sehingga text mining memiliki proses awal di mana proses tersebut mempersiapkan kumpulan teks menjadi lebih terstruktur untuk kemudian dilakukan perhitungan bobot frekuensi kemunculan kata pada sekumpulan dokumen (Purnawan, 2019)

Elemen dasar dari text mining adalah dokumen yang merupakan sebuah unit dari data teks yang berwujud dalam berbagai jenis. Kumpulan dari dokumen-dokumen tersebut ialah corpus. Tujuan dari text mining adalah untuk memperoleh informasi yang berguna dari sumber data melalui identifikasi dan eksplorasi pola menarik. Sumber data yang digunakan dalam text mining merupakan sekumpulan teks yang memiliki format yang tidak terstruktur (Titania, 2020). Menurut (Marti Hearst, 2003) dalam jurnal yang ditulis oleh (Wahyudi, 2019) perbedaan mendasar antara data mining dan text mining terdapat pada sumber data yang digunakan. Pada text mining, pola-pola diekstrak dari data tekstual (bahasa alami), sedangkan data mining, pola-pola diekstrak dari basis data yang terstruktur.

Vektorisasi Kata

Dalam lingkup text mining, vektorisasi merupakan proses membuat vektor dengan nilainya berupa angka-angka kemunculan term (yaitu kata unik) dalam dokumen. Untuk melakukan vektorisasi maka teks harus dipisah menjadi kata per kata. Pemisahan teks menjadi kata-kata disebut dengan tokenisasi. Tokenisasi merupakan proses pemecahan dokumen menjadi komponen-komponen individual (Aulia & Patriya, 2019).

Pegantar text pre-processing

Sengaja saya bahas ini karena fokus text mining lebih banyak pada tahap text pre-processing dan tentunya banyak memakan waktu pada tahap ini, sama seperti analisis selain data teks juga lebih banyak memakan pada tahap pre-processing, dan terkadang pada tahap text pre-processing ini agak tricky jika pada data teks yang kita punya banyak kata-kata yang tidak terdapat pada corpus dalam library yang digunakan untuk melakukan tahap ini, jadi kita terkadang harus menambahkannya sendiri kata-kata tersebut.

Oke, apa itu text pre-processing? text pre-processing adalah tahapan dari proses awal terhadap teks untuk mempersiapkan teks menjadi data yang akan diolah lebih lanjut (Melita, Amrizal, Suseno, & Dirjam, 2018). Pada tahapan ini adalah menghilangkan bagian-bagian data teks yang tidak penting atau yang tidak diperlukan sehingga data yang didapat adalah data yang berkualitas, dengan demikian hasil analisis bisa lebih baik dan lebih akurat. Berikut adalah tahapan-tahapan yang umum digunakan pada tahap pre-processing :

  1. Case Folding

Case Folding adalah proses perubahan huruf kapital menjadi huruf kecil, jadi semua teks yang mengandung huruf kapital akan diubah menjadi huruf kecil. Tujuan dai Case Folding ini adalah agar kata-kata yang sama tidak terdeteksi berbeda hanya karena perbedaan terdapat huruf kapital.

2. Remove Punctuation

Remove punctuation merupakan proses penghapusan pada tanda baca. Tahap ini membuat karakter selain huruf dihilangkan seperti tanda koma, tanda tanya, tanda seru, dan lain sebagainya (Amelia, 2020).

3. Stopword removal

Stopword removal adalah tahap penghapusan kata yang sering muncul namun tidak bermakna atau kosakata yang bukan merupakan ciri (kata yang unik) dari suatu dokumen (Amelia, 2020). Contoh stopword dalam kata Bahasa Inggris misalnya adalah are, is, i, am, was, were, they, you, the, dan lain sebagainya.

4. Lemmatization

Lemmatization adalah proses mengestrak akar kata dari kata yang ditempelkan dengan tujuan untuk mereduksi variasi kata menjadi akar kata (Arimbawa & ER, 2020). Di dalam Bahasa Inggris misalnya kata runs, running, ran adalah semua bentuk kata run, oleh karena itu run adalah inti dari semua kata ini dan lemmatization mengembalikan kata yang sebenarnya dari bahasa tersebut. Lemmatization digunakan jika diperlukan untuk mendapatkan kata-kata yang valid (Jabeen, 2018). Teman-teman bisa juga baca tentang Stemming, karena mirip dengan lemmatization ini, tapi tentunya mempunyai perbedaan dan kegunaan.

5. Tokenizing

Tokenizing merupakan proses memisahkan atau memecahkan yang awalnya berupa kalimat menjadi kata-kata atau memutus urutan string menjadi potongan-potongan seperti kata-kata berdasarkan tiap kata yang menyusunnya (Asiyah & Fithriasari, 2016). Tokenizing digunakan untuk memperoleh potongan kata yang akan menjadi suatu entitas dan memiliki nilai dalam penyusunan matriks dokumen pada proses berikutnya (Amelia, 2020).

Kesimpulan

Sejauh ini kita telah mempelajari tentang pengenalan NLP, bidang-bidang yang ada di NLP, pengenalan text mining, vektorisasi kata, dan pengantar text pre-processing. Sebelum kita melangkah maju tentunya kita perlu mengetahui atau mengeneal terlebih dahulu istilah-istilah yang ada di bidang NLP dan text mining. Semoga bermanfaat :)

Referensi

[1] Raharjo, S., & Hartati, S. (2014). Antarmuka Bahasa Alami Untuk Melakukan Query Terhadap Terjemahan Al-Quran. Jurnal Teknologi, Volume 7, Nomor 1, 12.

[2] Lisangan, E. A. (2013). Natural Language Processing dalam Memperoleh Informasi Akademik Mahasiswa Universitas Atma Jaya Makassar. Jurnal Tematika Vol. 1, No. 1, 2.

[3] Amelia, R. (2020). Rancang Bangun Aplikasi Chatbot Menggunakan Natural Language Processing dalam Bentuk Website dan Telegram Bot. Yogyakarta: Skripsi Jurusan Statistika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Islam Indonesia.

[4] Amin, F. (2011). Implementasi Search Engine(Mesin Pencari) Menggunakan Metode Vector Space Model. Dinamika Teknik, Vol. V, No. 1, 49.

[5] Purnawan, D. T. (2019). Sistem Pencarian Barang atau Orang Hilang dengan Menerapkan Metode Cosine Similarity dan Data Crawling dari Twitter. Yogyakarta: Skripsi Program Studi Teknik Informatika - Program Sarjana Fakultas Teknologi Industri Universitas Islam Indonesia.

[6] Titania, B. (2020). Penerapan Metode Text Mining dan Social Network Analysis pada Jejaring Sosial Twitter. Yogyakarta: Skripsi Program Studi Statistika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Islam Indonesia.

[7] Wahyudi, M. R. (2019). Penerapan Algoritma Cosine Similarity pada Text Mining Terjemah Al-Qur’an Berdasarkan Keterkaitan Topik. Semesta Teknika, Vol. 22, No. 1, 42.

[8] Aulia, G. N., & Patriya, E. (2019). Implementasi Lexicon Based dan Naive Bayes pada Analisis Sentimen Pengguna Twitter Topik Pemilihan Presiden 2019. Jurnal Ilmiah Informatika Komputer Volume 24, №2, 147.

[9] Melita, R., Amrizal, V., Suseno, H. B., & Dirjam, T. (2018). Penerapan Metode Term Frequency Inverse Document Frequency (TF-IDF) dan Cosine Similarity pada Sistem Temu Kembali Informasi untuk Mengetahui Syarah Hadits Berbasis Web. Jurnal Teknik Informatika, Vol. 11, No. 2, 52.

[10] Arimbawa, I. P., & ER, N. S. (2020). Lemmatization in Balinese Language. Jurnal Elektronik Ilmu Komputer Udayana, 235

[11] Jabeen, H. (2018, Oktober 23). Stemming and Lemmatization in Python. Diambil kembali dari DataCamp: https://www.datacamp.com/community/tutorials/stemming-lemmatizationpython

[12] Asiyah, S. N., & Fithriasari, K. (2016). Klasifikasi Berita Online Menggunakan Metode Support Vector Machine dan K- Nearest Neighbor. Jurnal Sains dan Senitis, Vol. 5. No. 2, 318.

Contact Me

Connect with me on LinkedIn

Follow me on Instagram

Email: rizapurnaramadhan@gmail.com

--

--