Text Processing in Natural Language Processing

Muhammad Haswan Alfarandy

Sosial Media


0 orang menyukai ini
Suka

Summary

Text processing adalah serangkaian teknik dan metode yang digunakan untuk mengolah teks secara komputasional dengan tujuan memanipulasi dan mendapatkan informasi yang relevan. Langkah-langkah dalam proses text processing meliputi pengumpulan data, pra-pemrosesan teks, ekstraksi fitur, analisis, dan evaluasi. Hasil dari text processing adalah mengubah teks menjadi format yang dapat diproses oleh komputer. Meskipun demikian, tahapan dalam text processing tidak bersifat baku. Pendekatan dan langkah-langkah dalam pemrosesan teks dapat berbeda-beda tergantung pada tujuan dan konteksnya.

Text processing memiliki peran yang krusial dalam bidang Pemrosesan Bahasa Alamiah (NLP) karena melibatkan berbagai teknik dan metode untuk memproses teks secara komputasional. Berbagai tugas dalam NLP, seperti analisis sentimen, pemodelan bahasa, penerjemahan mesin, pengenalan entitas, dan pemahaman bahasa alami secara keseluruhan, bergantung pada text processing untuk mengolah teks menjadi format yang dapat diproses oleh komputer.

Portofolio ini dibuat sebagai syarat untuk memenuhi Tugas Ujian Akhir Semester Genap TA. 2022/2023 dalam Mata Kuliah Peminatan Temu Kembali Informasi.

Description

Text processing merupakan rangkaian teknik dan metode yang digunakan untuk memanipulasi dan memproses teks menggunakan komputasi. Tujuan utama dari text processing adalah untuk mendapatkan informasi yang signifikan dari teks dan mengubahnya menjadi format yang dapat diproses oleh komputer.

Dalam melakukan Text Processing, berikut adalah tahap-tahap yang dapat dilakukan:

Gather:

Pada tahap awal Text Processing, terdapat tahap Pengumpulan Data yang melibatkan identifikasi sumber data teks yang relevan dan pengumpulan data tersebut. Pada tahap ini, tujuannya adalah untuk mendapatkan data teks yang diperlukan untuk analisis atau tugas yang akan dilakukan. Sumber data teks dapat berasal dari berbagai jenis, seperti dokumen, situs web, atau sumber data lainnya. Setelah dikumpulkan, data teks tersebut disimpan dan diorganisir dalam format yang sesuai. Penting untuk melakukan pengumpulan data yang baik dan representatif karena hal tersebut akan berpengaruh langsung terhadap hasil akhir dari proses text processing.

Preprocess:

Preprocessing (pra-pemrosesan) merupakan tahapan yang krusial dalam text processing yang memiliki tujuan untuk membersihkan, mengubah format, dan mempersiapkan teks agar siap untuk analisis selanjutnya. Beberapa langkah umum terkait dengan tahap preprocessing dalam text processing adalah sebagai berikut:

  • Case Folding

Case folding melibatkan mengubah semua huruf dalam teks menjadi huruf kecil (lowercase) atau huruf besar (uppercase). Tujuan dari case folding ini adalah untuk menjaga konsistensi dan menghindari perbedaan yang tidak perlu yang disebabkan oleh variasi dalam penulisan huruf.

  • Removing

Tahap penghapusan melibatkan eliminasi elemen-elemen yang tidak relevan atau mengganggu dalam teks. Berikut adalah beberapa elemen yang umumnya dihilangkan selama tahap pembersihan:

Numeric Removal: Angka atau karakter numerik yang muncul dalam teks seringkali tidak relevan dalam beberapa analisis teks. Oleh karena itu, menghapus angka dapat membantu menyederhanakan teks dan memfokuskan pada informasi yang lebih penting.

Punctuation Removal: Tanda baca seperti titik, koma, tanda tanya, dan tanda seru seringkali dihapus karena tidak memberikan kontribusi signifikan dalam memahami konten teks.

