Word embeddings

Pengantar Natural Language Processing di R

Kasey Jones

Research Data Scientist

Celah pada hitungan kata

Dua pernyataan:

  • Bob adalah orang paling pintar yang saya kenal.
  • Bob adalah orang paling brilian yang saya kenal.

Tanpa stopword:

  • Bob paling pintar orang
  • Bob paling brilian orang
Pengantar Natural Language Processing di R

Makna kata

Data tambahan:

  • Orang terpintar ...
  • Dia yang terpintar ...
  • Orang brilian ...
  • Miliknya sangat brilian ...
Pengantar Natural Language Processing di R

word2vec

  • merepresentasikan kata dalam ruang vektor berdimensi besar
  • menangkap banyak kemiripan antarkata
  • kata dengan makna serupa lebih berdekatan dalam ruang

Dengan representasi word2vec, kata serupa dikelompokkan lebih dekat dalam ruang vektor multidimensi.

1 https://www.adityathakker.com/introduction-to-word2vec-how-it-works/
Pengantar Natural Language Processing di R

Menyiapkan data

library(h2o)
h2o.init()
h2o_object = as.h2o(animal_farm)

Tokenisasi dengan h2o:

words <- h2o.tokenize(h2o_object$text_column, "\\\\W+")
words <- h2o.tolower(words)
words = words[is.na(words) || (!words %in% stop_words$word),]
Pengantar Natural Language Processing di R

Pemodelan word2vec

word2vec_model <-
    h2o.word2vec(words, min_word_freq = 5, epochs = 5)
  • min_word_freq: menghapus kata yang muncul < 5 kali
  • epochs: jumlah iterasi pelatihan
Pengantar Natural Language Processing di R

Sinonim kata

h2o.findSynonyms(w2v.model, "animal")
    synonym     score
1     drink 0.8209088
2       age 0.7952490
3   alcohol 0.7867004
4       act 0.7710537
5      hero 0.7658424
h2o.findSynonyms(w2v.model, "jones")
      synonym     score
1      battle 0.7996588
2  discovered 0.7944554
3     cowshed 0.7823287
4     enemies 0.7766532
5       yards 0.7679787
Pengantar Natural Language Processing di R

Kegunaan lain

  • pemodelan klasifikasi
  • analisis sentimen
  • pemodelan topik
Pengantar Natural Language Processing di R

Terapkan word2vec

Pengantar Natural Language Processing di R

Preparing Video For Download...