Ordembeddings

Introduktion till naturlig språkbehandling i R

Kasey Jones

Research Data Scientist

Problemet med ordräkning

Två påståenden:

  • Bob är den smartaste personen jag känner.
  • Bob är den mest briljanta personen jag känner.

Utan stoppord:

  • Bob smartaste person
  • Bob briljant person
Introduktion till naturlig språkbehandling i R

Ords betydelse

Ytterligare data:

  • De smartaste personerna ...
  • Han var den smartaste ...
  • Briljanta människor ...
  • Han var så briljant ...
Introduktion till naturlig språkbehandling i R

word2vec

  • representerar ord som ett stort vektorrum
  • fångar flera likheter mellan ord
  • ord med liknande betydelse ligger närmare varandra i rummet

Med en word2vec-representation grupperas liknande ord närmare varandra i ett flerdimensionellt vektorrum.

1 https://www.adityathakker.com/introduction-to-word2vec-how-it-works/
Introduktion till naturlig språkbehandling i R

Förbereda data

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

Tokenisera med h2o:

words <- h2o.tokenize(h2o_object$text_column, "\\\\W+")
words <- h2o.tolower(words)
words = words[is.na(words) || (!words %in% stop_words$word),]
Introduktion till naturlig språkbehandling i R

word2vec-modellering

word2vec_model <-
    h2o.word2vec(words, min_word_freq = 5, epochs = 5)
  • min_word_freq: tar bort ord som förekommer färre än 5 gånger
  • epochs: antal träningsiterationer
Introduktion till naturlig språkbehandling i R

Synonymer till ord

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
Introduktion till naturlig språkbehandling i R

Fler användningsområden

  • klassificeringsmodellering
  • sentimentanalys
  • ämnesmodellering
Introduktion till naturlig språkbehandling i R

Tillämpa word2vec

Introduktion till naturlig språkbehandling i R

Preparing Video For Download...