0Pricing
Learn AI with Python · Pelajaran

Word2Vec: Skip-gram dan CBOW

Teori Word2Vec, implementasi gensim, aritmetika vektor (king - man + woman = queen).

Word2Vec: Skip-gram dan CBOW adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 1 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 Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Dari Kata Menjadi Vektor

Pembelajaran mesin membutuhkan angka, sedangkan kata adalah simbol. Representasi vektor kata memetakan setiap kata ke vektor padat sehingga kata-kata yang serupa berada berdekatan dalam ruang vektor.

Hipotesis Distribusional

Word2Vec bertumpu pada gagasan bahwa kata-kata yang muncul dalam konteks serupa memiliki makna yang serupa. Dengan belajar memprediksi konteks, model menangkap makna dalam vektor.

Dua Arsitektur

Word2Vec memiliki dua skema pelatihan:

  • CBOW memprediksi kata target dari konteks di sekitarnya
  • Skip-gram memprediksi konteks di sekitar kata target

CBOW dibandingkan Skip-gram

CBOW lebih cepat dan bekerja dengan baik pada kata-kata yang sering muncul. Skip-gram lebih lambat, tetapi lebih baik dalam menangani kata-kata langka dan kumpulan data kecil. Skip-gram sering menjadi pilihan bawaan untuk mendapatkan kualitas yang baik.

Pelatihan dengan gensim

Pustaka gensim memudahkan penggunaan Word2Vec. Anda meneruskan sentences yang telah dipecah menjadi token (daftar berisi daftar kata), lalu menetapkan konfigurasi representasi vektornya.

from gensim.models import Word2Vec

sentences = [["the", "cat", "sat"], ["the", "dog", "ran"]]
model = Word2Vec(sentences=sentences, vector_size=100, window=5, min_count=1)

Parameter Utama

Parameter utamanya adalah:

  • vector_size dimensi representasi vektor (misalnya 100-300)
  • window lebar konteks di sekitar setiap kata
  • min_count mengabaikan kata yang kemunculannya lebih jarang daripada nilai ini
from gensim.models import Word2Vec

model = Word2Vec(
    sentences,
    vector_size=200,
    window=5,
    min_count=5,
)

Memilih Skip-gram dengan sg=1

Parameter sg memilih arsitektur: sg=0 menggunakan CBOW (bawaan), sedangkan sg=1 menggunakan skip-gram.

from gensim.models import Word2Vec

model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, sg=1)
# sg=1 -> skip-gram

Mengakses Vektor Kata

Vektor yang telah dilatih tersimpan di model.wv. Gunakan sebuah kata sebagai indeks untuk mendapatkan vektor kata tersebut.

vec = model.wv["cat"]
print(vec.shape)   # (vector_size,)
print("dog" in model.wv)

Menemukan Kata yang Serupa

wv.most_similar mengembalikan kata-kata yang vektornya paling dekat, sehingga Anda dapat dengan cepat memeriksa apa yang dipelajari oleh representasi vektor.

print(model.wv.most_similar("cat", topn=5))
# returns list of (word, similarity) pairs

Aritmetika Kata

Sifat yang terkenal: matematika vektor dapat menangkap hubungan. raja - pria + wanita berada dekat dengan ratu, yang menunjukkan bahwa representasi vektor menyandikan analogi.

result = model.wv.most_similar(
    positive=["king", "woman"],
    negative=["man"],
    topn=1,
)
print(result)   # often [("queen", 0.7...)]

Menggunakan Representasi Vektor untuk Tugas Berikutnya

Untuk merepresentasikan sebuah kalimat, hitung rata-rata vektor katanya, lalu masukkan hasilnya ke pengklasifikasi apa pun. Representasi Word2Vec pralatih juga memberikan titik awal yang baik ketika data Anda sedikit.

import numpy as np

def sentence_vector(words, model):
    vecs = [model.wv[w] for w in words if w in model.wv]
    return np.mean(vecs, axis=0) if vecs else np.zeros(model.vector_size)

Pemeriksaan Singkat

Uji pengetahuan Anda tentang Word2Vec.

Ringkasan

Ringkasan: Word2Vec mempelajari vektor kata padat dari konteks. CBOW memprediksi kata dari konteks (cepat); skip-gram (sg=1) memprediksi konteks dari sebuah kata (lebih baik untuk kata-kata langka). Dalam gensim, tetapkan vector_size, window, dan min_count, lalu gunakan wv.most_similar serta analogi seperti raja - pria + wanita.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Word2Vec: Skip-gram dan CBOW” gratis?

Ya — teks lengkap “Word2Vec: Skip-gram dan CBOW” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Word2Vec: Skip-gram dan CBOW”?

Teori Word2Vec, implementasi gensim, aritmetika vektor (king - man + woman = queen). Kamu berlatih Learn AI with Python 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 Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python 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 1 dari 4.

Berapa lama pelajaran “Word2Vec: Skip-gram dan CBOW” 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 Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python 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. Word2Vec: Skip-gram dan CBOW
  2. Embedding GloVe dan FastText
  3. Klasifikasi Teks dengan BERT
  4. Kemiripan Semantik dan Embedding Kalimat
← Kembali ke Learn AI with Python