NLTK Tokenize: Tokenizer Kata dan Kalimat dengan Contoh

โšก Ringkasan Cerdas

NLTK Tokenize membagi teks besar menjadi unit-unit yang lebih kecil yang disebut token, sebuah langkah mendasar dalam pemrosesan bahasa alami. Toolkit ini menyediakan word_tokenize untuk memecah kalimat menjadi kata-kata dan sent_tokenize untuk membagi teks menjadi kalimat-kalimat individual.

  • ๏ธ Tokenisasi: Membagi teks besar menjadi unit-unit yang lebih kecil yang disebut token untuk dianalisis.
  • ๐Ÿง  NLP Foundation: Berfungsi sebagai langkah dasar untuk stemming, lemmatisasi, dan konversi teks ke numerik.
  • ๐Ÿ”ค word_tokenize(): Memisahkan kalimat menjadi kata-kata individual, memisahkan tanda baca.
  • ๐Ÿ“ sent_tokenize(): Memecah sebuah paragraf menjadi kalimat-kalimat terpisah.
  • ๐Ÿ“Š Gunakan Kasus: Dengan menggabungkan keduanya, Anda dapat menghitung fitur-fitur seperti rata-rata kata per kalimat untuk pembelajaran mesin.

Tokenisasi NLTK

Apa itu Tokenisasi?

Tokenisasi adalah proses dimana sejumlah besar teks dibagi menjadi bagian-bagian kecil yang disebut token. Token ini sangat berguna untuk menemukan pola dan dianggap sebagai langkah dasar untuk stemming dan lemmatisasi. Tokenisasi juga membantu mengganti elemen data sensitif dengan elemen data non-sensitif.

Pemrosesan bahasa alami digunakan untuk membangun aplikasi seperti klasifikasi teks, chatbot cerdas, analisis sentimental, terjemahan bahasa, dll. Memahami pola dalam teks untuk mencapai tujuan yang disebutkan di atas menjadi penting.

Untuk saat ini, jangan khawatir tentang stemming dan lemmatization tetapi anggap saja sebagai langkah-langkah untuk pembersihan data tekstual menggunakan NLP (Natural language processing). Kita akan membahas stemming dan lemmatization nanti dalam tutorial. Tugas-tugas seperti Klasifikasi teks atau pemfilteran spam memanfaatkan NLP bersama dengan perpustakaan pembelajaran mendalam seperti Keras dan aliran tensor.

Toolkit Bahasa Alami memiliki modul NLTK yang sangat penting tokenisasi kalimat yang selanjutnya terdiri dari sub-modul

  1. tokenisasi kata
  2. tokenisasi kalimat

Tokenisasi kata-kata

Kami menggunakan metode ini kata_tokenize() untuk membagi kalimat menjadi kata-kata. Output dari tokenisasi kata dapat dikonversi ke Data Frame untuk pemahaman teks yang lebih baik dalam aplikasi pembelajaran mesin. Ini juga dapat diberikan sebagai masukan untuk langkah pembersihan teks lebih lanjut seperti penghapusan tanda baca, penghapusan karakter numerik, atau stemming. Model pembelajaran mesin memerlukan data numerik untuk dilatih dan membuat prediksi. Tokenisasi kata menjadi bagian penting dari konversi teks (string) menjadi data numerik. Silakan baca tentang Sekantong Kata atau CountVectorizer. Silakan lihat contoh kata tokenize NLTK di bawah ini untuk memahami teori dengan lebih baik.

from nltk.tokenize import word_tokenize
text = "God is Great! I won a lottery."
print(word_tokenize(text))

Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']

Tokenisasi Kata-kata

Code Penjelasan

  1. Modul word_tokenize diimpor dari perpustakaan NLTK.
  2. Variabel โ€œteksโ€ diinisialisasi dengan dua kalimat.
  3. Variabel teks diteruskan ke modul Word_tokenize dan mencetak hasilnya. Modul ini memecah setiap kata dengan tanda baca yang dapat Anda lihat di output.

Tokenisasi Kalimat

Sub-modul yang tersedia untuk di atas adalah sent_tokenize. Pertanyaan yang jelas di benak Anda adalah mengapa tokenisasi kalimat diperlukan ketika kita memiliki opsi untuk tokenisasi kata. Bayangkan Anda perlu menghitung rata-rata kata per kalimat, bagaimana cara menghitungnya? Untuk menyelesaikan tugas seperti itu, Anda memerlukan tokenizer kalimat NLTK serta tokenizer kata NLTK untuk menghitung rasionya. Output tersebut berfungsi sebagai fitur penting untuk pelatihan mesin karena jawabannya berupa numerik.

Periksa contoh tokenizer NLTK di bawah ini untuk mempelajari perbedaan tokenisasi kalimat dengan tokenisasi kata.

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print(sent_tokenize(text))

Output: ['God is Great!', 'I won a lottery ']

Kita punya 12 kata-kata dan dua kalimat untuk masukan yang sama.

Tokenisasi Kalimat

Penjelasan programnya

  1. Sejalan dengan program sebelumnya, impor modul sent_tokenize.
  2. Kami telah mengambil kalimat yang sama. Tokenizer kalimat selanjutnya dalam modul NLTK menguraikan kalimat tersebut dan menampilkan keluaran. Jelas bahwa fungsi ini memecah setiap kalimat.

Tokenizer kata di atas Python contohnya adalah batu pengaturan yang baik untuk memahami mekanisme tokenisasi kata dan kalimat.

Pertanyaan Umum Demo Slot

Tokenisasi kata membagi teks menjadi kata-kata dan tanda baca individual menggunakan fungsi word_tokenize(), sedangkan tokenisasi kalimat membagi teks menjadi kalimat-kalimat terpisah menggunakan fungsi sent_tokenize(). Keduanya sering digabungkan untuk mendapatkan fitur seperti jumlah kata per kalimat.

Tokenisasi adalah langkah pertama yang mengubah teks mentah menjadi unit-unit yang mudah dikelola, memungkinkan deteksi pola, stemming, lemmatisasi, dan konversi ke fitur numerik yang dibutuhkan model pembelajaran mesin untuk tugas-tugas seperti klasifikasi dan penerjemahan.

Ya. NLTK mendukung beberapa bahasa dengan memuat model Punkt yang sesuai, misalnya sent_tokenize(text, language='french'). Dukungan bervariasi tergantung bahasa, dan beberapa skrip mungkin memerlukan tokenizer khusus.

Model bahasa berskala besar mengubah teks menjadi token, yang seringkali berupa potongan subkata, sebelum diproses. Model tersebut memprediksi token berikutnya berdasarkan token sebelumnya, sehingga tokenisasi secara langsung memengaruhi panjang konteks, biaya, dan kualitas keluaran.

Ya. Tokenisasi AI modern menggunakan metode subkata seperti Byte Pair Encoding atau WordPiece, membagi kata-kata langka menjadi bagian-bagian yang lebih kecil. Ini menjaga kosakata tetap ringkas sambil tetap merepresentasikan kata-kata yang tidak dikenal atau kata majemuk.

Ringkaslah postingan ini dengan: