Saya mengalami masalah dalam memahami model skip-gram dari algoritma Word2Vec.
Dalam kata-kata kontinyu mudah untuk melihat bagaimana kata konteks dapat "cocok" di Neural Network, karena Anda pada dasarnya meratakannya setelah mengalikan masing-masing representasi pengodean satu-panas dengan matriks input W.
Namun, dalam kasus lompatan-gram, Anda hanya mendapatkan vektor kata input dengan mengalikan encoding satu-panas dengan matriks input dan kemudian Anda seharusnya mendapatkan representasi vektor C (= ukuran jendela) untuk kata konteks dengan mengalikan representasi vektor input dengan matriks output W '.
Yang saya maksud adalah, memiliki kosakata ukuran dan pengkodean ukuran N , W ∈ R V × N matriks masukan dan W ′ ∈ R N × V sebagai matriks keluaran. Diberi kata w i dengan pengkodean satu-panas x i dengan kata konteks w j dan w h (dengan repetisi satu-panas x j dan x h ), jika Anda mengalikan x i dengan matriks input W Anda mendapatkan h , sekarang bagaimana Anda menghasilkanvektor skor C dari ini?
sumber
Dalam kedua model, nilai output tergantung pada fungsi skor yang Anda gunakan. Mungkin ada dua fungsi skor softmax atau pengambilan sampel negatif. Jadi, Anda menggunakan fungsi skor softmax. Anda akan mendapatkan ukuran fungsi skor N * D. Di sini D adalah dimensi vektor kata. N adalah jumlah contoh. Setiap kata seperti kelas dalam arsitektur jaringan syaraf.
sumber
Skor untuk setiap kata dihitung dengan persamaan berikut.
sumber