Special Character Removal: Karakter khusus seperti simbol matematika, emotikon, tanda hubung ganda, atau karakter yang jarang digunakan dapat dihilangkan untuk menjaga kebersihan dan keseragaman teks.

Whitespace Removal: Menghilangkan whitespace melibatkan penghapusan spasi, tab, atau karakter baris baru yang tidak perlu dalam teks, sehingga teks menjadi lebih bersih dan terstruktur saat diproses dan dianalisis lebih lanjut.

URL/Link Removal: Jika teks mengandung URL atau tautan web, seringkali diinginkan untuk menghapusnya karena tidak memberikan informasi langsung tentang teks itu sendiri.

HTML Tag Removal: Jika teks berasal dari sumber HTML, tahap pembersihan dapat mencakup penghapusan tag HTML dan mengambil teks asli.

  • Filtering (Stopword Removal)

Tahap filtering melibatkan penghapusan kata-kata umum yang sering muncul dalam teks, yang dikenal sebagai stop words. Stop words seperti "dan", "atau", "juga", "dari", dan sebagainya, seringkali tidak memberikan informasi penting dalam analisis teks dan dapat dihilangkan untuk mempercepat pemrosesan dan meningkatkan relevansi informasi yang diekstraksi.

Terdapat dua metode yang dapat digunakan dalam proses filtering, yaitu dengan menggunakan stoplist dan wordlist. Stoplist merupakan daftar kata-kata umum yang dianggap tidak memberikan kontribusi signifikan dalam analisis teks. Kata-kata dalam stoplist, seperti "dan", "atau", "juga", "dari", "di", "adalah", dan lain-lain, diidentifikasi dan dihapus dari teks karena dianggap tidak memberikan nilai informasi yang penting.

Sementara itu, wordlist merupakan daftar kata-kata yang diizinkan atau diinginkan dalam analisis teks. Wordlist berfungsi sebagai kebalikan dari stoplist, di mana hanya kata-kata yang terdapat dalam wordlist yang akan disimpan atau dipertahankan dalam teks. Wordlist dapat disesuaikan sesuai dengan kebutuhan analisis dan konteks teks yang sedang diproses, dan digunakan untuk memfokuskan pada kata-kata kunci atau spesifik yang relevan dengan tujuan analisis yang dilakukan.

  • Tokenizing

Tokenizing merupakan proses membagi teks menjadi unit-unit yang lebih kecil yang disebut token. Token dapat berupa kata, frasa, atau simbol individu. Dalam tahap ini, teks dipecah menjadi token-token yang akan menjadi unit dasar dalam analisis lebih lanjut.

  • Stemming/Lemmatization

Tahap stemming atau lemmatization melibatkan pengolahan kata-kata dalam teks dengan tujuan mengubahnya menjadi bentuk dasar atau kata-kata yang lebih terstandarisasi. Stemming melibatkan penghapusan akhiran kata untuk mendapatkan bentuk dasarnya, sementara lemmatization melibatkan penggunaan kamus atau aturan bahasa untuk mengubah kata-kata menjadi kata dasar yang sesuai. Sebagai contoh, kata-kata seperti "berlari", "berlarian", dan "berlarilah" dapat diubah menjadi kata dasar "lari" melalui proses stemming atau lemmatization.

Feature Extraction:

Feature extraction adalah proses mengubah teks menjadi representasi numerik yang dapat digunakan oleh algoritma machine learning. Berikut adalah beberapa contoh metode ekstraksi fitur yang umum digunakan:

  • Inverse document frequency (IDF) 

Metode term frequency digunakan untuk menghitung jumlah kemunculan kata-kata dalam teks. Setiap kata dianggap sebagai fitur dan nilai fitur tersebut adalah frekuensi kemunculan kata tersebut. Sebagai contoh, dalam kalimat "Saya suka pizza dan pasta", kata "suka" memiliki term frequency 1, sementara kata "pizza" dan "pasta" juga memiliki term frequency 1.

  • Inverse document frequency (IDF)

