Fitur N-Gram dalam scikit-learn
Menambahkan frasa ke pengubah vektor Anda
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 alonePadukan 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. 🎯
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
- Mengapa Satu Kata Kehilangan Makna
- Bigrams dan Trigrams, Dijelaskan
- Fitur N-Gram dalam scikit-learn
- Memilih Rentang N-Gram yang Tepat