Apa matriks fitur di word2vec?

10

Saya seorang pemula dalam jaringan saraf dan saat ini saya sedang mengeksplorasi model word2vec. Namun saya mengalami kesulitan untuk memahami apa sebenarnya fitur matriks.

masukkan deskripsi gambar di sini

Saya bisa mengerti bahwa matriks pertama adalah vektor pengodean satu-panas untuk kata tertentu, tetapi apa yang ditandakan oleh matriks kedua? Lebih khusus lagi, apa arti dari masing-masing nilai tersebut (mis. 17, 24, 1 dll) artinya?

Satrajit Maitra
sumber
Saya memiliki pertanyaan tentang W yang dibuat oleh google, dapatkah Anda memberi saya informasi lebih lanjut tentang nilai yang diberikan oleh google? fitur apa yang digunakan? Terima kasih atas bantuan Anda.
hambi

Jawaban:

8

Ide di balik word2vec adalah untuk mewakili kata-kata dengan vektor bilangan real dimensi d . Oleh karena itu matriks kedua adalah representasi dari kata-kata itu.

Baris ke- i dari matriks ini adalah representasi vektor dari kata ke- i .

Katakanlah pada contoh Anda, Anda memiliki 5 kata: ["Singa", "Kucing", "Anjing", "Kuda", "Tikus"], maka vektor pertama [0,0,0,1,0] berarti Anda sedang mempertimbangkan kata "Kuda" dan representasi "Kuda" adalah [10, 12, 19]. Demikian pula, [17, 24, 1] adalah representasi dari kata "Singa".

Sejauh pengetahuan saya, tidak ada "makna manusiawi" khusus untuk masing-masing angka dalam representasi ini. Satu angka tidak mewakili apakah kata itu kata kerja atau bukan, kata sifat atau tidak ... Hanya bobot yang Anda ubah untuk menyelesaikan masalah pengoptimalan Anda untuk mempelajari representasi kata-kata Anda.

Tutorial ini dapat membantu: http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/ meskipun saya pikir gambar yang Anda masukkan berasal dari tautan ini.

Anda juga dapat memeriksa ini, yang dapat membantu Anda memulai dengan vektor kata dengan TensorFlow: https://www.tensorflow.org/tutorials/word2vec

Pierre L.
sumber
5

TL; DR :

Matriks pertama mewakili vektor input dalam satu format panas

Matriks kedua mewakili bobot sinaptik dari neuron lapisan input ke neuron lapisan tersembunyi

Versi yang lebih panjang :

"Apa sebenarnya fitur matriksnya"

Sepertinya Anda belum memahami representasi dengan benar. Matriks itu bukan matriks fitur tetapi matriks berat untuk jaringan saraf. Perhatikan gambar yang diberikan di bawah ini. Terutama perhatikan sudut kiri atas di mana matriks Lapisan Input dikalikan dengan matriks Berat. masukkan deskripsi gambar di sini

Sekarang lihat di kanan atas. InputLayer multiplikasi matriks multiplikasi ini diproduksi dengan Weights Transpose hanyalah cara praktis untuk mewakili jaringan saraf di kanan atas.

Jadi, untuk menjawab pertanyaan Anda, persamaan yang Anda posting hanyalah representasi matematis untuk jaringan saraf yang digunakan dalam algoritma Word2Vec.

Bagian pertama, [0 0 0 1 0 ... 0] mewakili kata input sebagai satu vektor panas dan matriks lainnya mewakili bobot untuk koneksi masing-masing neuron lapisan input ke neuron lapisan tersembunyi.

Saat Word2Vec berlatih, ia mempropagandakan bobot ini dan mengubahnya untuk memberikan representasi kata yang lebih baik sebagai vektor.

Setelah pelatihan selesai, Anda hanya menggunakan matriks berat ini, ambil [0 0 1 0 0 ... 0] untuk mengatakan 'anjing' dan kalikan dengan matriks bobot yang ditingkatkan untuk mendapatkan representasi vektor 'anjing' dalam dimensi = tidak ada neuron lapisan tersembunyi.

Dalam diagram yang telah Anda sajikan, jumlah neuron lapisan tersembunyi adalah 3

Jadi sisi kanan pada dasarnya adalah kata vektor.

Kredit Gambar: http://www.datasciencecentral.com/profiles/blogs/matrix-multiplication-in-neural-networks

aneesh joshi
sumber