Word Embedding: Merepresentasikan Kata sebagai Vektor
Setelah mempelajari intuisi word embedding, sekarang mari kita pelajari secara detail bagaimana kata-kata diubah menjadi vektor numerik yang dapat dipahami oleh mesin.
Dalam pembelajaran ini, kita akan menjelajahi berbagai metode untuk merepresentasikan kata, mulai dari yang paling sederhana hingga yang paling canggih:
- ASCII Encoding - Cara paling dasar komputer menyimpan teks
- One-Hot Encoding - Representasi tradisional untuk NLP
- Word Embedding - Representasi modern yang menangkap makna
- Simulasi Interaktif - Eksplorasi praktis dengan visualisasi
ASCII Encoding
ASCII (American Standard Code for Information Interchange) adalah sistem encoding karakter paling dasar. Setiap karakter direpresentasikan dengan angka.
Misalnya, kata "Hello" disimpan sebagai vektor:
Masalah ASCII untuk NLP
ASCII memiliki beberapa keterbatasan untuk pemrosesan bahasa alami:
- Tidak menangkap arti kata - "good" dan "great" memiliki arti mirip tapi direpresentasikan sangat berbeda
- Tidak menangkap relasi antar kata - "good" dan "bad" adalah antonim tapi tidak ada hubungan dalam representasi ASCII
One-Hot Encoding
One-Hot Encoding adalah cara merepresentasikan kata sebagai vektor angka.
Setiap kata mendapat posisi/indeks unik dalam vocabulary, lalu dibuatkan vektor
yang bernilai 1
hanya di posisi kata tersebut, dan 0
di semua posisi lainnya.
Kalimat: "the cat sat on the mat" β 5 kata unik
| Kata |
0 the |
1 cat |
2 sat |
3 on |
4 mat |
Vektor |
|---|---|---|---|---|---|---|
| the #0 | 1 | 0 | 0 | 0 | 0 | [1, 0, 0, 0, 0] |
| cat #1 | 0 | 1 | 0 | 0 | 0 | [0, 1, 0, 0, 0] |
| sat #2 | 0 | 0 | 1 | 0 | 0 | [0, 0, 1, 0, 0] |
| on #3 | 0 | 0 | 0 | 1 | 0 | [0, 0, 0, 1, 0] |
| mat #4 | 0 | 0 | 0 | 0 | 1 | [0, 0, 0, 0, 1] |
π‘ Perhatikan pola diagonal β setiap kata hanya punya satu 1 di seluruh vektornya.
Jumlahkan semua vektor one-hot dari setiap kata dalam kalimat β dapat 1 vektor per kalimat.
| Kata | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| the | 1 | 0 | 0 | 0 | 0 |
| cat | 0 | 1 | 0 | 0 | 0 |
| sat | 0 | 0 | 1 | 0 | 0 |
| Ξ£ Kalimat | 1 | 1 | 1 | 0 | 0 |
π» Praktik Word Embedding
Eksplorasi One-Hot Encoding, Word Embedding, dan analogi kata secara interaktif di Google Colab
Buka di Google ColabMasalah One-Hot Encoding
Meskipun One-Hot Encoding lebih baik dari ASCII, metode ini memiliki beberapa kelemahan serius:
- Dimensi sangat besar - Jika vocabulary memiliki 10,000 kata, setiap kata direpresentasikan dengan vektor 10,000 dimensi
- Vektor sangat sparse - Hanya satu elemen bernilai 1, sisanya 0. Ini sangat boros memori
- Tidak ada relasi antar kata - "king" dan "queen" direpresentasikan sama independennya dengan "king" dan "apple"
Keunggulan Word Embedding
Word Embedding mengatasi semua kelemahan One-Hot Encoding dengan pendekatan yang lebih cerdas:
- Vektor lebih kecil - Biasanya 50-300 dimensi, bukan ribuan
- Vektor dense - Semua nilai bermakna, tidak ada yang terbuang
- Menangkap relasi semantik - Kata mirip memiliki vektor yang dekat
Relasi yang Ditangkap
Word embedding dapat menangkap berbagai jenis relasi:
Sinonim: Kata dengan arti mirip memiliki vektor yang mirip
Analogi: king - man + woman β queen
Relasi tematik: Paris, Rome, Berlin semua dekat (ibukota Eropa)
Simulasi: ASCII Encoding
Mari kita lihat bagaimana teks diubah menjadi kode ASCII:
Setiap karakter memiliki kode ASCII unik. Contoh: 'H' = 72, 'e' = 101, 'l' = 108, 'o' = 111
Simulasi: One-Hot Encoding
Ketik kalimat di bawah. Lihat bagaimana setiap kata mendapatkan posisi unik dalam vocabulary, diubah menjadi vektor one-hot, lalu dijumlahkan menjadi vektor kalimat.
Simulasi: Memahami Vektor
Vektor memiliki magnitude (besar) dan arah. Eksplorasi dengan slider di bawah:
Vektor A
Vektor B
Cosine similarity mengukur sudut antar vektor, bukan jarak. Nilai 1 = arah sama, 0 = tegak lurus, -1 = berlawanan.
Simulasi: Visualisasi Kata
Kata dengan makna serupa memiliki vektor yang berdekatan dalam ruang vektor:
Kata-kata Terdekat:
Visualisasi 2D ini adalah proyeksi dari ruang berdimensi tinggi. Kata yang dekat memiliki makna atau konteks penggunaan yang serupa.
Simulasi: Analogi Kata
Word embedding memungkinkan kita melakukan "matematika" pada kata. Contoh klasik: Raja - Pria + Wanita = Ratu
Rangkuman: Word Embedding
Selamat! Anda telah mempelajari evolusi representasi teks dari ASCII hingga Word Embedding modern.
Poin-Poin Penting
- ASCII: Encoding paling dasar, karakter ke angka
- One-Hot: Vektor sparse per kata, tidak menangkap relasi
- Bag of Words: Jumlah one-hot per kata β 1 dokumen = 1 vektor
- Word Embedding: Dense, efisien, dan semantic
- Relasi Semantik: Kata mirip memiliki vektor yang dekat
- Analogi: Operasi matematika pada kata mengungkap relasi
- Konteks: Kata yang muncul dalam konteks serupa memiliki embedding serupa
Perjalanan Representasi Teks
ASCII β Sederhana tapi tidak semantic
One-Hot β Sparse dan boros (level kata)
Bag of Words β 1 dokumen = 1 vektor, tapi urutan & makna hilang
Word Embedding β Dense, efisien, dan semantic