Pelajari AI dengan Python · Pelajaran

Word2Vec: Skip-gram dan CBOW

Teori Word2Vec, pelaksanaan gensim, aritmetik vektor (king - man + woman = queen).

Pelajaran 1 daripada 413 langkah

Word2Vec: Skip-gram dan CBOW ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Daripada Perkataan kepada Vektor

Pembelajaran mesin memerlukan nombor, tetapi perkataan ialah simbol. Pembenaman perkataan memetakan setiap perkataan kepada vektor padat supaya perkataan yang serupa berada berdekatan dalam ruang vektor.

Hipotesis Pengagihan

Word2Vec berasaskan idea bahawa perkataan yang muncul dalam konteks serupa mempunyai makna yang serupa. Dengan belajar meramalkan konteks, model menangkap makna dalam vektor.

Dua Seni Bina

Word2Vec mempunyai dua skema latihan:

  • CBOW meramalkan perkataan sasaran daripada konteks di sekelilingnya
  • Skip-gram meramalkan konteks di sekeliling daripada perkataan sasaran

CBOW berbanding Skip-gram

CBOW lebih pantas dan berfungsi dengan baik untuk perkataan yang kerap muncul. Skip-gram lebih perlahan tetapi mengendalikan perkataan jarang dan set data kecil dengan lebih baik. Skip-gram sering menjadi pilihan lalai untuk mendapatkan kualiti yang baik.

Latihan dengan gensim

Pustaka gensim memudahkan penggunaan Word2Vec. Anda memberikan sentences yang telah ditokenkan (senarai senarai perkataan) dan menetapkan konfigurasi pembenaman.

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

Pelaras utama ialah:

  • vector_size dimensi pembenaman (contohnya 100-300)
  • window lebar konteks di sekeliling setiap perkataan
  • min_count abaikan perkataan yang 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 seni bina: sg=0 menggunakan CBOW (lalai), manakala 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 Perkataan

Vektor terlatih berada dalam model.wv. Indekskannya menggunakan suatu perkataan untuk mendapatkan vektor perkataan tersebut.

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

Mencari Perkataan yang Serupa

wv.most_similar mengembalikan perkataan yang vektornya paling hampir, iaitu cara pantas untuk meneliti perkara yang dipelajari oleh pembenaman.

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

Aritmetik Perkataan

Sifat yang terkenal ini menunjukkan bahawa matematik vektor dapat menangkap hubungan. raja - lelaki + wanita berada berdekatan dengan permaisuri, menunjukkan bahawa pembenaman mengekod analogi.

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

Menggunakan Pembenaman untuk Tugas Lanjutan

Untuk mewakili suatu ayat, puratakan vektor perkataannya, kemudian masukkan hasilnya ke dalam mana-mana pengelas. Pembenaman Word2Vec pralatih juga memberikan titik permulaan yang baik apabila 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)

Semakan Pantas

Uji pengetahuan anda tentang Word2Vec.

Ringkasan

Ringkasan: Word2Vec mempelajari vektor perkataan padat daripada konteks. CBOW meramalkan perkataan daripada konteks (pantas); skip-gram (sg=1) meramalkan konteks daripada perkataan (lebih baik untuk perkataan jarang). Dalam gensim, tetapkan vector_size, window dan min_count, kemudian gunakan wv.most_similar serta analogi seperti raja - lelaki + wanita.

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
225

Soalan Lazim

Adakah pelajaran “Word2Vec: Skip-gram dan CBOW” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Word2Vec: Skip-gram dan CBOW”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Word2Vec: Skip-gram dan CBOW”?

Teori Word2Vec, pelaksanaan gensim, aritmetik vektor (king - man + woman = queen). Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Word2Vec: Skip-gram dan CBOW” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?

Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Word2Vec: Skip-gram dan CBOW
  2. Benaman GloVe dan FastText
  3. Pengelasan Teks dengan BERT
  4. Keserupaan Semantik dan Benaman Ayat
← Kembali ke Pelajari AI dengan Python