Word2vec
Word2vec merupakan sebuah tools yang digunakan untuk merepresentasikan sebuah text menjadi vector. Word2vec mengimplementasikan arsitektur Skip Gram dan CBOW (Continius Bag of Words) untunk menentukan nilai vector suatu kalimat dalam text (Mikolov, 2013). Vector tersebut dapat digunakan dan digabungkan dengan Natural Language Processing untuk penelitian lebih lanjut.
Skip Gram merupakan sebuah sebuah arsitektur dalam menentukan nilai vector suatu kata dengan memprediksi kata-kata yang mungkin muncul jika diberikan suatu kata sebagai input-nya. Persamaan matematika dari Skip Gram ditunjukkan pada persamaan 1.
Q= NxD +DxLog2 (V), dimana
Q = Jarak anatara vektor
D = Representasi kata dalam vektor
V = Vector data training
Word2vec digunakan untuk merepresentasikan setiap kata-kata menjadi sebuah vector. Data yang telah selesai dilakukan proses cleansing akan dipecah ke struktur terkecilnya yaitu per kata dan dijadikan array per kata-katanya. Proses ini dinamakan “tokenize”. Cara paling umum yang digunakan adalah dengan memecah masing-masing kalimat dengan karakter spasi. Sebagai contoh : “The quick brown fox jumps over the lazy dog”. Kalimat ini jika dilakukan training menggunakan word2vec, sebagai contoh jika akan dihitung jarak antara kata dengan rentang 2 kata akan menjadi:
The [quick] [brown]
[The] quick [brown] [fox]
[The] [quick] brown [fox] [jumps]
The [quick] [brown] fox [jumps] [over]
data tersebut akan di training dan didapatkan vector hubungan antara kata dengan cetak tebal dengan kata di sekitarnya dan direpresentasikan dalam bentuk vector. Training data dilakukan setelah data tersebut dikonversikan menjadi angka, jadi masing-masing kata dalam contoh diatas akan diperlakukan seperti angka dan direpresentasikan dalam bentuk vector.
Data yang telah dipisah-pisah berdasarkan skor kemudian dilakukan proses tokenize. Data tersebut kemudian di-training untuk mendapatkan model nya dan akan didapatkan hasil berupa representasi vector dari dataset berupa angka. Model yang telah terbentuk akan diimplementasikan pada data test. Data test merupakan review atau kalimat yang belum diketahui skornya.