Osadzenia słów

Wprowadzenie do przetwarzania języka naturalnego w R

Kasey Jones

Research Data Scientist

Wada liczenia słów

Dwa zdania:

  • Bob jest najmądrzejszą osobą, jaką znam.
  • Bob jest najbłyskotliwszą osobą, jaką znam.

Bez stop słów:

  • Bob najmądrzejszy osoba
  • Bob błyskotliwy osoba
Wprowadzenie do przetwarzania języka naturalnego w R

Znaczenia słów

Dodatkowe dane:

  • Najmądrzejsi ludzie ...
  • Był najmądrzejszy ...
  • Błyskotliwi ludzie ...
  • Był tak błyskotliwy ...
Wprowadzenie do przetwarzania języka naturalnego w R

word2vec

  • reprezentuje słowa jako duką przestrzeń wektorową
  • uchwytuje wiele podobieństw między słowami
  • słowa o podobnym znaczeniu są bliżej siebie w przestrzeni

W reprezentacji word2vec podobne słowa są skupione bliżej siebie w wielowymiarowej przestrzeni wektorowej.

1 https://www.adityathakker.com/introduction-to-word2vec-how-it-works/
Wprowadzenie do przetwarzania języka naturalnego w R

Przygotowanie danych

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

Tokenizacja przy użyciu h2o:

words <- h2o.tokenize(h2o_object$text_column, "\\\\W+")
words <- h2o.tolower(words)
words = words[is.na(words) || (!words %in% stop_words$word),]
Wprowadzenie do przetwarzania języka naturalnego w R

Modelowanie word2vec

word2vec_model <-
    h2o.word2vec(words, min_word_freq = 5, epochs = 5)
  • min_word_freq: usuwa słowa występujące rzadziej niż 5 razy
  • epochs: liczba iteracji treningu
Wprowadzenie do przetwarzania języka naturalnego w R

Synonimy słów

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
Wprowadzenie do przetwarzania języka naturalnego w R

Dodatkowe zastosowania

  • modelowanie klasyfikacji
  • analiza sentymentu
  • modelowanie tematów
Wprowadzenie do przetwarzania języka naturalnego w R

Zastosowanie word2vec

Wprowadzenie do przetwarzania języka naturalnego w R

Preparing Video For Download...