Showing posts with label vektor kata. Show all posts
Showing posts with label vektor kata. Show all posts

Friday, March 29, 2019

Word Embedding dan Implementasinya dalam Python (Keras)

Tulisan ini merupakan implementasi dari tulisan sebelumnya, "Vektor dari Kata dan GloVe Embedding". Word embedding merupakan representasi dari kata. Dua teknik yang paling umum dipakai dalam word embedding telah dipaparkan sebelumnya: vektor kata dan GloVe embedding. Tulisan ini adalah implementasi dari teknik tersebut dengan menggunakan bahasa pemrograman Python dan modul Keras.

Misalkan kita punya kumpulan lima kata-kata baik dan enam kata-kata jelek seperti dibawah. Kata-kata baik kita labelkan dengan angka "1" sedangkan kata-kata jelek kita labelkan dengan angka "0".

import numpy as np
kata = ["Bagus!", "Ampuh!", "cantik!", "Mantap!", "Cakep!", 
        "Jelek", "Rusak", "Nol", "Omong kosong", "Busuk", "Tidak"]
label = np.array ([1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0])

Kemudian kata-kata di atas kita rubah menjadi integer
# merubah kata menjadi integer
from keras.preprocessing.text import one_hot
vocab_size = 50
encoded_docs = [one_hot(d, vocab_size) for d in kata]
print(encoded_docs)

Karena panjang maksimal dari elemen kata adalah dua buah (yakni kata "Omong kosong"), kita jadikan kata-kata lainnya memiliki panjang dua buah kata.

Tuesday, March 26, 2019

Vektor dari kata dan GloVe embedding

Mengolah kata pada pemrosesan bahasa alami (NLP, Natural Language Processing) dari suatu text mensyaratkan untuk mengubah kata tersebut menjadi nilai numerik karena komputer hanya bisa memproses angka. Permasalahannya: bagaimana merepresentasikan kata ke suatu nilai numerik? Disini dua pendekatan akan dibahas: vektor dari kata (word2vector, atau word2vec) dan GloVe embedding.
Vektor kata: Raja, ratu, pria, wantia

Vektor dari Kata
Apa itu vektor dari kata, atau singkatnya 'vektor kata'? Sederhananya: a vector of weights. Tugas dari vektor dari kata adalah untuk mencari representasi (numerik) dari kata-kata yang dicari. Contoh sederhana adalah sebagai berikut.
Sebuah data terdiri dari kata-kata:
data = {raja, ratu, pria, wanita, anak-anak}
maka kata "raja" dapat kita tuliskan:
raja = {1, 0,  0, 0, 0}
ratu = {0, 1, 0, 0, 0}
pria = {0, 0, 1, 0, 0}
wanita = {0, 0, 0, 1, 0}
anak-anak={0, 0, 0, 0, 1}

Teknik diatas disebut dengan one-hot encoding.

Related Posts Plugin for WordPress, Blogger...