Lewati ke konten utama

Textacy: Pengantar Pembersihan dan Normalisasi Data Teks di Python

Pelajari bagaimana Textacy, pustaka Python, menyederhanakan prapemrosesan data teks untuk machine learning. Kenali fitur uniknya seperti normalisasi karakter dan masking data, serta lihat perbandingannya dengan pustaka lain seperti NLTK dan spaCy.
Diperbarui 29 Sep 2026  · 5 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Tutorial ini adalah kontribusi berharga dari komunitas kami dan telah diedit oleh DataCamp untuk kejelasan dan akurasi.

Tertarik berbagi keahlian Anda? Kami ingin mendengarnya! Silakan kirim artikel atau ide Anda melalui Formulir Kontribusi Komunitas.

Sebagai praktisi data, Anda kemungkinan sudah menyadari pentingnya membangun pipeline pembersihan dan persiapan data yang kuat dalam setiap proyek machine learning. Namun, saat berurusan dengan data tekstual, pentingnya pipeline semacam ini menjadi lebih besar karena tantangan unik yang dibawa oleh data teks. Masalah seperti data berisik, kesalahan ejaan, singkatan, bahasa gaul, dan kesalahan tata bahasa semuanya dapat berdampak negatif pada kinerja model machine learning.

Untuk memastikan data teks yang digunakan dalam model machine learning akurat, konsisten, dan bebas dari kesalahan, pipeline pembersihan dan persiapan data yang dirancang dengan baik sangatlah krusial. Ini biasanya melibatkan serangkaian tugas seperti normalisasi teks, tokenisasi, penghapusan stopword, stemming, lemmatisasi, dan masking data.

Walaupun pustaka populer seperti NLTK, gensim, dan spaCy menawarkan beragam alat untuk pemrosesan dan pembersihan teks, menangani data tekstual tetap dapat menghadirkan tantangan unik yang secara signifikan memengaruhi kinerja model machine learning. Tantangan ini dapat berkisar dari normalisasi karakter hingga masking data dan banyak lagi. Meskipun masalah tersebut dapat ditangani menggunakan pustaka di atas, sering kali diperlukan waktu dan upaya yang besar untuk menyelesaikannya.

Di sinilah Textacy bersinar. Textacy adalah pustaka Python yang menawarkan cara sederhana dan mudah untuk menangani berbagai masalah umum yang muncul saat berurusan dengan data teks. Meskipun pustaka lain menawarkan fungsionalitas serupa, fokus Textacy pada pemecahan masalah spesifik, seperti normalisasi karakter dan masking data, membedakannya dalam konteks ini.

Normalisasi Karakter dengan Textacy

Normalisasi karakter adalah proses mengonversi data teks ke dalam format standar, yang bisa sangat penting saat menangani data teks multibahasa.

Text = ‘ the cafe “Saint-Raphaël” is loca-/nted on Cote d’Azur.’

Karakter beraksen adalah masalah umum dalam normalisasi teks yang dapat berdampak besar pada akurasi model machine learning.

Masalah ini muncul karena orang tidak selalu menggunakan karakter beraksen secara konsisten, yang dapat menimbulkan inkonsistensi dalam data.

Sebagai contoh, token "Saint-Raphaël" dan "Saint-Raphael" dapat merujuk pada entitas yang sama, tetapi tanpa normalisasi, keduanya tidak akan dikenali sebagai identik. Selain itu, teks sering berisi kata-kata yang dipisahkan dengan tanda hubung, dan apostrof seperti yang digunakan pada teks di atas dapat menjadi masalah untuk tokenisasi. Untuk semua masalah ini, masuk akal untuk menormalisasi teks dan mengganti aksen serta karakter dekoratif dengan padanan ASCII.

Kita akan menggunakan Textacy untuk tujuan tersebut karena ia memiliki kumpulan fungsi pra-definisi yang bagus untuk menyelesaikan masalah ini dengan cara yang mudah dan efisien. Tabel berikut menunjukkan pilihan fungsi prapemrosesan Textacy yang dapat bekerja secara independen dari pustaka lain mana pun.

Fungsi

Deskripsi

normalize _hyphentated_words

Menyusun kembali kata-kata yang terpisah karena pergantian baris

normalize_quotation_marks

Mengganti semua jenis tanda kutip dekoratif dengan padanan ASCII

normalize_unicode

Menyatukan kode berbeda untuk karakter beraksen dalam Unicode

remove_accents

Mengganti karakter beraksen dengan ASCII

replace_emails

Mengganti email dengan __EMAIL__

replace_urls

Mengganti URL dengan __URL__

text = "The café "Saint-Raphaël" is loca-\nted on Cote dʼAzur."


import textacy
import textacy.preprocessing as tprep


def normalize(text):
   text = tprep.normalize_hyphenated_words(text)
   text = tprep.normalize_quotation_marks(text)
   text = tprep.normalize_unicode(text)
   text = tprep.remove_accents(text)
   return text

Menggunakan fungsi normalize di atas, yang didasarkan pada fungsi prapemrosesan Textacy yang sudah didefinisikan, akan membantu kita menangani masalah normalisasi dengan upaya minimal.

print(normalize(text)

Keluaran:

The cafe Saint-Raphael is located in Cote d' Azure

Masking Data dengan Textacy

Data tekstual sering kali tidak hanya berisi kata-kata biasa tetapi juga berbagai jenis pengenal, seperti URL, alamat email, atau nomor telepon. Terkadang kita justru tertarik pada item-item tersebut. Namun, dalam banyak kasus, akan lebih baik untuk menghapus atau melakukan masking terhadap informasi ini, baik karena tidak relevan maupun karena alasan privasi.

Textacy memiliki beberapa fungsi replace yang praktis untuk masking data, seperti yang ditunjukkan pada tabel di atas. Fungsi replace ini sudah didefinisikan, sehingga memudahkan untuk melakukan masking terhadap informasi sensitif atau tidak relevan tanpa perlu menulis fungsi regular expression kustom.

text = "Check out https://spacy.io/usage/spacy-101"print(replace_urls(text))

Keluaran:

Check out __URL__

Ringkasan

Dalam artikel ini, kami menunjukkan bagaimana textacy dapat digunakan untuk menyederhanakan proses prapemrosesan data untuk data tekstual. Dengan beragam fungsi bawaan, Textacy memudahkan penanganan tantangan prapemrosesan umum, seperti normalisasi karakter dan masking data.

Dengan merampingkan proses prapemrosesan, Textacy membuka jalan untuk berfokus pada aspek yang lebih kompleks dan menantang dalam pemrosesan bahasa alami. Baik Anda mengerjakan analisis sentimen, topik modeling, atau tugas NLP lainnya, Textacy dapat membantu menyiapkan data Anda untuk analisis dengan cepat dan efisien.

Jadi, lain kali Anda menghadapi tantangan prapemrosesan, pertimbangkan untuk menggunakan Textacy guna menyederhanakan alur kerja dan menghemat waktu serta upaya berharga Anda.

Jika Anda merasa panduan tentang Textacy ini bermanfaat dan ingin memperdalam pemahaman tentang prapemrosesan data teks dan pemrosesan bahasa alami, pertimbangkan untuk mengikuti kursus DataCamp Natural Language Processing Fundamentals in Python.

Topik
Python
Machine Learning
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

Lihat SelengkapnyaLihat Selengkapnya