Tujuan utama dari penyematan kata adalah untuk merepresentasikan kata-kata dengan cara yang dapat menangkap hubungan semantik dan informasi kontekstualnya. Vektor-vektor ini merupakan representasi numerik dalam ruang vektor kontinu, tempat posisi relatif vektor mencerminkan kemiripan semantik dan hubungan antar kata.
Alasan vektor digunakan untuk merepresentasikan kata adalah karena sebagian besar algoritma machine learning, termasuk neural network, tidak mampu memproses teks biasa dalam bentuk mentahnya. Mereka membutuhkan angka sebagai input untuk melakukan tugas apa pun.
Proses pembuatan penyematan kata melibatkan pelatihan model pada korpus teks yang besar (misalnya, Wikipedia atau Google News). Korpus diproses sebelumnya dengan mengubah teks menjadi kata-kata, menghapus kata-kata penghambat dan tanda baca, serta melakukan tugas-tugas pembersihan teks lainnya.
Jendela konteks geser diterapkan pada teks, dan untuk setiap kata target, kata-kata di sekitar jendela dianggap sebagai kata konteks. Model penyematan kata dilatih untuk memprediksi kata target berdasarkan konteks kata atau sebaliknya.
Hal ini memungkinkan model untuk menangkap pola linguistik yang beragam dan menetapkan setiap kata sebagai vektor unik, yang mewakili posisi kata dalam ruang vektor yang kontinu. Kata-kata yang memiliki arti yang sama diposisikan berdekatan satu sama lain, dan jarak serta arah antara vektor mengkodekan tingkat kemiripan.
Proses pelatihan melibatkan penyesuaian parameter model penyematan untuk meminimalkan perbedaan antara kata yang diprediksi dan kata yang sebenarnya dalam konteks.
Berikut adalah contoh penyematan kata yang disederhanakan untuk korpus yang sangat kecil (6 kata), dengan setiap kata direpresentasikan sebagai vektor 3 dimensi:
cat [0.2, -0.4, 0.7]
dog [0.6, 0.1, 0.5]
apple [0.8, -0.2, -0.3]
orange [0.7, -0.1, -0.6]
happy [-0.5, 0.9, 0.2]
sad [0.4, -0.7, -0.5]
Dalam contoh ini, setiap kata (misalnya, "kucing", "anjing", "apel") dikaitkan dengan vektor unik. Nilai-nilai dalam vektor mewakili posisi kata dalam ruang vektor 3 dimensi kontinu. Kata-kata dengan arti atau konteks yang sama diharapkan memiliki representasi vektor yang serupa. Misalnya, vektor untuk "kucing" dan "anjing" berdekatan, mencerminkan hubungan semantik mereka. Demikian juga, vektor untuk "senang" dan "sedih" memiliki arah yang berlawanan, menunjukkan makna yang kontras.
Contoh di atas sangat disederhanakan untuk tujuan ilustrasi. Penyematan kata yang sebenarnya biasanya memiliki ratusan dimensi untuk menangkap hubungan yang lebih rumit dan perbedaan makna.