Использовать предварительно обученную модель с text2vec? - PullRequest
0 голосов
/ 28 мая 2018

Я хотел бы использовать предварительно обученную модель с text2vec.Насколько я понимаю, выгода заключается в том, что эти модели уже обучены на огромном объеме данных, например, Модель новостей Google .

Чтение text2vec Документация itпохоже, что код начала работы читает текстовые данные, а затем обучает модель им:

library(text2vec)
text8_file = "~/text8"
if (!file.exists(text8_file)) {
  download.file("http://mattmahoney.net/dc/text8.zip", "~/text8.zip")
  unzip ("~/text8.zip", files = "text8", exdir = "~/")
}
wiki = readLines(text8_file, n = 1, warn = FALSE)

Затем документация показывает, как создавать токены и словарь:

# Create iterator over tokens
tokens <- space_tokenizer(wiki)
# Create vocabulary. Terms will be unigrams (simple words).
it = itoken(tokens, progressbar = FALSE)
vocab <- create_vocabulary(it)
vocab <- prune_vocabulary(vocab, term_count_min = 5L)
# Use our filtered vocabulary
vectorizer <- vocab_vectorizer(vocab)
# use window of 5 for context words
tcm <- create_tcm(it, vectorizer, skip_grams_window = 5L)

Затем, это выглядит как шаг к модели:

glove = GlobalVectors$new(word_vectors_size = 50, vocabulary = vocab, x_max = 10)
glove$fit(tcm, n_iter = 20)

Мой вопрос в том, хорошо ли известна предварительно обученная модель word2vec от Google, которую можно использовать здесь без необходимости полагаться на мой собственный словарь или мое локальное устройствотренировать модель?Если да, как я мог прочитать это и использовать это в r?

Я думаю, что я неправильно понимаю или что-то здесь упускаю?Могу ли я использовать text2vec для этой задачи?

1 Ответ

0 голосов
/ 28 мая 2018

В настоящее время text2vec не предоставляет никаких функций для загрузки / манипулирования предварительно обученными вложениями слов.У меня есть проекты для добавления таких утилит в следующий выпуск.

Но с другой стороны, вы можете легко сделать это вручную, просто используя стандартные инструменты R.Например, вот как читать fasttext векторы:

con = url("https://s3-us-west-1.amazonaws.com/fasttext-vectors/word-vectors-v2/cc.af.300.vec.gz", "r")
con = gzcon(con)
wv = readLines(con, n = 10)

Тогда вам нужно просто разобрать его - strsplit и rbind ваши друзья.

...