Word embeddings

Introduzione all'Elaborazione del Linguaggio Naturale in R

Kasey Jones

Research Data Scientist

Il limite dei conteggi di parole

Due frasi:

  • Bob è la persona più intelligente che conosco.
  • Bob è la persona più brillante che conosco.

Senza stop word:

  • Bob intelligente persona
  • Bob brillante persona
Introduzione all'Elaborazione del Linguaggio Naturale in R

Significati delle parole

Dati aggiuntivi:

  • Le persone più intelligenti ...
  • Era il più intelligente ...
  • Persone brillanti ...
  • Il suo era così brillante ...
Introduzione all'Elaborazione del Linguaggio Naturale in R

word2vec

  • rappresenta le parole in un ampio spazio vettoriale
  • cattura molte somiglianze tra parole
  • parole con significato simile sono più vicine nello spazio

Con una rappresentazione word2vec, parole simili sono raggruppate più vicino in uno spazio vettoriale multidimensionale.

1 https://www.adityathakker.com/introduction-to-word2vec-how-it-works/
Introduzione all'Elaborazione del Linguaggio Naturale in R

Preparare i dati

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

Tokenizza con h2o:

words <- h2o.tokenize(h2o_object$text_column, "\\\\W+")
words <- h2o.tolower(words)
words = words[is.na(words) || (!words %in% stop_words$word),]
Introduzione all'Elaborazione del Linguaggio Naturale in R

Modellazione word2vec

word2vec_model <-
    h2o.word2vec(words, min_word_freq = 5, epochs = 5)
  • min_word_freq: rimuove le parole usate meno di 5 volte
  • epochs: numero di iterazioni di training
Introduzione all'Elaborazione del Linguaggio Naturale in R

Sinonimi delle parole

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
Introduzione all'Elaborazione del Linguaggio Naturale in R

Altri usi

  • classificazione
  • analisi del sentiment
  • topic modeling
Introduzione all'Elaborazione del Linguaggio Naturale in R

Applica word2vec

Introduzione all'Elaborazione del Linguaggio Naturale in R

Preparing Video For Download...