Biểu diễn từ (word embeddings)

Nhập môn Xử lý Ngôn ngữ Tự nhiên với R

Kasey Jones

Research Data Scientist

Lỗi của đếm từ

Hai câu:

  • Bob là người thông minh nhất tôi biết.
  • Bob là người xuất sắc nhất tôi biết.

Bỏ stop words:

  • Bob thông minh nhất người
  • Bob xuất sắc người
Nhập môn Xử lý Ngôn ngữ Tự nhiên với R

Nghĩa của từ

Dữ liệu bổ sung:

  • The smartest people ...
  • He was the smartest ...
  • Brilliant people ...
  • His was so brilliant ...
Nhập môn Xử lý Ngôn ngữ Tự nhiên với R

word2vec

  • biểu diễn từ trong không gian vector lớn
  • nắm bắt nhiều quan hệ tương đồng giữa từ
  • từ có nghĩa gần nhau ở gần nhau trong không gian

Với word2vec, các từ tương tự được gom gần nhau trong không gian vector đa chiều.

1 https://www.adityathakker.com/introduction-to-word2vec-how-it-works/
Nhập môn Xử lý Ngôn ngữ Tự nhiên với R

Chuẩn bị dữ liệu

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

Tokenize bằng h2o:

words <- h2o.tokenize(h2o_object$text_column, "\\\\W+")
words <- h2o.tolower(words)
words = words[is.na(words) || (!words %in% stop_words$word),]
Nhập môn Xử lý Ngôn ngữ Tự nhiên với R

Mô hình hóa word2vec

word2vec_model <-
    h2o.word2vec(words, min_word_freq = 5, epochs = 5)
  • min_word_freq: loại bỏ từ xuất hiện < 5 lần
  • epochs: số vòng lặp huấn luyện
Nhập môn Xử lý Ngôn ngữ Tự nhiên với R

Từ đồng nghĩa

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
Nhập môn Xử lý Ngôn ngữ Tự nhiên với R

Ứng dụng khác

  • mô hình phân loại
  • phân tích cảm xúc
  • mô hình chủ đề
Nhập môn Xử lý Ngôn ngữ Tự nhiên với R

Áp dụng word2vec

Nhập môn Xử lý Ngôn ngữ Tự nhiên với R

Preparing Video For Download...