Apa itu Tokenisasi?
Tokenisasi adalah proses di mana sejumlah besar teks dibagi menjadi beberapa bagian yang lebih 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. Menjadi penting untuk memahami pola dalam teks untuk mencapai tujuan yang disebutkan di atas.
Untuk saat ini, jangan khawatir tentang stemming dan lemmatisasi tetapi perlakukan mereka sebagai langkah pembersihan data tekstual menggunakan NLP (Natural language processing). Kami akan membahas stemming dan lemmatization nanti di tutorial. Tugas seperti klasifikasi teks atau pemfilteran spam menggunakan NLP bersama dengan pustaka pembelajaran mendalam seperti Keras dan Tensorflow.
Natural Language toolkit memiliki modul yang sangat penting yaitu kalimat tokenize NLTK yang selanjutnya terdiri dari sub-modul
- kata tokenisasi
- kalimat tokenisasi
Tokenisasi kata-kata
Kami menggunakan metode word_tokenize () untuk membagi kalimat menjadi kata-kata. Output dari tokenisasi kata dapat diubah menjadi Data Frame untuk pemahaman teks yang lebih baik dalam aplikasi pembelajaran mesin. Ini juga dapat diberikan sebagai input untuk langkah pembersihan teks lebih lanjut seperti penghapusan tanda baca, penghapusan karakter numerik atau stemming. Model pembelajaran mesin membutuhkan data numerik untuk dilatih dan membuat prediksi. Tokenisasi kata menjadi bagian penting dari teks (string) menjadi konversi data numerik. Silakan baca tentang Bag of Words atau CountVectorizer. Silakan lihat contoh kata tokenisasi NLTK di bawah ini untuk memahami teori dengan lebih baik.
from nltk.tokenize import word_tokenizetext = "God is Great! I won a lottery."print(word_tokenize(text))Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']
Penjelasan Kode
- modul word_tokenize diimpor dari perpustakaan NLTK.
- Variabel "teks" diinisialisasi dengan dua kalimat.
- Variabel teks dilewatkan dalam modul word_tokenize dan mencetak hasilnya. Modul ini memecah setiap kata dengan tanda baca yang dapat Anda lihat di keluaran.
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 tokenisasi kata . Bayangkan Anda perlu menghitung rata-rata kata per kalimat, bagaimana Anda akan menghitungnya? Untuk menyelesaikan tugas seperti itu, Anda memerlukan tokenizer kalimat NLTK serta tokenizer kata NLTK untuk menghitung rasio. Keluaran tersebut berfungsi sebagai fitur penting untuk pelatihan mesin karena jawabannya adalah numerik.
Periksa contoh tokenizer NLTK di bawah ini untuk mempelajari bagaimana tokenisasi kalimat berbeda dari tokenisasi kata.
from nltk.tokenize import sent_tokenizetext = "God is Great! I won a lottery."print(sent_tokenize(text))Output: ['God is Great!', 'I won a lottery ']
Kami memiliki 12 kata dan dua kalimat untuk input yang sama.
Penjelasan program:
- Sejalan seperti program sebelumnya, impor modul sent_tokenize.
- Kami telah mengambil kalimat yang sama. Tokenizer kalimat lebih lanjut dalam modul NLTK mengurai kalimat tersebut dan menampilkan keluaran. Jelas bahwa fungsi ini merusak setiap kalimat.
Di atas contoh kata tokenizer Python adalah batu pengaturan yang baik untuk memahami mekanisme tokenisasi kata dan kalimat.
Ringkasan
- Tokenisasi di NLP adalah proses di mana sejumlah besar teks dibagi menjadi beberapa bagian yang lebih kecil yang disebut token.
- Pemrosesan bahasa alami digunakan untuk membangun aplikasi seperti klasifikasi teks, chatbot cerdas, analisis sentimental, terjemahan bahasa, dll.
- Natural Language toolkit memiliki kalimat tokenize NLTK modul yang sangat penting yang selanjutnya terdiri dari sub-modul
- Kami menggunakan metode word_tokenize () untuk membagi kalimat menjadi kata-kata. Output dari tokenizer kata di NLTK dapat diubah menjadi Data Frame untuk pemahaman teks yang lebih baik dalam aplikasi pembelajaran mesin.
- Sub-modul yang tersedia untuk di atas adalah sent_tokenize. Tokenizer kalimat dalam Python NLTK adalah fitur penting untuk pelatihan mesin.