Dian Ayu Setiawati
Text Processing adalah serangkaian metode dan teknik yang digunakan untuk memanipulasi dan mengolah teks secara komputasional. Tujuan utama dari text processing adalah untuk memperoleh informasi yang berarti dari teks dan mengubahnya menjadi format yang dapat diolah oleh komputer. Proses text processing mencakup beberapa tahapan umum seperti pengumpulan data, pra-pemrosesan (preprocessing), ekstraksi fitur (feature extraction), klasifikasi, analisis, dan evaluasi. Namun, tahap-tahap tersebut tidak diatur secara kaku. Setiap pemrosesan teks dapat memiliki pendekatan dan tahapan yang berbeda tergantung pada tujuan dan konteksnya.
Text processing merupakan komponen penting dalam Natural Language Processing karena melibatkan serangkaian teknik dan metode untuk memproses teks secara komputasional. Metode dan algoritma NLP seperti analisis sentimen, pemodelan bahasa, penerjemahan mesin, pengenalan entitas, atau pemahaman bahasa alami secara umum, bergantung pada text processing untuk mengolah teks menjadi format yang dapat diolah secara komputasional.
Portofolio ini dibuat sebagai syarat untuk memenuhi Tugas Ujian Akhir Semester Genap TA. 2022/2023 dalam Mata Kuliah Peminatan Temu Kembali Informasi.
Text Processing adalah serangkaian metode dan teknik yang digunakan untuk memanipulasi dan mengolah teks secara komputasional. Tujuan utama dari text processing adalah untuk memperoleh informasi yang berarti dari teks dan mengubahnya menjadi format yang dapat diolah oleh komputer.
Dalam melakukan Text Processing, berikut adalah tahap-tahap yang dapat dilakukan:
Gather
Pengumpulan Data adalah tahap awal dalam Text Processing yang melibatkan identifikasi sumber data teks yang relevan dan pengumpulan data tersebut. Selama tahap ini, tujuan utamanya adalah untuk memperoleh data teks yang akan digunakan dalam analisis atau tugas yang akan dilakukan. Data teks dikumpulkan dari berbagai sumber seperti dokumen, situs web, atau data lainnya, dan kemudian disimpan dan diatur dalam format yang sesuai. Pengumpulan data yang baik dan representatif sangat penting karena akan berdampak langsung pada hasil akhir dari proses text processing.
Preprocessing
Preprocessing (pra-pemrosesan) merupakan tahapan penting dalam text processing yang bertujuan untuk membersihkan, mengubah format, dan mempersiapkan teks agar lebih siap untuk analisis lebih lanjut. Berikut adalah beberapa langkah umum yang terkait dengan tahap preprocessing pada text processing:
Case folding melibatkan pengubahan semua huruf dalam teks menjadi huruf kecil (lowercase) atau huruf besar (uppercase). Hal ini dilakukan untuk memastikan konsistensi dan menghindari perbedaan yang tidak perlu berdasarkan perbedaan penulisan huruf.
Tahap removing melibatkan penghapusan elemen-elemen yang tidak relevan atau mengganggu dalam teks. Berikut ini beberapa elemen yang umumnya dihapus selama tahap pembersihan:
Numeric Removal: Angka atau karakter numerik yang muncul dalam teks sering kali tidak relevan dalam analisis teks tertentu. Oleh karena itu, penghapusan angka dapat membantu menyederhanakan teks dan fokus pada informasi yang lebih penting.
Punctuation Removal: Tanda baca seperti titik, koma, tanda tanya, dan tanda seru sering kali dihapus karena tidak memberikan kontribusi signifikan terhadap pemahaman konten teks.
Special Character Removal: Karakter khusus seperti simbol matematika, emotikon, tanda hubung ganda, atau karakter yang tidak umum digunakan dapat dihapus untuk menjaga kebersihan dan keseragaman teks.
Whitespace Removal: Penghapusan whitespace melibatkan menghilangkan spasi, tab, atau karakter baris baru yang tidak perlu dalam teks untuk memastikan teks lebih bersih dan lebih 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 murni
Tahap filtering melibatkan penghapusan kata-kata umum yang sering muncul dalam teks, yang dikenal sebagai stop words. Stop words seperti "dan", "atau", "juga", "dari", dll. sering 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 :
Stoplist
Stoplist adalah daftar kata-kata yang dianggap umum dan tidak memberikan kontribusi signifikan dalam analisis teks. Stoplist berisi kata-kata yang umumnya digunakan dalam bahasa yang sedang diproses dan cenderung tidak memiliki makna khusus. Contoh kata-kata dalam stoplist dalam bahasa Indonesia adalah "dan", "atau", "juga", "dari", "di", "adalah", dan lain-lain. Saat melakukan stopword removal, kata-kata yang terdapat dalam stoplist diidentifikasi dan dihapus dari teks karena dianggap tidak memberikan nilai informasi yang penting.
Wordlist
Wordlist (daftar kata) adalah daftar kata-kata yang diperbolehkan atau diinginkan dalam analisis teks. Ini berfungsi sebagai kebalikan dari stoplist, di mana hanya kata-kata yang terdapat dalam wordlist yang akan disimpan atau dipertahankan dalam teks. Wordlist dapat disesuaikan berdasarkan kebutuhan analisis dan konteks teks yang sedang diprose dan digunakan untuk fokus pada kata-kata kunci atau spesifik yang relevan dengan tujuan analisis.
Tokenizing melibatkan pemisahan teks menjadi unit-unit yang lebih kecil, yang disebut token. Token dapat berupa kata, frasa, atau simbol individu. Pada tahap ini, teks dipecah menjadi token-token yang nantinya akan digunakan sebagai unit-unit dasar dalam analisis lebih lanjut.
Tahap stemming atau lemmatization melibatkan pengolahan kata-kata dalam teks untuk mengubahnya menjadi bentuk dasar atau kata-kata yang lebih terstandarisasi. Stemming melibatkan menghapus akhiran kata untuk mendapatkan bentuk dasarnya, sedangkan lemmatization melibatkan penggunaan kamus atau aturan bahasa untuk mengubah kata-kata menjadi kata dasar yang tepat. Misalnya, kata-kata "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:
Metode term frequency menghitung jumlah kemunculan kata-kata dalam teks. Setiap kata menjadi fitur dan nilai fitur adalah frekuensi kemunculan kata tersebut. Misalnya, dalam kalimat "I love pizza and pasta", kata "love" memiliki term frequency 1, sedangkan kata "pizza" dan "pasta" memiliki term frequency 1 juga.
Inverse document frequency (IDF) mengukur seberapa umum atau jarang kata tersebut muncul dalam seluruh korpus. Kata-kata yang muncul jarang dalam korpus secara keseluruhan akan mendapatkan bobot yang lebih tinggi, karena dianggap memiliki informasi yang lebih penting.
Metode TF-IDF memberikan bobot pada kata berdasarkan frekuensi kemunculan kata dalam teks tertentu dan inversi frekuensi kemunculan kata tersebut dalam seluruh teks. Ini membantu untuk menyoroti kata-kata yang unik dan penting dalam teks. Bobot TF-IDF menggabungkan term frequency dengan inverse document frequency. Kata yang muncul sering dalam suatu teks tetapi jarang muncul dalam teks keseluruhan akan memiliki bobot yang tinggi. Contoh, kata "pizza" yang muncul beberapa kali dalam teks akan mendapatkan bobot yang lebih tinggi jika kata tersebut jarang muncul dalam teks keseluruhan.
Word embeddings adalah representasi vektor kontekstual kata-kata dalam ruang multidimensional. Metode seperti Word2Vec, GloVe, atau FastText digunakan untuk menghasilkan vektor representasi yang menggambarkan makna kata-kata berdasarkan konteks di sekitarnya. Word embeddings memungkinkan pengkodean makna dan hubungan antar kata dalam teks.
Classification
Klasifikasi dalam text processing melibatkan pengelompokan atau pemberian label pada teks berdasarkan pada kategori atau kelas yang telah ditentukan sebelumnya. Algoritma klasifikasi seperti Naive Bayes, Support Vector Machines (SVM), atau algoritma berbasis jaringan saraf (neural networks) dapat digunakan untuk membangun model klasifikasi yang dapat memprediksi kategori atau kelas dari teks baru berdasarkan pada pola yang ditemukan dalam data pelatihan.
Analysis
Analisis teks melibatkan pemahaman, pemrosesan, dan ekstraksi informasi dari teks untuk mengungkapkan pola, tren, dan wawasan yang terkandung dalamnya. Metode analisis teks dapat mencakup analisis sentimen, pengelompokan topik (topic clustering), analisis asosiasi, atau ekstraksi entitas. Tujuan dari analisis teks adalah untuk menggali informasi yang berguna dan menghasilkan pemahaman yang lebih dalam tentang teks yang dianalisis.
Evaluation and Optimization
Evaluasi dalam text processing adalah proses mengukur kinerja model atau sistem yang dibangun dalam tahap pengolahan teks. Evaluasi dilakukan dengan menggunakan metrik seperti akurasi, presisi, recall, F1-score, atau metrik lainnya yang relevan dengan tujuan dan konteks analisis. Evaluasi membantu dalam mengevaluasi sejauh mana model atau sistem yang dikembangkan dapat memberikan hasil yang akurat dan dapat diandalkan dalam tugas analisis teks yang diberikan
Optimasi dalam text processing adalah upaya untuk meningkatkan kinerja model atau sistem dalam pengolahan teks dengan melakukan penyesuaian dan perbaikan. Hal ini dapat melibatkan penyesuaian parameter pada algoritma yang digunakan, pemilihan fitur yang lebih relevan, penggunaan teknik regularisasi, atau penggunaan teknik ensemble learning. Tujuannya adalah untuk meningkatkan performa dan efisiensi dalam pengolahan teks, sehingga menghasilkan hasil yang lebih baik dalam analisis dan tugas yang diberikan.