Inverse document frequency (IDF) digunakan untuk mengukur tingkat keumuman atau kelangkaan kemunculan sebuah kata dalam seluruh korpus teks. Kata-kata yang jarang muncul dalam korpus secara keseluruhan akan diberi bobot yang lebih tinggi, karena dianggap memiliki informasi yang lebih penting.

  • TF-IDF (Term Frequency-Inverse Document Frequency)

Metode TF-IDF digunakan untuk memberikan bobot pada kata berdasarkan frekuensi kemunculan kata dalam teks tertentu dan inversi frekuensi kemunculan kata tersebut dalam seluruh teks. Hal ini membantu dalam menyoroti kata-kata yang unik dan penting dalam teks. Bobot TF-IDF menggabungkan term frequency (TF) dengan inverse document frequency (IDF). Kata-kata yang muncul sering dalam suatu teks tetapi jarang muncul dalam teks keseluruhan akan memiliki bobot yang tinggi. Sebagai contoh, kata "pizza" yang muncul beberapa kali dalam teks akan diberi bobot yang lebih tinggi jika kata tersebut jarang muncul dalam teks keseluruhan.

  • Word Embeddings

Word embeddings merupakan representasi vektor yang mewakili kata-kata dalam ruang multidimensional berdasarkan konteksnya. Metode seperti Word2Vec, GloVe, atau FastText digunakan untuk menghasilkan vektor representasi yang menggambarkan makna kata-kata berdasarkan konteks di sekitarnya. Dengan menggunakan word embeddings, kita dapat mengkodekan makna dan hubungan antara kata-kata dalam teks.

Classification:

Dalam text processing, klasifikasi melibatkan pengelompokan atau pemberian label pada teks berdasarkan kategori atau kelas yang telah ditentukan sebelumnya. Untuk melakukan klasifikasi ini, dapat digunakan algoritma seperti Naive Bayes, Support Vector Machines (SVM), atau algoritma berbasis jaringan saraf (neural networks). Algoritma-algoritma tersebut digunakan untuk membangun model klasifikasi yang dapat memprediksi kategori atau kelas dari teks baru berdasarkan pola yang ditemukan dalam data pelatihan.

Analysis:

Analisis teks melibatkan proses pemahaman, pemrosesan, dan ekstraksi informasi dari teks dengan tujuan mengidentifikasi pola, tren, dan wawasan yang terkandung di dalamnya. Metode analisis teks meliputi analisis sentimen, pengelompokan topik (topic clustering), analisis asosiasi, dan ekstraksi entitas. Tujuan utama dari analisis teks adalah untuk mengungkap informasi yang berharga dan memperoleh pemahaman yang lebih mendalam tentang teks yang sedang dianalisis.

Evaluasi dan Optimasi:

Evaluasi dalam text processing merupakan proses penting untuk mengukur kinerja model atau sistem yang telah dibangun dalam tahap pengolahan teks. Evaluasi dilakukan dengan menggunakan metrik seperti akurasi, presisi, recall, F1-score, atau metrik lain yang relevan tergantung pada tujuan dan konteks analisis yang dilakukan. Melalui evaluasi, kita dapat menilai sejauh mana model atau sistem yang dikembangkan mampu memberikan hasil yang akurat dan dapat diandalkan dalam tugas analisis teks yang diberikan.

Di sisi lain, optimasi dalam text processing merupakan upaya untuk meningkatkan kinerja model atau sistem dalam pengolahan teks dengan melakukan penyesuaian dan perbaikan. Upaya optimasi ini melibatkan penyesuaian parameter pada algoritma yang digunakan, pemilihan fitur yang lebih relevan, penggunaan teknik regularisasi, atau penggunaan teknik ensemble learning, dan lain sebagainya. Tujuan dari optimasi ini adalah untuk meningkatkan performa dan efisiensi dalam pengolahan teks, sehingga menghasilkan hasil yang lebih baik dalam analisis dan tugas yang diberikan.

Informasi Course Terkait
  Kategori: Natural Language Processing
  Course: Basic Text Processing