Tokenize NLTK: Tokenizer Kata dan Kalimat dengan Contoh

Isi kandungan:

Anonim

Apa itu Tokenization?

Tokenization adalah proses di mana sebilangan besar teks dibahagikan kepada bahagian yang lebih kecil yang disebut token. Token ini sangat berguna untuk mencari corak dan dianggap sebagai langkah asas untuk penegakan dan lemmatisasi. Tokenization juga membantu untuk mengganti elemen data sensitif dengan elemen data yang tidak sensitif.

Pemprosesan bahasa semula jadi digunakan untuk membangun aplikasi seperti klasifikasi Teks, chatbot pintar, analisis sentimental, terjemahan bahasa, dll. Menjadi penting untuk memahami corak dalam teks untuk mencapai tujuan yang dinyatakan di atas.

Buat masa ini, jangan bimbang tentang penangkapan dan lemmatisasi tetapi perlakukan sebagai langkah pembersihan data teks menggunakan NLP (Pemprosesan bahasa semula jadi). Kami akan membincangkan penangkapan dan lemmatisasi dalam tutorial nanti. Tugas seperti klasifikasi Teks atau penyaringan spam menggunakan NLP bersama dengan perpustakaan pembelajaran mendalam seperti Keras dan Tensorflow.

Toolkit Bahasa Asli mempunyai modul NLTK tokenize yang sangat penting yang terdiri daripada sub-modul

  1. kata tokenize
  2. tanda ayat

Tokenisasi perkataan

Kami menggunakan kaedah word_tokenize () untuk membagi ayat menjadi perkataan. Keluaran tokenisasi kata dapat ditukar menjadi Data Frame untuk pemahaman teks yang lebih baik dalam aplikasi pembelajaran mesin. Ini juga dapat diberikan sebagai input untuk langkah-langkah pembersihan teks lebih lanjut seperti penghapusan tanda baca, penghapusan karakter angka atau penangkapan. Model pembelajaran mesin memerlukan data berangka untuk dilatih dan membuat ramalan. Tokenisasi kata menjadi bahagian penting dari teks (string) ke penukaran data berangka. Sila baca mengenai Bag of Words atau CountVectorizer. Sila rujuk contoh NLTK tokenize di bawah 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 Kod

  1. modul word_tokenize diimport dari perpustakaan NLTK.
  2. Pemboleh ubah "teks" dimulakan dengan dua ayat.
  3. Pemboleh ubah teks diteruskan dalam modul word_tokenize dan mencetak hasilnya. Modul ini memecah setiap perkataan dengan tanda baca yang dapat anda lihat dalam output.

Tokenisasi Kalimat

Sub-modul yang tersedia untuk perkara di atas dihantar_tokenize. Soalan yang jelas di fikiran anda adalah mengapa tokenisasi ayat diperlukan apabila kita mempunyai pilihan untuk tokenisasi kata . Bayangkan anda perlu mengira rata-rata perkataan setiap ayat, bagaimana anda akan mengira? Untuk menyelesaikan tugas seperti itu, anda memerlukan tokenizer ayat NLTK dan tokenizer kata NLTK untuk mengira nisbah. Output sedemikian berfungsi sebagai ciri penting untuk latihan mesin kerana jawapannya adalah berangka.

Lihat contoh tokenizer NLTK di bawah untuk mengetahui bagaimana tokenisasi ayat berbeza dengan 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 mempunyai 12 perkataan dan dua ayat untuk input yang sama.

Penjelasan program:

  1. Sejajar dengan program sebelumnya, mengimport modul sent_tokenize.
  2. Kami telah mengambil ayat yang sama. Token ayat selanjutnya dalam modul NLTK menguraikan ayat dan menunjukkan output. Jelas bahawa fungsi ini memecah setiap ayat.

Contoh tokenizer Python di atas adalah batu tetapan yang baik untuk memahami mekanik kata dan kalimat ayat.

Ringkasan

  • Tokenization dalam NLP adalah proses di mana sebilangan besar teks dibahagikan kepada bahagian yang lebih kecil yang disebut token.
  • Pemprosesan bahasa semula jadi digunakan untuk membangun aplikasi seperti klasifikasi Teks, chatbot pintar, analisis sentimental, terjemahan bahasa, dll.
  • Toolkit Bahasa Asli mempunyai modul tokenize NLTK modul yang sangat penting yang terdiri daripada sub-modul
  • Kami menggunakan kaedah word_tokenize () untuk membagi ayat menjadi perkataan. Keluaran tokenizer kata dalam NLTK dapat ditukar menjadi Data Frame untuk pemahaman teks yang lebih baik dalam aplikasi pembelajaran mesin.
  • Sub-modul yang tersedia untuk perkara di atas dihantar_tokenize. Token tokenizer di Python NLTK adalah ciri penting untuk latihan mesin.