Embedding: Latihan interaktif

Widget berikut, berdasarkan Embedding Projector TensorFlow, meratakan 10.000 vektor statis word2vec ke dalam ruang 3D. Penyusutan dimensi ini dapat membingungkan, karena titik yang berdekatan satu sama lain di ruang berdimensi tinggi aslinya mungkin akan berjarak sangat jauh dalam proyeksi 3D. Titik n terdekat ditandai dengan warna ungu, dengan n dipilih oleh pengguna di Isolate __ points. Sidebar di sebelah kanan menunjukkan tetangga yang paling berdekatan.

Dalam kursus ini, Anda akan bereksperimen dengan embedding word2vec pada widget di atas.

Tugas 1

Coba temukan 20 tetangga terdekat untuk item berikut, dan lihat di mana posisi kelompok tersebut dalam cloud.

  • iii, third, dan three
  • tao dan way
  • orange, yellow, dan juice

Apa kesimpulan yang bisa diambil dari hasil ini?

Klik di sini untuk melihat jawabannya

Meskipun iii, third, dan three mirip secara semantik, ketiganya muncul dalam konteks yang berbeda dalam teks dan posisinya ternyata tidak saling berdekatan dalam ruang sematan ini. Di word2vec, iii lebih dekat dengan iv daripada dengan third.

Demikian juga, meskipun way merupakan terjemahan langsung dari tao, kedua kata ini sering kali digunakan dalam konteks yang sepenuhnya berbeda dalam set data yang digunakan, sehingga dua vektor tersebut posisinya sangat berjauhan.

Beberapa tetangga yang paling dekat dengan orange adalah kumpulan warna, tetapi juice dan peel, yang berkaitan dengan makna orange sebagai buah-buahan, berada di posisi tetangga terdekat ke-14 dan ke-18. Sedangkan prince, seperti dalam gelar Pangeran Oranye, berada di posisi ke-17. Dalam proyeksinya, kata-kata yang terdekat dengan orange adalah yellow dan warna lainnya, sedangkan kata terdekat dengan juice tidak mencakup orange.

Tugas 2

Coba cari tahu beberapa karakteristik dari data pelatihan. Misalnya, coba temukan 100 tetangga terdekat untuk item berikut, dan lihat di mana posisi kelompok tersebut pada cloud:

  • boston, paris, tokyo, delhi, moscow, dan seoul (ini pertanyaan jebakan)
  • jane, sarah, john, peter, rosa, dan juan

Klik di sini untuk melihat jawabannya

Sebagian besar tetangga terdekat dari boston adalah kota lain di Amerika Serikat. Sebagian besar tetangga terdekat dari paris adalah kota lain di Eropa. tokyo dan delhi tampaknya tidak memiliki hasil yang mirip: yang satu berkaitan dengan kota lain di dunia yang merupakan pusat pariwisata, sedangkan satunya berkaitan dengan india dan kata lain yang terkait. seoul sama sekali tidak muncul dalam serangkaian vektor kata yang sudah dipangkas ini.

Sepertinya set data ini berisi banyak dokumen yang terkait dengan geografi nasional Amerika Serikat, beberapa dokumen terkait geografi regional Eropa, dan tidak banyak rincian mendetail terkait negara atau wilayah lain.

Demikian juga, set data ini sepertinya berisi banyak nama laki-laki dan perempuan dalam bahasa Inggris, dan sebagian kecil nama-nama orang dari bahasa lain. Sebagai catatan, Don Rosa adalah penulis dan pembuat ilustrasi komik Scrooge McDuck untuk Disney, yang mungkin menjadi alasan `scrooge` dan `mcduck` merupakan tetangga yang paling dekat dengan `rosa`.

Faktanya, vektor kata yang telah dilatih sebelumnya yang disediakan oleh word2vec memang dilatih berdasarkan artikel Google Berita hingga tahun 2013.

Tugas 3

Embedding tidak hanya terbatas untuk kata-kata. Gambar, audio, dan data lain juga dapat dijadikan embedding. Untuk tugas ini:

  1. Buka Embedding Projector TensorFlow.
  2. Pada sidebar sebelah kiri bernama Data, pilih Mnist with images. Tindakan ini akan menampilkan proyeksi embedding dari database MNIST yang berisi angka-angka yang ditulis tangan.
  3. Klik untuk menghentikan rotasi, lalu pilih satu gambar. Perbesar atau perkecil sesuai kebutuhan.
  4. Lihat tetangga terdekat di sidebar sebelah kanan. Apakah ada hal yang menarik?
  • Mengapa beberapa angka 7 berdekatan dengan beberapa angka 1? Mengapa 9 menjadi tetangga terdekat dari beberapa angka 8?
  • Perhatikan apakah ada yang menarik pada gambar-gambar di tepi ruang proyeksi yang tampak berbeda dari gambar-gambar yang berada di tengah ruang proyeksi?

Perlu diingat bahwa model yang membuat embedding ini menerima data gambar, yang berarti piksel, dan memilih representasi vektor numerik untuk setiap gambar. Model tersebut tidak membuat asosiasi mental otomatis antara gambar angka yang ditulis tangan dan angka numerik itu sendiri.

Klik di sini untuk melihat jawabannya

Karena bentuknya mirip, representasi vektor dari beberapa angka 7 dengan bentuk lebih tipis dan pipih diletakkan lebih dekat dengan vektor untuk angka 1 yang ditulis tangan. Demikian juga untuk beberapa angka 8 dan 9, bahkan untuk angka 5 dan 3.

Angka yang ditulis tangan yang berada di luar ruang proyeksi tampak jauh lebih jelas sebagai salah satu dari sembilan angka dan sangat berbeda dari kemungkinan angka lain.