NLP Academy · Pelajaran

Fitur N-Gram dalam scikit-learn

Menambahkan frasa ke pengubah vektor Anda

Pelajaran 3 dari 413 langkah

Fitur N-Gram dalam scikit-learn adalah pelajaran NLP Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar NLP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus NLP Academy mencakup 4 pelajaran total.

Biarkan Pustaka yang Mengerjakannya

Anda dapat membuat n-gram secara manual, tetapi scikit-learn dapat membuatnya untuk Anda. Caranya adalah dengan satu argumen kecil pada vectorizer Anda.

Parameter ngram_range

Setiap vectorizer teks menerima ngram_range, sebuah tuple berisi ukuran minimum dan maksimum. Parameter ini memberi tahu vectorizer n-gram mana yang harus dihitung.

from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer(ngram_range=(1, 2))

Unigram adalah Bawaan

Biarkan apa adanya dan ngram_range bernilai (1, 1), yaitu kata tunggal murni. Itulah bag-of-words biasa yang sudah Anda kenal.

Menambahkan Bigram

Atur ngram_range menjadi (1, 2) dan vectorizer akan mempertahankan kata tunggal serta setiap pasangan yang bersebelahan, semuanya dalam satu ruang fitur.

vec = CountVectorizer(ngram_range=(1, 2))
X = vec.fit_transform(["this is not good"])

Hanya Bigram

Ingin menggunakan pasangan saja? Gunakan (2, 2). Kini kata tunggal menghilang dan hanya bigram yang bertahan sebagai fitur.

vec = CountVectorizer(ngram_range=(2, 2))

Periksa Kosakata

Setelah melakukan fit, lihat fitur yang dipelajari dengan get_feature_names_out. Anda akan melihat kata tunggal dan frasa gabungan dalam daftar.

print(vec.get_feature_names_out())
# ['is not', 'not good', 'this is']

Frasa yang Digabungkan dengan Spasi

scikit-learn memberi nama setiap bigram dengan menggabungkan kata-katanya menggunakan satu spasi, seperti tidak baik. String tersebut menjadi satu kolom.

Kenop yang Sama, TF-IDF

ngram_range yang sama juga dapat digunakan pada TfidfVectorizer. Anda akan mendapatkan frasa n-gram yang juga diberi bobot berdasarkan seberapa khas frasa tersebut.

from sklearn.feature_extraction.text import TfidfVectorizer
vec = TfidfVectorizer(ngram_range=(1, 2))

Sekarang Negasi Tetap Terbaca

Dengan bigram diaktifkan, tidak baik masuk ke kolom tersendiri. Pengklasifikasi Anda akhirnya dapat mempelajari bahwa pasangan ini menandakan ulasan negatif.

Perhatikan Jumlah Fitur

Menambahkan bigram dapat meningkatkan jumlah kolom Anda secara drastis. Matriks tetap renggang, tetapi kosakatanya bertambah dengan cepat.

print(X.shape)  # many more columns than unigrams alone

Padukan dengan min_df

Untuk mengendalikan pembengkakan tersebut, padukan ngram_range dengan min_df. Menghapus frasa yang jarang muncul akan menyisakan hanya n-gram yang berulang secara bermanfaat.

vec = CountVectorizer(ngram_range=(1, 2), min_df=2)

Pemeriksaan Singkat

Nilai ngram_range mana yang memberi Anda kata tunggal sekaligus pasangan kata berurutan dalam satu vektorisator?

Ringkasan: N-Gram di scikit-learn

Satu tuple ngram_range mengubah vektorisator apa pun menjadi mesin n-gram. Periksa fitur-fitur tersebut, lalu kurangi dengan min_df. Selanjutnya Anda akan memilih rentang yang tepat. 🎯

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Fitur N-Gram dalam scikit-learn” gratis?

Ya — teks lengkap “Fitur N-Gram dalam scikit-learn” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus NLP Academy, upgrade ke CoddyKit PRO. Kursus NLP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Fitur N-Gram dalam scikit-learn”?

Menambahkan frasa ke pengubah vektor Anda Kamu berlatih NLP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai NLP Academy?

Tidak diperlukan pengalaman sebelumnya. NLP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Fitur N-Gram dalam scikit-learn” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran NLP Academy ini?

Ya. Setiap pelajaran NLP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengapa Satu Kata Kehilangan Makna
  2. Bigrams dan Trigrams, Dijelaskan
  3. Fitur N-Gram dalam scikit-learn
  4. Memilih Rentang N-Gram yang Tepat
← Kembali ke NLP Academy