Apa itu Word2Vec?
Word2Vec adalah keluarga model neural network dangkal yang mempelajari dense vector, atau embedding, untuk setiap kata dalam kosakata dari teks mentah. Training-nya memakai tugas prediksi yang sederhana: tebak sebuah kata dari tetangganya, atau tebak tetangganya dari kata itu. Setelah training, kata yang dipakai dalam konteks serupa mendapat vector yang serupa.
Word2Vec dirilis oleh Tomas Mikolov dan rekan-rekannya di Google pada 2013, dengan dua arsitektur, CBOW dan skip-gram, serta sejumlah trik training yang membuatnya cepat pada miliaran kata. Vector-nya menjadi input standar untuk classifier teks, named entity recognizer, dan sistem pencarian, dan hasil terkenal king − man + woman ≈ queen menunjukkan bahwa vector itu menyimpan hubungan antarkata. Ide yang sama, yaitu mempelajari embedding dari konteks, menjadi layer pertama setiap model bahasa modern.
Ide utama
- Word2Vec mempelajari satu dense vector per kata dari kata-kata di sekitarnya.
- Kata yang muncul dalam konteks serupa mendapat vector yang menunjuk ke arah serupa.
- Skip-gram memprediksi konteks dari sebuah kata; CBOW memprediksi sebuah kata dari konteksnya.
- Negative sampling mengganti softmax penuh yang mahal dengan beberapa keputusan biner per pasangan.
- Selisih antar-vector menyimpan hubungan, sehingga king − man + woman mendarat di dekat queen.
- Vector Word2Vec bersifat statis: setiap kata punya satu vector, di kalimat apa pun kata itu muncul.
Pertanyaan umum
Apa bedanya Word2Vec dan GloVe?
Word2Vec belajar dari window lokal dan memperbarui vector satu pasangan (kata, konteks) setiap kali. GloVe, dari Stanford pada 2014, lebih dulu menghitung seberapa sering setiap pasangan kata muncul bersama di seluruh korpus, lalu mencocokkan vector yang dot product-nya sesuai dengan log jumlah itu. Vector yang dihasilkan berperilaku mirip, dan mana yang lebih unggul bergantung pada tugas dan data training-nya.
Berapa dimensi vector Word2Vec?
Biasanya 100 sampai 300. Vector Google News yang banyak dipakai dan dirilis bersama makalahnya punya 300 dimensi untuk 3 juta kata dan frasa. Ukuran yang lebih besar hanya membantu kalau teks training-nya cukup banyak untuk mengisinya.
Apakah Word2Vec termasuk deep learning?
Tidak dalam arti yang biasa. Ini model linear dua layer: pencarian embedding diikuti output layer, tanpa non-linearitas tersembunyi. Kontribusinya adalah menunjukkan bahwa network yang sangat sederhana, jika dilatih dengan teks dalam jumlah besar, mempelajari representasi yang berguna.
Apakah word embedding mengandung bias?
Ya. Embedding mempelajari asosiasi apa pun yang ada di teks training-nya, termasuk stereotip. Bolukbasi dkk. (2016) menemukan bahwa vector Google News melengkapi "man is to computer programmer as woman is to" dengan "homemaker", dan mengusulkan metode untuk mengurangi arah gender semacam itu.
Penjelasan terkait
- Embedding · Mengubah kata dan kategori menjadi vector
- CBOW (Continuous Bag of Words) · Memprediksi kata pusat dari konteksnya: arsitektur perata-rataan di balik Word2Vec
- Skip-gram · Memprediksi kata konteks dari kata pusat: arsitektur Word2Vec yang dilatih dengan negative sampling
- Norm dan Metrik Jarak · L1, L2, cosine similarity: cara mengukur kedekatan di ruang vector
- BERT dan Masked Language Modeling · Sembunyikan satu kata, prediksi dari dua sisi: cara BERT mempelajari representasi bidirectional yang dalam
- Named Entity Recognition · Mengenali dan mengklasifikasikan named entity (orang, tempat, organisasi) dalam teks
Referensi
- Mikolov et al. (2013), "Efficient Estimation of Word Representations in Vector Space"
- Mikolov et al. (2013), "Distributed Representations of Words and Phrases and their Compositionality", NeurIPS
- Pennington, Socher & Manning (2014), "GloVe: Global Vectors for Word Representation", EMNLP
- Bolukbasi et al. (2016), "Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings"
- Jurafsky & Martin, "Speech and Language Processing" (3rd ed. draft)
Terakhir diperbarui