Vektorové reprezentace slov

Úvod do zpracování přirozeného jazyka v R

Kasey Jones

Research Data Scientist

Nedostatek počítání slov

Dvě výpovědi:

  • Bob je nejchytřejší člověk, kterého znám.
  • Bob je nejbrilantnější člověk, kterého znám.

Bez stopwords:

  • Bob nejchytřejší člověk
  • Bob brilantnější člověk
Úvod do zpracování přirozeného jazyka v R

Významy slov

Doplňková data:

  • Nejchytřejší lidé ...
  • Byl nejchytřejší ...
  • Brilantní lidé ...
  • Byl tak brilantní ...
Úvod do zpracování přirozeného jazyka v R

word2vec

  • reprezentuje slova jako velký vektorový prostor
  • zachycuje různé podobnosti mezi slovy
  • slova podobného významu jsou ve vektorovém prostoru blíže k sobě

Ve word2vec reprezentaci jsou podobná slova shlukována blíže k sobě ve vícerozměrném vektorovém prostoru.

1 https://www.adityathakker.com/introduction-to-word2vec-how-it-works/
Úvod do zpracování přirozeného jazyka v R

Příprava dat

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

Tokenizace pomocí h2o:

words <- h2o.tokenize(h2o_object$text_column, "\\\\W+")
words <- h2o.tolower(words)
words = words[is.na(words) || (!words %in% stop_words$word),]
Úvod do zpracování přirozeného jazyka v R

Modelování word2vec

word2vec_model <-
    h2o.word2vec(words, min_word_freq = 5, epochs = 5)
  • min_word_freq: odstraní slova použitá méně než 5krát
  • epochs: počet trénovacích iterací
Úvod do zpracování přirozeného jazyka v R

Synonyma slov

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
Úvod do zpracování přirozeného jazyka v R

Další využití

  • klasifikační modelování
  • analýza sentimentu
  • tematické modelování
Úvod do zpracování přirozeného jazyka v R

Použití word2vec

Úvod do zpracování přirozeného jazyka v R

Preparing Video For Download...