Word Vector Representation: Word2Vec & Glove
Konsep Dasar Machine Learning
Apa itu Word Vector Representation? Jika kita mengikuti berbagai perkembangan ilmu Computer Science akhir-akhir ini, kita pasti sering mendengar istilah tersebut.
Dalam environment keilmuan Computer Science, sudah pasti kita tidak bisa lepas dari Machine Learning. Machine learning merupakan salah satu varian dari sistem kecerdasan buatan yang memungkinkan komputer dapat belajar tanpa diprogram secara eksplisit. Secara umum, pekerjaan machine learning yang seringkali digunakan adalah untuk mengklasifikasikan satu permasalahan menjadi beberapa kelompok. Analogi sederhananya sebagai berikut, sejak kecil seorang anak diajarkan oleh orang tuanya mengenai apa saja tindakan yang benar dan apa saja yang tindakan yang salah. Ketika anak tersebut beranjak dewasa, secara otomatis dia akan mengerti mana yang benar dan salah. Sama halnya, ketika komputer diberikan pembelajaran maka komputer akan semakin cerdas dan bisa membedakan antara kelas yang satu dengan yang lainnya.
Contoh task paling sederhananya adalah sentiment analysis. Sentiment analysis adalah satu usaha di bidang machine learning untuk menilai bagaimana penilaian publik atau kelompok orang tertentu terhadap objek yang diobservasi. Biasanya, klasifikasinya dibagi menjadi 2, yaitu positif dan negatif. Supaya mudah dipahami, saya contohkan produk iPhone7 yang baru dipasarkan di dunia. Kita bisa melakukan sentiment analysis bagaimana masyarakat menerima produk tersebut dengan mempelajari segala komentar yang ada di social media dengan hashtag iPhone7 (#iphone7). Harapannya dari sentiment analysis adalah user bisa mengetahui bagaimana penilaian publik terhadap suatu objek yang kita observasi.
Dalam melakukan pembelajaran terhadap suatu objek, kita butuh mengambil ciri-ciri dari objek tersebut. Pada domain machine learning, ciri-ciri lebih akrab disebut sebagai feature. Jika kita membaca literatur dari paper-paper ilmiah, banyak feature yang sudah didefinisikan oleh para peneliti dalam usaha meningkatkan keakuratan machine learning. Dalam beberapa tahun belakangan ini, ada magnet tersendiri pada berbagai penelitian di area machine learning ke arah deep learning. Artikel ini tidak akan membahas apa dan bagaimana deep learning dilakukan, namun akan berfokus pada word vector representation yang merupakan hasil dari deep learning.
Word Vector Representation
Sebagaimana sudah disebutkan sebelumnya, komputer bisa mempelajari karakter dari data melalui feature extraction. Bebagai jenis feature diambil dari data, kemudian dilakukan pembelajaran secara khusus pada feature tersebut. Word vector representation merupakan hasil pembelajaran dari algoritma deep learning. Setiap kata memiliki vektor yang mewakili makna dari kata tersebut. Bentuk vektornya bervariasi dalam hal dimensinya. Word vector representation akrab juga disebut dengan terminologi: “word embeddings”
Word2Vec merupakan nama word vector representation yang dibuat oleh Google (https://code.google.com/archive/p/word2vec/). Sebagai gambaran bahwa vektor dari Word2Vec ini bisa mewakili makna dari sebuah kata, kita bisa mengukur beberapa vektor sebagai perbandingan. Apabila kita mengukur jarak antara vektor kata “France” dengan “Paris” dan vektor kata “Italy” dengan “Rome”, maka akan ditemukan bahwa jaraknya akan muncul pada angka yang berdekatan. Hal ini dikarenakan secara mendasar kedua kata tersebut sama-sama merupakan nama negara dan ibukotanya. Karena maknanya berdekatan, maka nilai vektornya pun akan berdekatan.
Beberapa pasangan kata pada word embeddings yang didefinisikan oleh Mikolov (2013) pada papernya yang bisa dilihat pada link: https://www.aclweb.org/anthology/N/N13/N13-1090.pdf
Senada dengan yang dikerjakan oleh Mikolov dari Google, Stanford University juga melakukan training pada korpus yang besar untuk menghasilkan word embeddings. Word embeddings yang dihasilkan oleh Stanford ini dinamakan dengan Glove (http://nlp.stanford.edu/projects/glove/). Jika pada Word2Vec dimensi vektornya adalah 300, pada Glove memiliki beberapa variasi dimensi vektornya yaitu 50, 100, 200 hingga 300. Untuk lebih memperjelas bentuk vektor dalam word vector representation, berikut ini contoh vektor yang terdapat pada Glove dengan dimensi 50:
Tergambarkan pada contoh di atas, setiap kata dicirikan dengan 50 angka yang merupakan hasil pelatihan dengan menggunakan algoritma deep learning. Karena keunikannya dalam mendefinisikan arti dari kata, beberapa literatur menyebutkan bahwa word embeddings ini merupakan universal feature extractor.
Untuk memperoleh pemahaman lebih lanjut mengenal Word Vector Representation/Word Embeddings, silakan bisa membaca beberapa artikel berikut ini: