我想使用带有 text2vec 的预训练模型。我的理解是,这里的好处是这些模型已经在大量数据上进行了训练,例如Google News Model。
阅读 text2vec文档,看起来入门代码读取文本数据,然后用它训练模型:
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)
我的问题是,众所周知的 Google 预训练 word2vec 模型是否可以在这里使用,而无需依靠我自己的词汇或我自己的本地设备来训练模型?如果是,我怎么能读入它并在 r 中使用它?
我想我在这里误解或遗漏了什么?我可以使用 text2vec 来完成这项任务吗?